DMARCの設定方法を4手順で紹介!レコードの内容も解説

2023.06.08
不正アクセス・ログイン

DMARCは、「このメールは間違いなく私が送信したものです」と受信側に伝える送信ドメイン認証の技術です。

DMARCを利用すると、ドメイン管理者は自社ブランドの保護ができるようになります。

本記事では、

  1. DMARCレコードの記載内容
  2. DMARCの設定方法
  3. DMARCが正しく設定されているか確認する方法
  4. DMARC設定時に気をつけたいこと

について解説します。

なお、DMARCの仕組みやメリット・デメリットについては次の記事で詳しく解説しているので、ぜひ参考にしてください。

\迷惑メール対策に必要なDMARCについて分かりやすく解説/

DMARCレコードに書かれている内容とは

DMARCレコードは、DMARCポリシーをTXTレコードに記載したものです。

DMARCレコードには次のような内容が書かれています。

「p」
  • 送信元ドメイン認証に失敗したメールの受信処理ポリシーを宣言する
  • 設定できるのは次の3つ
    • 「none」…何も指定しない(処理方法を受信者側に任せる)

※「none」を指定した場合、送信者側は処理方法を指定しないが、DMARCの統計情報やエラー情報が得られるので設定する意味はある

  • 「quarantine」…隔離する(迷惑メールフォルダなど別の場所で受信する)
  • 「reject」…受信拒否(メールを受け取らずに破棄する)
「rua」
  • DMARCの集計レポートを受け取るアドレス
  • 失敗の詳細はわからない
「ruf」
  • DMARCの認証レポートを受け取るアドレス
  • 失敗の詳細がわかる

DMARCレコードをDNSサーバー(※)に登録すると、DMARCが使用できるようになります。

※ドメイン名とIPアドレスを紐づけて変換するシステムのこと

DMARCの設定方法を4つの手順で紹介

DMARC検証を実施するために必要な設定方法を、4つの手順で紹介します。

  1. SPFを設定する
  2. DKIMを設定する
  3. 電子署名を作成する
  4. DMARCレコードを設定する

手順を間違えてしまうとDMARCを正しく設定できません。

1つずつ確実に設定しましょう。

【手順1】SPFを設定する

DMARCを利用するための最初の手順として、SPFの設定をおこないます。

これは、送信側のDNSにSPFレコードを登録し公開することで設定できます。

SPFレコードの記載例は次のとおりです。

※引用:迷惑メール対策推進協議会

SPFレコードは、TXTファイルで登録しましょう。

【手順2】DKIMを設定する

SPFの設定ができたら、次にDKIMの設定をおこないます。

DKIMは公開鍵暗号方式を用いた認証方式のため、送信側メールサーバーで使用するための秘密鍵と公開鍵をペアで用意しなければなりません

鍵が用意できたら、DNSサーバーにメールサーバーの公開鍵の情報をTXTレコードで公開できるようにします。

※引用:迷惑メール対策推進協議会

このとき、「._domainkeyラベル」は固定の文字列になります。

また、1,024bitより短い長さの鍵は解読されるリスクが高いため、鍵の長さは必ず1,024bit以上にしましょう。

公開鍵の情報が登録できたら、DKIMレコードの記述をします。

※ドメイン名=example.exe、セレクタ名=sls

※引用:迷惑メール対策推進協議会

公開鍵のレコードは、各パラメーターを「タグ名=タグ値」のタグ形式でセミコロン(;)を用いて列挙します。

DKIMレコードの必須タグは公開鍵データの「p」のみですが、他のtxt rrを利用したDNSレコードと区別するためにもバージョン番号「v」は設定したほうが良いでしょう。

【手順3】電子署名を作成する

SPF・DKIMの設定ができたら、送信側でメール本体(ヘッダおよびメール本文の内容)を元に電子署名を作成します。

作成した電子署名の情報は「DKIM-Signature」ヘッダとして付与します。

