顧客を守るメール管理者のためのDMARCポリシー引き上げガイド

第3回

自社ブランドをなりすましから守るDMARC ポリシー”reject”の運用

DMARCレポートの読み方と活用、トラブルシューティング

 DMARCポリシーを段階的に引き上げ、p=rejectでの運用を行うまでの手順を、本連載第2回で解説しました。p=none運用時やポリシーの引き上げ後も、引き続き集計レポート(Aggregate Report, RUA)を受け取ることができます。このレポートを読み解くことで、自社ドメインから送信されたメールがどのIPアドレスから送られ、SPFやDKIMにPASS(合格)したかFAIL(失敗)したか、といった情報を把握できます。

 今回は、レポートの内容と見方について詳細に説明します。

項目名意味内容
<report_metadata>レポートの基本情報誰が作成したレポートか(org_name)、どの期間の集計か(date_range)を確認
org_nameレポート送信元の組織名ISPやクラウドサービス事業者名が入る
date_rangeレポート対象期間<begin>と<end>がUnix時間(UTC基準)で指定される
report_idレポートID複数レポートがあるときの識別用
<policy_published>送信ドメインが公開していたDMARCレコード情報公開ポリシーと実際の結果を突き合わせる
domain対象ドメインこのドメインのメールが解析対象である
adkim / aspfDKIM/SPF整合性(r=relaxed / s=strict)サブドメインを許容するか、完全一致のみか
p適用ポリシー(none / quarantine / reject)その時点で設定されていた方針
spサブドメインに適用するポリシーサブドメインから送信する場合の扱い
<record>送信元IPごとの集計結果正規の送信経路がSPF/DKIMでpassしているか確認
row/source_ip送信元IPアドレス正規サービスや社内サーバーかを確認
row/count該当IPから送られたメール数量が多ければ主要送信元と判断できる
policy_evaluated/disposition受信側で適用された処理none / quarantine / reject
policy_evaluated/dkim / spfDMARC的な最終評価(pass / fail)Fromドメインとの整合性を加味した最終判定
identifiers/header_fromヘッダFromドメイン(送信ドメイン)送信者表示の基準になるドメイン
<auth_results>認証結果の詳細どのドメインがSPF/DKIMに使われたか確認
dkim/domain / resultDKIM署名ドメインと認証結果生の検証結果。Fromとの整合性はまだ見ていない
spf/domain / resultSPF対象ドメインと認証結果同上
DMARC集計レポート(XML形式)の一例(Googleより送信されたレポート)

 上図はDMARCレポートのXML例です。メール受信サービス(ここではGoogle)がレポート送信者(org_name)となり、対象ドメイン(<policy_published>内のdomain)や適用ポリシー(p)、集計期間(date_range)などのメタデータが示されています。

 その下の<record>セクションに、送信元IPアドレスごとの集計結果が記録されています。例では、送信元IPアドレス192.0.2.0から12通のメールが送信され、dkim=passかつspf=passであったことが分かります。<policy_evaluated>のdispositionはnoneとなっていますが、これは「受信側で特別な処置をしなかった」ことを意味します(このドメインはp=quarantineだったものの、認証がPASS(合格)だったため通常配信されたことを示す)。

 一方、もし認証がFAIL(不合格)だった場合は、dkimやspfの値がfailとなり、適用されたdispositionがポリシーに応じてquarantineやrejectと記録されます。各レコードにはメールのヘッダFromドメイン(<header_from>)も記載されており、どのドメインのメールについての結果か確認できます。

 レポートを読むポイントは、自社の正規メール送信が全てpassになっているか、逆にfailになっている送信元がどこかを把握することです。

 前回の手順で正規送信元の対応を済ませていれば、残るfailは基本的に不審な送信だけになっていくはずです。なお、レポートはXML形式で読みづらいため、必要に応じて専門のツールやサービス(DMARC解析ツール、Excelやスクリプトでの解析など)を使って可視化するとよいでしょう。レポート内容はドメイン管理者にとってDMARC運用を調整するための重要な情報であり、仮に正当なメールが誤って拒否された場合に備えて原因を分析する助けにもなります。

