DMARC

DMARC を有効にする

DMARC を使用して不審なメールを管理する

ドメインの DNS レコードに DMARC(Domain-based Message Authentication, Reporting, and Conformance)ポリシーを追加して、DMARC を有効にします。ポリシーは DNS TXT レコードの形式で、ドメインでの不審なメールの処理方法を定義します。

DMARC ポリシーでは、不審なメールの処理方法として次の 3 つをサポートしています。

  • メールに対して何もせずに日次レポートに記録する。
  • 迷惑メールに分類する。Gmail では、受信者の迷惑メールフォルダに置かれます。
  • 受信サーバーにメールの拒否を指示する。これにより、送信者には SMTP 不達通知が返されます。

DMARC ポリシーの例

一部のポリシーと DNS TXT レコード内での表示例を以下に示します。

これらの例で使用する値の定義については、後述の DMARC TXT レコードの値をご覧ください。

DMARC 認証に失敗した場合の処理 TXT レコードの内容
DMARC 認証に失敗したメールに対して何もしない。日次レポートをメールで dmarc@solarmora.com に送信する。 v=DMARC1; p=none; rua=mailto:dmarc@solarmora.com

DMARC 認証に失敗したメールの 5% を受信者の迷惑メールフォルダに配置する。日次レポートをメールで dmarc@solarmora.com に送信する。

v=DMARC1; p=quarantine; pct=5; rua=mailto:dmarc@solarmora.com

DMARC 認証に失敗したメールの 100% を拒否する。日次レポートをメールで 2 つのアドレス(postmaster@solarmora.com と dmarc@solarmora.com)に送信する。

SMTP 不達通知を送信者に返す。

v=DMARC1; p=reject; rua=mailto:postmaster@solarmora.com, mailto:dmarc@solarmora.com

TXT レコードを追加して DMARC を有効にする

DMARC を有効にするには、ドメインの設定を DNS TXT レコードで更新します。

TXT レコードについて

TXT レコードは DNS レコードの一種で、ドメイン外部のソースによって使用されるテキスト情報を記述したものです。TXT レコードは、Google 管理コンソールではなくドメインホストのドメイン設定に追加します。

詳しくは、DNS TXT レコードの更新に関するヒントの「TXT レコードの操作」をご覧ください。

DMARC TXT レコードを追加する

ドメインの DMARC TXT レコードを追加する方法は次のとおりです。

  • 下記の手順内のサンプル ドメインは、実際のドメインに置き換えてください。
  • サンプルの値は、実際の DMARC ポリシーの値に置き換えてください。
  1. ドメイン プロバイダの管理コンソールにログインします。
  2. DNS レコードを更新するページに移動します。

    サブドメイン: ドメインホストがサブドメインの DNS レコードの更新をサポートしていない場合は、親ドメインにレコードを追加します。方法については、サブドメインの DNS レコードの更新をご覧ください。

  3. _dmarc の部分で DNS レコードを追加します。

    TXT レコード名: DNS ホスト名を指定する 1 つ目の欄に、次のように入力します。
    _dmarc.solarmora.com

    TXT レコードの値: 2 つ目の欄に、DMARC ポリシーを定義する値を次のように入力します。
    v=DMARC1; rua=mailto:dmarc-reports@solarmora.com; p=quarantine; pct=90; sp=none
     

  4. 変更を保存します。

DMARC TXT レコードの値

注: Gmail では、失敗(フォレンジック)レポートの送信に使用される DMARC ruf タグはサポートされていません。

タグ名 必須 説明と値

v

必須 プロトコルのバージョン。DMARC1 を指定します。

p

必須

不審なメールのドメインでの処理方法を定義します。

  • none: メールに対して何もせずに、日次レポートに不審なメールを記録する。
  • quarantine: メールを迷惑メールに分類して受信者の Gmail 迷惑メールフォルダに移動する。受信者は Gmail を使用して迷惑メールを確認できます。
  • reject: 受信サーバーにメールの拒否を指示します。この場合、受信サーバーは送信サーバーに不達通知を送信します。

pct

省略可

DMARC ポリシーを適用する不審なメールの割合を設定します。不審なメールとは、DMARC 認証に失敗したメールのことです。

1100 の整数を指定する必要があります。デフォルト値は 100 です。

rua

省略可

ドメインの DMARC アクティビティに関するレポートを受け取るメールアドレス。レポートの受信には、自分のメールアドレスを使用することも、新しいメールアドレスを作成することもできます。

メールアドレスの先頭には mailto: を付ける必要があります(例: mailto:dmarc-reports@solarmora.com)。

レポートを複数のメールアドレスに送信するには、各メールアドレスをカンマで区切ります。

sp

省略可

メインドメインのサブドメインからのメールに関するポリシーを設定します。サブドメインに異なる DMARC ポリシーを使用する場合は、このオプションを使用します。

  • none: メールに対して何もせずに、日次レポートに不審なメールを記録する。
  • quarantine: 迷惑メールに分類して保持し、処理する。
  • reject: 受信サーバーにメールの拒否を指示する。