そのあとに、送信側メールサーバーにて次の手順で電子署名を作成してDKIM-Signatureヘッダをメールに追加しましょう。

【DMARC設定のための電子署名作成手順】

  1. 電子署名を作成する対象のメールか確認
  2. 電子署名を作成する対象のヘッダを決定し、hタグに列挙
  3. メール本文の内容から1タグに指定した長さを取り出し、正規化処理を実施
  4. 対象となるヘッダ、正規化したメールの内容、これから追加するDKIM-Signatureヘッダの電子署名のデータを取り除いた部分を繋げたデータに対して、ハッシュを作成
  5. ハッシュに対する電子余命を作成し、DKIM-Signatureヘッダのbタグの値として挿入したものに、DKIM-Signature自体を対象のメールヘッダに追加

電子署名の対象とすべきメールヘッダは「From」ヘッダです。

また、次のメールヘッダもメール内容に関わる例として挙げられています。

※引用:迷惑メール対策推進協議会

一方で、次のヘッダは「複数存在する」「メール配信中に変更される可能性がある」ため、電子署名の対象から除外したほうが良いでしょう。

※引用:迷惑メール対策推進協議会

【手順4】DMARCレコードを設定する

SPF・DKIM・電子署名の設定がすべて終了したら、DMARCレコードを設定します。

DMARCレコードの設定手順は次のとおりです。

【DMARCレコードの設定手順】

  1. 先頭の「_dmarc.」の後にメールサーバーのドメインを入力
  2. 「p=」の部分に、認証に失敗した時のポリシーを設定
    1. 「none(何も指定しない)」
    2. 「quarantine(隔離)」
    3. 「reject(受信拒否)」
  3. 「rua=」の部分に、集約レポートを受信するメールアドレスを入力

この手順でDMARCレコードを設定すると、次のような記述になります。

※引用:迷惑メール対策推進協議会

DMARCレコードの設定まで終了すると、DMARCが使用できます。

\自社のなりすましサイトの検知・フィッシング対策に!/鉄壁PACKforフィッシング

DMARCが正しく設定されているか確認するには

DMARCが正しく設定されているかは、DMARCに対応しているメールプロバイダーにメールを送信することで確認できます。

【DMARCに対応しているプロバイダーの一例】

  1. Gmail
  2. Outlook
  3. Yahoo!メール

これらのメールアドレス宛にDMARCを設定したメールサーバーから送信し、SPF・DKIM・DMARCがすべて「pass」になっていれば、問題なくDMARCが設定できています。

DMARCが正しく設定されていることが確認できたら、認証に失敗した時のポリシーは「quarantine」「reject」のどちらかに設定するのがおすすめです。

メールの扱いを送信側があらかじめ宣言することで、より安全にメールのやりとりができるようになります。

DMARC設定時に気を付けたい3つのこと

DMARCは、正しく設定しないと認証失敗となります。

DMARCに対応しているメールプロバイダーにメールを送信し、認証が失敗する場合には次のことに気をつけて再度設定しましょう。

  1. ドメインアライメントを適合させる
  2. DKIMの署名を追加する
  3. DNSに送信元を登録する

それぞれ詳しく説明します。

【その1】ドメインアライメントを適合させる

DMARCの「ドメインアライメント」とは、ドメインの照合関係を表すものです。

SPFとDKIMの認証結果とドメインアライメントが適合すると、DMARCが成功します。

そのため、ドメインアライメントがFromヘッダに表示されているメールアドレスと異なる場合はDMARCが失敗してしまいます。

【ドメインアライメントが原因でDMARCが失敗する例】

      • 届いたメールのドメインが「example.com」
      • 届いたメールのFromヘッダのメールアドレスが「○○@example.com」
  1. SPFやDKIMは、可視化されているFromヘッダアドレスと非表示のReturn-PathヘッダおよびDKIM署名ヘッダに記載されているドメインを照合する。この場合はドメインが一致しないため、DMARCは失敗する。