確認すべき重要ポイント

  • 対象期間(<date_range>)
    beginとendはUnix時間(UTC基準)で表記される。
  • 送信元IPと正規サービスの突合
    <record><row><source_ip>が自社や利用サービスの正規IPか確認。
    不明なIPはなりすましの可能性がある。
  • SPF/DKIMの認証と最終評価の違い
    <auth_results>:実際の認証検証結果(どのドメインでpass/failしたか)。
    <policy_evaluated>:DMARCルールに基づいた最終評価(Fromドメインとの整合性を加味)。
    正規メールが最終的にfailしていないかを重点的に確認する。

メールヘッダ上での認証結果の確認

 個々のメールについて、受信メールのヘッダ情報からSPF・DKIM・DMARCの結果を確認することも可能です。多くのメールクライアント(Gmailなど)では「メールのソースを表示(表示オプション内 Show originalなど)」機能があり、そこに受信サーバーが付加した認証結果を含むヘッダ全文が表示されます。ヘッダ内の「Authentication-Results」行に注目すると、spf=pass/dkim=pass/dmarc=passといった結果が記載されています。

Gmailのメールヘッダ例(SPF・DKIM・DMARC全て認証に合格したケース)

 上記ヘッダ例(GmailのAuthentication-Results)では、dkim=pass、spf=pass、に続けて、次のように記述されています。

dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=brightsconsulting.com

 これはヘッダFromドメインでDMARCにPASS(合格)したことを示します。言い換えれば、このメールはSPFおよびDKIMが正常に検証・整合し、受信側は送信ドメインが本物であると確認できたということです。

 もしDMARCがFAIL(不合格)であれば、同じ箇所にdmarc=failと表示され、受信側でそのメールが隔離あるいは拒否された可能性が高いと判断できます。

 このようにメールヘッダを直接調べる方法は、設定変更後の挙動をスポットチェックしたい場合に有用です。例えば新しくDKIMを有効化した後に自分宛てにテストメールを送り、ヘッダ上でDKIM=passになっているか確認するといった使い方ができます。ただし大量のメールの傾向をつかむには先述の集計レポートの方が便利なので、ヘッダ確認は個別検証・トラブルシューティング用と位置付けるとよいでしょう。

トラブルシューティングのヒント

 DMARC導入・ポリシー強化の過程で直面しがちな問題と対策をまとめます。

不明な送信元IPアドレスのレポート

 DMARCレポートを確認していると、自社で認識していないIPアドレスからのメール送信が報告される場合があります。こうした送信元は第三者による不正送信(スパム業者があなたのドメインを騙って送信)である可能性が高いですが、念のため社内の隠れた送信経路でないか確認します。

 逆引きDNSやIP情報データベースで所有者を調べ、心当たりがなければレポート上で無視して構いません(DMARCをrejectにすれば拒否されます)。もし調査の結果「実はある部署で使っていた外部サービスの通知機能だった」というようなケースが判明したら、そのサービスについてSPF/DKIM設定対応やドメイン利用停止など前述ステップに沿って対処してください。

DKIM認証の問題

 正規の送信元にもかかわらずDKIMがFAIL(不合格)になるケースがあります。まずDNSに公開した公開鍵の値が正しいか(タイプミスや欠落がないか)確認しましょう。また、送信側で使用しているDKIMセレクタ名が合っているかも重要です。異なるセレクタで署名していると受信側は検証できません。

 同様に、署名対象のドメインがFromドメインと異なるとDMARC上はFAIL(不合格)になります。通常aspf/adkimは「relaxed(緩やか)」が既定なのでサブドメイン程度の違いは許容されますが、まったく無関係なドメインで署名していると整合しません。その場合は送信サービス側の設定で署名ドメインを自社ドメインに揃える必要があります。どうしてもDKIM署名が使えないサービスであれば、前述の通りそのサービスから自社ドメイン送信しない対応も検討します。

 なお、メール本文に改変が加わるとDKIM署名が無効になる場合もあります(メーリングリストでフッターが付加される、など)が、これに関しては受信側のARCサポートなど別の話になるため、ここでは割愛します。

