技術解説 · 出典付きの回答
DMARC集計レポートの読み方
DMARC集計レポートを読むには、受信側メールサーバーから送られてくるXMLファイルを解凍し、recordタグを解析して、どのIPアドレスが自分のドメインの代わりにメールを送っているか、またそれらがSPFとDKIMのアライメントに合格しているかを確認します。これらのレポートは生のXML形式であるため、ほとんどの開発者はパーサーや、SendHQの無料ツール(https://sendhq.cc/tools)のようなツールを使ってデータを可視化しています。
XMLの構造を理解する
DMARC集計レポートはXMLスキーマを使っています。レポートには、送信元IPアドレスごとにrecordセクションがあります。各recordには、送信元IP、そのIPから送られたメッセージの数、一連のポリシー評価が含まれます。ポリシー評価のセクションには、メッセージがSPFとDKIMのチェックに合格したか失敗したか、そしてその結果がヘッダーのFromドメインとアラインしていたかどうかが詳しく記載されています。
SPFとDKIMのアライメントを分析する
レポート内のpassという結果は認証チェックに成功したことを意味しますが、DMARCで重要なのはアライメントです。SPFアライメントは、Return-PathのドメインがFromヘッダーのドメインと一致する場合に成立します。DKIMアライメントは、DKIM署名の d= タグがFromヘッダーのドメインと一致する場合に成立します。両方が失敗すると、個々のチェック結果にかかわらず、そのメッセージはDMARCに失敗します。
承認されていない送信者を特定する
レポートに見覚えのないIPアドレスがないか確認します。あるIPがSPFとDKIMの失敗を伴う大量のメールを送っている場合、承認されていない送信者か、設定に誤りのあるサードパーティのサービスである可能性が高いです。これらのIPを既知のインフラやベンダーの一覧と照らし合わせ、SPFレコードを更新する必要があるか、正当なパートナーにDKIM鍵を提供する必要があるかを判断してください。
dispositionの解釈
dispositionタグは、現在のDMARCポリシーに基づいて受信側サーバーがそのメールをどう処理したかを示します。ポリシーが p=none の場合、dispositionは通常noneで、失敗があってもメールは配信されたことを意味します。p=quarantine の場合、メールは迷惑メールフォルダに送られた可能性があります。p=reject の場合、メールは完全にブロックされました。これらの指標を使って、noneからrejectへ安全に移行してください。
よく寄せられる質問
DMARCレポートが圧縮されたXMLファイルで送られてくるのはなぜですか?
XMLは機械で処理できる構造化データを表現でき、圧縮によって大量の集計データを毎日送るのに必要な帯域幅を削減できるためです。
これらのレポートはどれくらいの頻度で生成されますか?
ほとんどの受信側メールサーバーは24時間ごとに1回集計レポートを送りますが、タイミングはプロバイダーによって異なります。
集計レポートとフォレンジックレポートの違いは何ですか?
集計レポートはメールストリームに関する概要統計を提供し、フォレンジックレポートは失敗した特定のメッセージの詳細な例を提供します。
一次情報源
- RFC 7489:ドメインベースのメッセージ認証・レポート・適合(DMARC) — RFC Editor
- RFC 7208:送信者ポリシーフレームワーク(SPF) — RFC Editor
- RFC 6376:DomainKeys Identified Mail(DKIM)の仕様 — RFC Editor