DMARCが失敗する場合はドメインアライメントを確認し、正しく設定されていない場合は修正しましょう。

【その2】DKIMの署名を追加する

DMARCが失敗する事例として、ドメインにDKIM署名がされていないケースが非常に多く見られます。

DKIMの署名がない場合、メール交換サービスプロバイダー側でデフォルトのDKIM署名を割り当てるため署名が一致せず、DKIMとDMARCが失敗します。

ドメインアライメントが適合しているにもかかわらずDMARCが失敗する場合は、DKIMの署名が追加されているか確認してみると良いでしょう。

【その3】DNSに送信元を登録する

DMARCを設定したドメインをDNSに登録し忘れたことが原因で、DMARCが失敗する事例もよく見られます。

DMARCを設定した場合、ドメインのDNSに許可された送信ソースがすべてリストアップされていないと、リストにないドメインは認証に失敗してしまいます。

したがって、DMARCを設定したドメインはすべてDNSに登録しましょう。

DMARCを設定しても防げないなりすましメールがある

DMARCは、なりすましメール対策ができる送信ドメイン認証のひとつです。

ただし、DMARCを正しく設定していても、すべてのなりすましメールを防止できるわけではありません

一例として、以下に該当する場合はなりすましメールの被害に遭うリスクがあります。

【DMARCを設定していてもなりすましメールを防げない例】

  1. DMARC認証の誤判定
  2. メールサーバーそのものからなりすましていた場合(※)

※たとえば、yahooo.co.jpとなりすました送信元ドメインサーバーから送信し、SPFやDKIMをyahooo.co.jpのサーバーに要求した場合は認証が成功する

また、DMARCを設定するためにはSPF・DKIM・DMARCへの知識が必要になります。

上記を踏まえ、「DMARCの設定方法がわからない」「もっと簡単になりすまし対策を強化したい」といった方には、不正アクセス検知サービスの導入がおすすめです。

たとえば、かっこ株式会社の「O-MOTION」を導入すると次のようなメリットが得られます。

【不正アクセス検知サービス「O-MOTION」の導入メリット】

  • なりすましログインを検知した際に「2要素認証」「アクセス遮断」を組み合わせて、不正アクセスを防げる
  • IT知識が高くなくても、「O-MOTION」を利用することでなりすまし対策を強化できる
  • 明らかな不正に対して自動でブロックする機能があるため、なりすまし対策にかかる負担を削減できる

「O-MOTION」はWebサイトにコードを埋め込むだけで簡単に導入でき、これまで大手ネット証券や銀行をはじめとする多くの企業で導入されてきました。

なりすましメールや不正アクセス対策を強化し、お客様の信頼を高めたいと考えている方は、下記のバナーをクリックのうえお気軽にサービス資料をダウンロードしてください!

\自社のなりすましサイトの検知・フィッシング対策に!/鉄壁PACKforフィッシング詳細やお問合せはこちら

まとめ

DMARCとは、送信したメールが間違いなく送信者本人のものだと受信者側に伝える送信ドメイン認証技術です。

DMARCは「SPF」「DKIM」「DMARCレコード」を手順に従って設定することで、利用できるようになります。

DMARCレコードには、次のようなことが記述されています。

【DMARCレコードに記載されている内容】

  • P…送信元ドメイン認証に失敗したメールの受信処理ポリシーを宣言する
  • rua…DMARCの集計レポートを受け取るアドレス
  • ruf…DMARCの認証レポートを受け取るアドレス

なりすまし対策を強化するためにも、本記事の内容を参考にしてDMARCを設定してみてください。

なお、当サイトを運営しているかっこ株式会社ではDMARC運用を支援・フィッシング対策サービスを提供しています。

まずは、自社のフィッシング対策状況をセルフチェックすることをおすすめしています。以下の資料を活用してみてください。

\自社のなりすましサイトの検知・フィッシング対策に!/鉄壁PACKforフィッシング

関連記事