企業ロゴ付きメール(BIMI)が表示されない

 DMARCをrejectまで設定し企業ロゴ所有証明書(VMC)も取得したのに、Gmailで企業ロゴ付きメール(BIMI)が表示されない場合があります。考えられる原因の一つはサブドメインポリシー(spタグ)や適用率(pct)の設定不備です。

【事例】GMOインターネットグループ約50社内の複数社において、DMARCレコードにsp=none(サブドメインにはポリシー適用しない)と設定していたところ、Gmailで企業ロゴ付きメール(BIMI)が表示されない事象が確認されました。この問題は、sp=noneを削除することで解消しています。

 BIMI GroupのImplementation Guideでは、送信ドメインおよびサブドメインの両方について、次の条件を満たす必要があると明記されています。

  • DMARC ポリシーがp=quarantineまたはp=reject
  • サブドメインポリシーがsp=quarantineまたはsp=reject
  • 適用率(pct)が100%(pct=100)であること

 つまり、sp=noneのような緩和ポリシーやpct<100の設定は、いずれもBIMIロゴ表示の要件を満たしません。BIMIロゴ表示のためには、spタグやpctタグを指定せず、DMARCの基本ポリシー(pタグ)のみで運用することが推奨されます。なお、spタグやpctタグをDMARCレコードで指定しない場合、spにはpと同様のポリシーが適用され、pctは100として扱われます。BIMI表示を目的とする場合も、このデフォルト動作が最も適切です。

まとめ:安全な導入のための推奨手順とスケジュール

 DMARC導入とポリシー強化は、適切に段階を踏めばリスクなく実施可能です。

 GMOブランドセキュリティの社内導入およびGMOインターネットグループ約50社への展開支援の経験からも、慎重なアプローチにより正規メールが拒否されるトラブルは発生しませんでした。

 特にp=noneでの監視期間を設けることで、事前に問題を洗い出し設定を修正できたことが成功のポイントです。

 推奨スケジュール
企業規模にもよりますが、DMARCポリシー”none”で最低2~4週間程度はレポートを収集・分析する段階を設けることをおすすめします。

 その後、問題が解消したら”quarantine”で数週間運用テストを行い、最終的に”reject”へ移行します。

 例えば中小規模のドメインであれば、概ね1~2カ月内にrejectまで到達できるケースもあります。一方、大規模組織では関係部署との調整も必要なため3~6カ月程度かけ段階的に進める方が安心でしょう。
重要なのは、レポートを確認しながら慎重に進める姿勢です。レポート監視により、社内ヒアリングだけでは把握できない送信元も発見できるため、このプロセスを省略することはお勧めしません。

連載のまとめ

 最後に、DMARC導入を完了しp=rejectまで引き上げた暁には、ぜひ企業ロゴ付きメール(BIMI)表示などのメリットを活用しましょう。受信者の受け取るメールに自社の認証済みブランドロゴが表示されることで、メールの開封率向上やフィッシング対策の周知にもつながります。DMARCの段階的導入は、メールセキュリティ強化とブランド価値向上を両立する「リスクゼロの手段」です。

 自社ドメインを守るため、本ガイドの手順に沿ってDMARCポリシーの引き上げをぜひ検討してください。

下岡 正幸(GMOブランドセキュリティ株式会社 CISO)

2006年1月、前身の株式会社ブライツコンサルティングに入社。社内業務管理システムや自社開発の知財管理システム「BRANTECT」をはじめ、社内の基幹システムの開発・運用に一貫して従事。併せて、ITインフラの構築・管理全般を担い、技術面から事業基盤を支える。
2019年12月、CISO(最高情報セキュリティ責任者)に就任。長年の開発・運用経験で培った知見を活かし、全社の情報セキュリティ戦略の策定と実行を統括。2021年12月にはISMS(情報セキュリティマネジメントシステム)の国際規格「ISO/IEC 27001」認証の取得を主導した。また、WebTrust for CA監査において認証局内部監査責任者を務めるなど、情報セキュリティ分野でリーダーシップを発揮している。