Web

Cloudflare の DNSで、DMARCポリシーを追加する

投稿日:

1. DMARCポリシーについて

受信したメールが、本当に送信元メールアドレスのドメインから送られたのか?をチェックするための SPFDKIM という仕様があります。DMARCポリシーは、これらの検証結果に問題があった場合に、そのメールをどのように扱うか?を宣言するためのものです。DNSのTXTレコードに記述を行います。

宣言する項目はいくつかありますが、一番重要な p タグには、以下の3つの中からどれか1つを指定します。

pタグに指定する値とその意味
セットする値 説明
none
  • 何もしません。メールはそのまま受信できます。
  • DMARC ポリシーを導入した際は、まず none を指定します。
  • none は「何もしない」という意味です。
quarantine
  • メールは、迷惑メールに分類されます。
  • 受信メールに対する SPF, DKIM, DMARC の検証結果がある程度安定したら、quarantine を指定します。
  • quarantine は「隔離」という意味です。
reject
  • メールの受信が拒否されます。
  • 受信メールに対する SPF, DKIM, DMARC の検証結果が更に安定したら、reject を指定してもよいでしょう。
  • reject は「拒否」という意味です。

また、結果レポートを送ってもらうメールアドレスを宣言することもできます。

2. Cloudflare で DMARCポリシー用 TXTレコードを作成する

Cloudflare のDNS設定画面では、DMARC ポリシー用の TXTレコードを作成するよう促されます。

画面左の [DNS] からアクセスできます。

DNSレコードの上側に以下が表示されます(未設定の場合)。

Cloudflare の DNSページ

上記画面の「ウィザードを使用して、DMARC ポリシーを追加し」のリンクをクリックすると、以下の画面になります。ここで、DMARC ポリシーとなる TXTレコードを作成します。

DMARCポリシー用のTXTレコードを作成するページ
  • ポリシーのところので 3つの選択肢がありますが、これが先程説明した pタグになります。「何も表示しない = none」、「検疫 = quarantine」、「拒否 = reject」という関係です。

大抵の場合はそのままでよいはずですが、メールアドレスは変更の必要があるかもしれません。内容に問題がなければ、[送信]ボタンを押します。

上記画面の一番下に「レコードプレビュー」とありますが、ここにある内容のTXTレコードが追加されます。

Tips

もちろん、ウィザードを使わずにTXTレコードを作成しても構いません。

3. DMARCポリシー用 TXTレコードを確認する

作成したTXTレコードがちゃんとDNSサーバーに反映されているか確認するには、まずDNSのページに表示されているネームサーバーを見ておきます。

2つのネームサーバーが表示されています。

dig コマンドを使い、このどちらかに対してTXTレコードを問い合わせます。

※ ここでは、ネームサーバーは pola.ns.cloudflare.com、レポートの送信先アドレスは postmaster@example.com だとします。

$ dig -t txt _dmarc.example.com @pola.ns.cloudflare.com +noall +answer
_dmarc.example.com.       300     IN      TXT     "v=DMARC1; p=none; rua=mailto:postmaster@example.com"

設定した通りの内容が表示されていれば問題ありません。

4. その後

あとは、今後受信するメールのヘッダを見て、SPF, DKIM, DMARC が正常に PASS になっているかを確認していきます。PASS になっていなければ対応します。設定したメールアドレスに届くレポートも参考にします。

ある程度 PASS が安定してきたら、今回追加した TXTレコードの pタグの値を quarantine に変更します。そしてまたしばらく様子を見て、必要であれば pタグの値を reject に変更します。

Gmail で受信したメールの [メッセージのソースを表示] を選択して表示した画面の上部(抜粋)

5. 参考

📂-Web

執筆者:labo


comment

メールアドレスが公開されることはありません。

関連記事

PWA

Webブラウザと PWA は切り離して欲しい

マイクロソフトはWeb技術を用いてネイティブアプリケーションのように動作するProgressive Web Apps(PWA)を、WebブラウザのEdgeにとどまらず、Windows10のデスクトップ …

Web

CSP と CORS の違い

CSP と CORS の違いをざっと確認するためのページです。

Web

【HTML】picture 要素について

目次1. <picture> 要素とは?2. 仕様3. <source> 要素4. 利用例5. 実際に使用された画像がどれかを JavaScript で取得する6. 注意点7. …

Let's Encrypt

Let’s Encrypt: ホスト名毎に証明書を分けて発行する

ホスト名毎に証明書を分けて発行すると便利です。

Web

複数のGoogleアカウントのGmailページを一括で開く

複数のGmailアカウントのメールページを一括で開く方法について書いています。