DMARCレポート解析
DMARC集計レポート(RUA)を貼り付けるか、受信側から届いた.xml、.gz、.zipをドロップします。解析はすべてブラウザ内で、ファイルはアップロードしません。
DMARCレポートでわかること
自社ドメインを名乗るメールを受け取った受信側は、毎日の集計レポートを返送できます。内容は送信IPの一覧、各IPの送信数、SPFとDKIMがFromドメインと一致したか、受信側がどう処理したかです。まとめて読めば、自社ドメインで送信している相手の完全な一覧になります。忘れていたサービスや、なりすましも含まれます。
問題は形式です。レポートは圧縮されたXMLで、受信側ごと、1日ごとに届きます。数ドメインで1週間分なら数百ファイルです。1つなら手で読めますが、すべてを追い続けるのは無理です。そこで監視プラットフォームや、parsedmarcのようなセルフホスト型の解析ツールの出番です。本ツールはその中間を担います。手元の1つのレポートを、送信データを誰にも渡さず、数秒で読めるようにします。
DMARC XMLレポートの見方:項目順
| 項目 | わかること | 使い方 |
|---|---|---|
| メタデータ | 報告元の組織、レポートID、UTCの期間から、作成者と対象期間がわかります。 | 期間を確認し、重複や遅れて届いたファイルの照合用にIDを控えます。 |
| 公開中のポリシー | 受信側が取得したDMARCポリシーが、アライメントのモードやサブドメインの扱いも含めて記録されます。 | 過去の結果が今のポリシーを反映していると考える前に、現在の公開レコードと比べます。 |
| 送信元IPと件数 | 各行は送信元ごとにメールをまとめ、期間中の件数を示します。 | 件数の多い不明な送信元や失敗している送信元を優先し、ポリシー変更の前に管理者を特定します。 |
| DMARCの一致 | 評価結果の行で、SPFとDKIMが一致したか、受信側がどう処理したかがわかります。 | DMARCは、一致したSPF合格か一致したDKIM合格のどちらかで合格します。 |
| 元の認証結果 | auth_resultsには、DMARCの判定の元となったSPFとDKIMのドメインとセレクタが入ります。 | これらで送信元を特定します。一致しないSPF合格はDMARC合格ではありません。 |
処理がポリシーと異なる理由
dispositionは、その行に対して受信側が記録した処理です。公開ポリシーと異なるのは、メールがDMARCに合格した、受信側が独自のポリシーを適用した、レポートが以前のポリシーの期間を含む、といった場合です。XMLは受信側の記録であり、メールのログでも、見慣れないIPが悪意あるものだという証拠でもありません。
1つのXMLから継続的な監視へ
1つのレポートで、送信元の調査やファイル構造の確認はできます。しかし正規の送信元をすべて洗い出したり、ポリシー強化の可否を判断したりするには足りません。ポリシーを変える前に、業務の送信サイクルを一巡分確認し、受信側をまたいで同じ送信元をまとめ、重要な経路は実際のメールヘッダーで確かめましょう。 DMARCチェック で、元の公開レコードを検証できます。
DMARCレポート関連の解説
メール認証ナレッジベース
DMARCレポート解析とは
受信メールサーバーが自社ドメインについて返送する集計レポート(RUA)を解析するツールです。レポートは圧縮されたXML(報告元ごと、1日ごと)で届き、自社を名乗って送信した各IP、その送信数、SPFとDKIMが一致したかを列挙します。解析ツールはこれを読みやすく整理します。自社ドメインで送信しているサービス、認証に失敗しているサービス、受信側の処理がわかります。
このDMARC解析ツールは無料?
はい。アカウント不要で、制限もありません。すべてブラウザ内で動き(アップロードもサーバーもなし)、計測するものがないためです。
DMARCレポートをオンラインツールに上げても安全?
DMARCレポートには、送信IPアドレス、送信量、代理で送信しているサービスが含まれます。競合や攻撃者の偵察に役立つ情報なので、渡す先には注意が必要です。本ツールはブラウザ内でファイルを解析し、アップロード、記録、保存は一切しません。実行中にブラウザのネットワークタブを開けば確認できます。多くのオンラインツールはファイルをアップロードするので、貼り付ける前に確認しましょう。
DMARCレポートを受け取るには?
レポートは、DMARCレコードのruaタグにあるアドレスに届きます(例:rua=mailto:dmarc@yourdomain.co.jp)。受信側は毎日、XMLを含む.zipか.gzの添付ファイルで送ります。ruaタグがなければレポートは届いていないので、まず追加します。誰も読まないメールボックスに届いているなら、そこを確認しましょう。
SPF失敗なのにDMARC合格の行があるのはなぜ?
DMARCに必要なのは、一致した識別子1つだけです。DKIMが合格し、そのドメインがFromドメインと一致すれば、SPFが失敗してもDMARCは合格です。転送メールでは普通のことです。転送は仕組み上SPFを壊しますが、DKIM署名は残ります。集計レポートで最も誤読されやすい点です。
見覚えのない送信元IPがあるのはなぜ?
よくある理由は3つです。忘れていた正規のサービス(請求システム、チケット管理ツール、マーケティング基盤など)が代理で送っている。転送サービスが中継している。または誰かがなりすましている。多くは件数で見分けられます。正規のサービスは安定して送り、なりすましは急増しがちです。正規の送信元をすべて特定して一致させるまでは、p=rejectへの移行で自社のメールを止める恐れがあります。
オープンソースのソフトでも解析できる?
はい。定番のオープンソースはparsedmarcです。Apache 2.0のセルフホスト型で、ElasticsearchやOpenSearchにデータを送り、KibanaやGrafanaのダッシュボードで見られます。履歴を自分で保持したく、基盤の運用も苦にならないなら適しています。本ツールは、手元のレポート1つを今すぐ読みたいときのためのものです。
対応するファイル形式は?
貼り付けた.xml、または.xml、.gz、.zipファイルです。gzipと1ファイルだけのZIP(受信側の実際の送付形式)はブラウザ内で展開します。珍しい形式で読めない場合は、.xmlを取り出して貼り付けます。
集計レポート(RUA)と失敗レポート(RUF)の違いは?
集計レポートは本ツールが読む毎日の統計で、送信元ごとの件数と認証結果だけを含み、本文は含みません。失敗レポートは、認証に失敗した個々のメールのサンプルで、rufのアドレスに届きます。ヘッダーや本文を含むことがあり、大手の受信側の多くはプライバシー上の理由で送りません。DMARC導入の土台になるのは集計レポートです。
表示された失敗にはどう対処する?
件数の多い順に対応します。失敗している送信元ごとに、自社のものかを判断します。自社のものならアライメントを修正します。SPFに追加するか、できれば一致するDKIM鍵で署名させます。自社のものでなく件数も多いなら、なりすましです。ポリシー強化を進める根拠になります。ポリシーをnoneからquarantine、rejectへ引き上げるのは、正規の送信元がすべて合格してからです。
集計レポートに出てくるタグと用語です。
- vバージョン
- バージョンタグはDMARCレコードに必須で、値は「DMARC1」に限られます。値が正しくない場合やタグがない場合、DMARCレコードは無効とみなされ、無視されます。
- pポリシー
- DMARCポリシータグは、DMARCに失敗したメールについて3つの値を取ります。noneは隔離・拒否を求めず、quarantineは不審なメールとしての扱いを、rejectは受信拒否を求めます。最終的な処理は受信側が決め、p=noneでも別の仕組みで振り分けや拒否をする場合があります。集計レポートは、ruaタグで別途要求します。
- rua集計レポートの送信先
- 集計レポートの送信先を「mailto:」形式のURIで指定します。受信側のメールボックスプロバイダーがこの宛先に集計レポートを送ります。必須ではありませんが、省略するとレポートは届きません。
- ruf失敗レポートの送信先
- 失敗(フォレンジック)レポートの送信先を「mailto:」形式のURIで指定します。失敗レポートを送る受信側プロバイダーはここへ届けますが、送らない事業者も多くあります。このタグがないと失敗レポートは届きません。
- spspポリシー
- サブドメインのポリシーは、特に指定がない限り、前述のメインドメインのポリシータグ(p=)を継承します。指定できる値はドメインのポリシーと同じく「none」「quarantine」「reject」です。ただし、現在の運用ではあまり使われていません。
- adkimDKIMアライメント
- DKIM署名のアライメント、つまりDKIMのドメインとヘッダーFromの送信元ドメインとの一致を指定するタグです。値は「r」(relaxed)と「s」(strict)です。既定の「r」はドメインの部分一致を許容し、「s」はドメインの完全一致を求めます。
- aspfSPFアライメント
- SPFアライメント、つまりSPFのドメイン(送信元)とヘッダーFromのドメインとの整合性を指定するタグです。値は「r」(relaxed)と「s」(strict)の2つです。既定は「r」で、ドメインの部分一致を許容します。一方「s」では、ドメインの完全一致が必要です。
- fo失敗レポートの条件
- 失敗レポートのオプションは「0」「1」「d」「s」です。既定の「0」は、SPFとDKIMのアライメントがどちらもパスしない場合にのみ失敗レポートを生成します。「1」は、SPFかDKIMのどちらかがパス以外の結果になった場合に使います。「d」はDKIMの検証失敗、「s」はSPF関連の問題についてレポートを生成します。失敗レポートを実際に受け取るには、「ruf」タグの指定が必要です。
- rf失敗レポートの形式
- 失敗レポートの形式は「afrf」と「iodef」の2つから選べます。
- pct適用割合(旧仕様)
- 旧来の適用割合タグは、DMARCに失敗したメールの一部にだけquarantineやrejectを適用するよう受信側に求めるものでした。受信側の実装がばらついたため、RFC 9989でpctは廃止されました。新しいレコードでは省略し、集計レポート、ポリシー全体の変更、送信量の少ないサブドメインで段階的に移行します。
- riレポート間隔
- レポート間隔は、XMLレポートを受け取る頻度を秒単位で指定します。標準値は86400秒で、1日1回のレポートにあたります。ただし、指定した間隔にかかわらず、インターネットサービスプロバイダー(ISP)は通常、独自のスケジュールでレポートを送ります。多くの場合、それも1日1回です。