DMARC レコード
DMARC レコードは、_dmarc.yourdomain.com に公開される DNS TXT レコードで、DMARC ポリシー(p=)、SPF/DKIM のアラインメントモード(aspf/adkim)、そして集約(rua)レポートとフォレンジック(ruf)レポートの送信先を設定します。
このガイドは、DMARC の完全ガイドの一部です。関連:DMARC ポリシー と DMARC の設定方法。
DMARC レコードは、_dmarc.yourdomain.com に公開される DNS TXT レコードで、認証に失敗したメッセージを受信メールサーバーがどう扱うかを伝えます。DMARC ポリシーを設定し、SPF と DKIM のアラインメントモードを定義し、集約レポートとフォレンジックレポートの送信先アドレスを指定します。
DMARC レコードは、既存の SPF と DKIM の設定を結び付け、あなたのドメインを名乗って誰がメールを送信しているかへの可視性を与えます。受信側はメッセージの評価時にこれを読み、失敗したメールをどう扱うかを決定し、あなたが指定したアドレスにレポートを送り返します。
DMARC レコードの見た目
DMARC レコードは、その値がセミコロン区切りのタグのリストである、単一の TXT レコードです。厳格で強制的な例を次に示します。
_dmarc.example.com TXT "v=DMARC1; p=reject; rua=mailto:dmarc@example.com; adkim=s; aspf=s; pct=100"
ホストは _dmarc.example.com、タイプは TXT、そして引用符で囲まれた文字列がポリシーそのものです。すべての DMARC レコードは v=DMARC1 で始まり、p= でポリシーを述べます。それ以外はすべて任意であり、レポートとアラインメントの動作を補完します。
DMARC レコードのタグ
各タグは、受信側があなたのメールをどう評価しレポートするかの 1 つの側面を制御します。必須なのは v と p だけで、残りは省略されると妥当なデフォルトにフォールバックします。
| タグ | 目的 | 備考 |
|---|---|---|
v | プロトコルバージョン | 必須。 v=DMARC1 でなければならず、最初に現れる必要がある |
p | ドメインのポリシー | 必須。 none、quarantine、または reject |
sp | サブドメインのポリシー | 省略すると p を継承する |
rua | 集約レポートのアドレス | mailto: URI;日次の XML レポートの送信先 |
ruf | フォレンジックレポートのアドレス | mailto: URI;失敗ごとのサンプル(対応されることはまれ) |
adkim | DKIM アラインメントモード | r relaxed(デフォルト)または s strict |
aspf | SPF アラインメントモード | r relaxed(デフォルト)または s strict |
pct | ポリシーが適用されるメールの割合 | 1〜100、デフォルトは 100 |
fo | フォレンジックレポートのオプション | サンプルが生成されるタイミングの 0、1、d、または s |
タグは v の後であれば任意の順序で現れることができ、未知のタグは準拠した受信側によって無視されます。
DMARC レコードが置かれる場所
DMARC レコードは常に、それが保護するドメインの _dmarc サブドメインに TXT レコードとして公開されます——example.com であれば _dmarc.example.com です。他のあらゆる TXT レコードを追加するのと同じように、DNS プロバイダーの管理画面で追加します:ホスト _dmarc、タイプ TXT、そして値としてポリシー文字列。
各ドメインおよびサブドメインは、独自の DMARC レコードを持つことができます。サブドメインに独自のレコードがない場合、受信側は組織ドメインのレコードにフォールバックし、その sp タグ(sp がなければ p)を適用します。ドメインは DMARC TXT レコードを 1 つだけ持つべきで、複数のレコードがあるとポリシーが無効になります。
アラインメント:aspf と adkim
アラインメントは、合格した SPF または DKIM のチェックを、受信者が実際に From ヘッダーで目にするドメインと結び付けるものです。aspf と adkim タグは、その一致がどれほど厳密でなければならないかを制御します。
- relaxed(
r) — デフォルト。認証されたドメインとFromドメインは、同じ組織ドメインを共有していればよいだけです。mail.example.comはexample.comと整合します。 - strict(
s) — ドメインは完全に一致しなければなりません。mail.example.comはexample.comと整合しません。
アラインメントこそが、DMARC が SPF や DKIM 単独より強力である理由です:メッセージは SPF に合格しても、その合格したドメインが見える送信者と整合しなければ DMARC に失敗することがあります。aspf が役立つためには、まず送信者を認可する有効で合格する SPF レコード が必要です。アラインメントがどのように強制の判断につながるかについては、DMARC ポリシー をご覧ください。
公開して確認する方法
DMARC レコードの公開は 1 回の DNS 変更ですが、安全に展開するには、監視のために p=none から始め、rua レポートを読み、正当なメールが整合してから初めて p=reject へと締めていくことを意味します。展開の全手順は DMARC の設定方法 で扱っています。
レコードが有効になったら、無料の DMARC チェッカー で正しく解決され解析されることを確認してください。これは _dmarc.yourdomain.com の TXT レコードを取得し、すべてのタグを検証し、v=DMARC1 の欠如、無効なポリシー値、不正な形式のレポートアドレスといったよくある間違いを、配信性を損なう前に指摘します。
よくある質問
DMARC レコードとは何ですか?
DMARC レコードは、_dmarc.yourdomain.com に公開される DNS TXT レコードで、SPF と DKIM の認証に失敗したメールを受信サーバーがどう扱うかを伝えます。強制ポリシーを定義し、SPF と DKIM のアラインメントモードを設定し、受信側があなたのドメインのメールに関する集約レポートとフォレンジックレポートを送るアドレスを列挙します。
DMARC レコードはどこに公開されますか?
DMARC レコードは、それが保護するドメインの _dmarc サブドメインに TXT レコードとして公開されます。したがって example.com の場合、ホストは _dmarc.example.com です。他のあらゆる TXT レコードとまったく同じように、DNS プロバイダーの管理画面で作成します。各ドメインは DMARC レコードを 1 つだけ持つべきで、そうでなければポリシーが無効になります。
rua タグは何をしますか?
rua タグは、DMARC 集約レポートを受け取るアドレスを、rua=mailto:dmarc@example.com のような mailto: URI として指定します。受信サーバーは、どの送信元があなたのドメインを名乗ってメールを送り、それが SPF、DKIM、アラインメントに合格したかを要約したこれらの日次 XML レポートを送ってきます。それらを読むことが、厳格なポリシーを強制する前に正当な送信者を見つける方法です。
aspf=s と aspf=r の違いは何ですか?
aspf=r は relaxed な SPF アラインメントで、デフォルトです。SPF で認証されたドメインは、From アドレスと同じ組織ドメインを共有していればよいだけです。aspf=s は strict なアラインメントで、2 つのドメインが完全に一致することを要求します。strict の方が安全ですが、サブドメインやサードパーティ送信者からのメールを壊すことがあるため、ほとんどのドメインは relaxed なアラインメントから始めます。