adkim 省略可

DKIM の調整モードを設定して、メールの情報が DKIM 署名とどの程度一致する必要があるかを定義します。

  • s: 厳格。送信者のドメイン名は、DKIM メールヘッダー内の対応する d=name と完全に一致する必要があります。
  • r: 緩和(デフォルト)。部分一致を許可します。DKIM メールヘッダー内の d=domain の有効なサブドメインであればパスします。

aspf

省略可

SPF(ASPF)の調整モードを設定して、メールの情報が SPF 署名とどの程度一致する必要があるかを定義します。

  • s: 厳格。メールの from: ヘッダーは、SMTP MAIL FROM コマンドの domain.name と完全に一致する必要があります。
  • r: 緩和(デフォルト)。部分一致を許可します。domain.name の有効なサブドメインであればパスします。

 

TXT レコードの作成に関するヒント

DMARC レコードの作成について詳しくは、次の記事をご覧ください。

DMARC を段階的に導入する

ポリシー(p)オプションと割合(pct)オプションを併用して、DMARC を Gmail に徐々に導入します。

ポリシー(p)オプションを使用します。TXT レコードの p タグ値を使用して、ポリシー オプションの設定と変更を行います。まずは quarantine ポリシーを使用して不審なメールを調べます。次に、検疫されたメールと日次レポートの情報をもとにポリシーを段階的に変更します。

  1. p=none: メール トラフィックを監視して日次レポートで問題を探しますが、メールはすべて通過させます。なりすましメールや DKIM または SPF で署名されていないメールを確認します。
  2. p=quarantine: 日次レポートに記載されるメールのパターンがわかっている場合は、ポリシーを quarantine に変更します。引き続き日次レポートをチェックして、迷惑メールとして隔離(検疫)されたメールを確認します。
  3. p=reject: ドメインからのすべてのメールが署名されていることを確認したら、ポリシーを reject に変更して迷惑メールのフィルタリングを開始します。引き続き日次レポートをチェックし、迷惑メールが除外され、有効なメールが受信者に送信されていることを確認します。

割合(pct)オプションを使用します。割合オプションでは、DMARC ポリシーを適用する不審なメールの割合を指定します。不審なメールとは、DMARC 認証に失敗したメールのことです。デフォルトは 100%(すべての不審なメール)です。最初は少数のメールが対象となるように割合オプションを設定し、数日おきに割合を増やしながら DMARC ポリシーを調整してください。たとえば、まずは割合オプションを 20 に設定して、拒否または検疫されたメールの 20% をフィルタします。翌週には値を 20 から 50 に変更してメールの 50% をフィルタします。

導入例: 次の例では、p オプションと pct オプションを使用して DMARC ポリシーを段階的に導入する方法を示します。以下の値を使って、徐々に DMARC ポリシーを更新します。

  1. p=none pct=100
  2. p=quarantine pct=1
  3. p=quarantine pct=5
  4. p=quarantine pct=10
  5. p=quarantine pct=25
  6. p=quarantine pct=50
  7. p=quarantine pct=100
  8. p=reject pct=1
  9. p=reject pct=5
  10. p=reject pct=10
  11. p=reject pct=25
  12. p=reject pct=50
  13. p=reject pct=100

DMARC の日次レポート

DMARC の日次レポートは XML 形式で、メールフローに関する情報が記載されています。レポートの用途は次のとおりです。

  • 送信メールの送信元が認証されていることを確認する
  • ドメインのメールが正当なメールサーバーから送信されていることを確認する
  • 新しいサーバーがオンラインになった場合、または既存のサーバーに設定の問題が発生した場合に対応する
DMARC レポートの例

以下は、2 つの IP アドレスから送信されたメールの結果を示すレポートの一部です。1 つのメールは直接送信され、もう一方のメールは転送されました。どちらのメールも DMARC 認証に成功しています。


<record>
<row>
<source_ip>207.126.144.129</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
</policy_evaluated>
</row>
<identities>
<header_from>stefanomail.com</header_from>
</identities>
<auth_results>
<dkim>
<domain>stefanomail.com</domain>
<result>pass</result>
<human_result></human_result>
</dkim>
<spf>
<domain>stefanomail.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>
<record>
<row>
<source_ip>207.126.144.131</source_ip>
<count>1</count>
<policy_evaluated>
<disposition>none</disposition>
<reason>
<type>forwarded</type>
<comment></comment>
</reason>
</policy_evaluated>
</row>
<identities>
<header_from>stefanomail.com</header_from>
</identities>
<auth_results>
<dkim>
<domain>stefanomail.com</domain>
<result>pass</result>
<human_result></human_result>
</dkim>
<spf>
<domain>stefanomail.com</domain>
<result>pass</result>
</spf>
</auth_results>
</record>

この情報は役に立ちましたか?
改善できる点がありましたらお聞かせください。