Email Security

DMARC

Domain-based Message Authentication(ドメインベースのメッセージ認証)

Category: Email Security / Updated: 2026-05-26

📖

Overview

DMARC(Domain-based Message Authentication, Reporting & Conformance)とは、SPFとDKIMの認証結果を統合的に活用し、なりすましメールに対するドメイン所有者のポリシーを受信サーバーに伝達するためのメール認証プロトコルです。ドメイン所有者がDNSにDMARCレコードを公開することで、認証に失敗したメールの処理方法(何もしない・隔離・拒否)を受信側に指示できます。

DMARCの最大の特徴はアライメント(Alignment)の仕組みです。SPFやDKIMが個別に認証を行うのに対し、DMARCはそれらの認証結果がメールのヘッダーFromドメインと一致しているかどうかを追加で検証します。これにより、SPFやDKIMの認証をPassしながらもヘッダーFromを偽装するといった巧妙ななりすまし手法を防ぐことができます。

さらにDMARCはレポーティング機能を提供し、ドメインから送信されたメールの認証状況を可視化します。集約レポート(Aggregate Report)とフォレンジックレポート(Forensic Report)の2種類のレポートにより、ドメイン所有者は自社ドメインのメール認証状況を把握し、なりすましの試行を検出できます。

🔬

Details

DMARCポリシーレベル(none / quarantine / reject)

DMARCレコードのp=タグで、認証失敗時の処理ポリシーを指定します。3つのポリシーレベルが用意されています。

  • p=none(モニタリング):認証失敗時にメールの処理を変更せず、レポートのみを送信。導入初期の影響調査に使用
  • p=quarantine(隔離):認証失敗したメールをスパムフォルダに隔離。正規メールへの影響を最小限にしつつ保護を強化
  • p=reject(拒否):認証失敗したメールを完全に拒否。最も強力な保護であり、なりすましメールの配信を確実に阻止

また、sp=タグでサブドメインに対する個別のポリシーを設定でき、pct=タグでポリシーを適用するメールの割合を段階的に増やすことが可能です。

アライメント(Identifier Alignment)

アライメントとは、SPFまたはDKIMで認証されたドメインが、メールのヘッダーFrom(ユーザーに表示される送信元アドレス)のドメインと一致しているかを確認する仕組みです。DMARCはSPFまたはDKIMのいずれか(または両方)がPassし、かつアライメントが成立している場合にDMARC Passと判定します。

アライメントにはstrict(厳格)relaxed(緩和)の2つのモードがあります。strictモードではドメインの完全一致を要求し、relaxedモードでは組織ドメイン(Organizational Domain)レベルでの一致を許容します。例えば、relaxedモードではヘッダーFromが「example.com」で、DKIMのd=が「mail.example.com」でもアライメントが成立します。デフォルトはrelaxedモードです。

集約レポート(Aggregate Report / RUA)

集約レポートは、受信側メールサーバーがドメイン所有者に定期的(通常24時間ごと)に送信するXML形式のレポートです。DMARCレコードのrua=タグで受信用メールアドレスを指定します。

レポートには、送信元IPアドレス、メール通数、SPF/DKIMの認証結果、アライメントの成否、適用されたポリシーなどの統計情報が含まれます。このデータを分析することで、正規の送信元がすべてSPF/DKIMに対応しているか、なりすましの試行がどの程度発生しているかを把握し、ポリシーの段階的な強化に役立てることができます。

フォレンジックレポート(Forensic Report / RUF)

フォレンジックレポート(失敗レポート)は、個々の認証失敗メールの詳細情報を提供するレポートです。DMARCレコードのruf=タグで受信用メールアドレスを指定します。集約レポートが統計データを提供するのに対し、フォレンジックレポートは個別のメールに関する詳細情報(ヘッダー情報、認証結果の詳細など)を含みます。

ただし、プライバシーへの懸念から、フォレンジックレポートを送信するメールプロバイダーは限定的です。GmailやMicrosoft 365は集約レポートのみを送信し、フォレンジックレポートは送信しない方針をとっています。そのため、実運用では集約レポートを中心に監視を行うのが一般的です。

DMARCの段階的な導入手順

DMARCの導入は段階的に進めることが推奨されます。まず第1段階として、SPFとDKIMを正しく設定した上で、DMARCポリシーを「p=none」で公開し、集約レポートの受信を開始します。この段階では認証失敗のメールに対して何も処理を変更せず、レポートの分析に注力します。

第2段階では、レポート分析により正規の送信元がすべて認証に成功していることを確認した後、ポリシーを「p=quarantine; pct=10」のように低い割合から隔離に移行します。問題がなければpctを段階的に100%まで引き上げます。第3段階として、最終的にポリシーを「p=reject」に設定し、なりすましメールの配信を完全に阻止します。

DMARCレコードの構造

DMARCレコードはDNSのTXTレコードとして「_dmarc.ドメイン名」に公開されます。基本的な書式は「v=DMARC1; p=reject; rua=mailto:dmarc@example.com」のように記述します。主要なタグには、p(ポリシー)、sp(サブドメインポリシー)、rua(集約レポート送信先)、ruf(フォレンジックレポート送信先)、adkim(DKIMアライメントモード)、aspf(SPFアライメントモード)、pct(ポリシー適用率)、fo(レポート生成条件)などがあります。

🛡️

Security Measures

  • 01
    段階的なポリシー強化の実施:DMARCの導入はp=noneから開始し、集約レポートを分析して正規メールの認証状況を把握してください。問題がないことを確認した後、p=quarantine、最終的にp=rejectへ段階的にポリシーを強化しましょう。
  • 02
    集約レポートの定期的な分析:DMARCの集約レポートを定期的に分析し、認証失敗の傾向やなりすまし試行を監視してください。DMARC分析ツール(dmarcian、Valimail、Agariなど)を活用することで、XMLレポートの解析を効率化できます。
  • 03
    SPFとDKIMの両方でアライメントを確保:DMARCはSPFまたはDKIMのいずれかがPassしアライメントが成立すればPassとなりますが、信頼性を高めるために両方の認証とアライメントが成立する状態を目指してください。特にメール転送時のSPF失敗に備え、DKIMの設定は必須です。
  • 04
    サブドメインポリシーの設定:sp=タグを使用して、サブドメインに対しても適切なDMARCポリシーを設定してください。メール送信に使用しないサブドメインには「sp=reject」を設定し、なりすましに悪用されることを防ぎましょう。
  • 05
    外部メール配信サービスのアライメント対応:マーケティングメールやトランザクションメールに外部サービスを利用している場合、そのサービスがDKIMの自社ドメイン署名やカスタムReturn-PathによるSPFアライメントに対応しているか確認してください。
  • 06
    p=reject達成後の継続的な監視:DMARCポリシーをp=rejectに設定した後も、集約レポートの監視を継続してください。新しいメール配信経路の追加や設定変更により、正規メールが誤ってrejectされるリスクがあるため、継続的な運用管理が不可欠です。
⚠️

Incidents

📋 米国政府機関のDMARC導入義務化(BOD 18-01)

2017年、米国国土安全保障省(DHS)は拘束力のある運用指令BOD 18-01を発行し、すべての連邦政府機関に対して90日以内にDMARCの導入を義務化しました。これは、政府機関のドメインを騙るフィッシングメールが急増し、市民や企業への被害が深刻化したことを受けた措置でした。

指令の発行時点で、連邦政府の約1,300ドメインのうちDMARCを導入していたのはわずか20%程度でした。指令により2018年10月までにp=rejectの達成が求められ、政府全体でメール認証の大幅な強化が実現しました。この取り組みは他国の政府機関にも波及し、英国やオーストラリアでも同様の方針が採用されました。

📋 DMARC p=noneの長期放置によるフィッシング被害(2023年)

2023年、ある大手金融機関がDMARCを「p=none」のまま2年以上放置していたことが判明し、同社ドメインを騙るフィッシングメールが大量に配信される被害が発生しました。p=noneではなりすましメールに対する防御が一切行われないため、攻撃者はSPF/DKIM認証を通過しないメールでも、受信者の受信トレイに到達させることが可能でした。

調査の結果、同社は導入初期にp=noneで設定した後、レポート分析やポリシー強化の作業を行わずに放置していたことが判明しました。このフィッシング被害により数千人の顧客が偽のログインページに誘導され、認証情報が窃取されました。事件後、同社は3ヶ月間の集中対応でp=rejectへの移行を完了しました。

📋 Googleの大量送信者向けDMARC要件の施行(2024年)

2024年2月、GoogleはGmail宛に1日5,000通以上のメールを送信する事業者に対し、SPF/DKIMの設定に加えてDMARCの導入を必須とする新ルールを施行しました。Yahoo!も同様の要件を発表し、メール認証の業界標準化が大きく前進しました。

この要件に対応できなかった事業者のメールがGmailユーザーに届かなくなる事態が発生し、特にマーケティングメールやニュースレターを大量配信していた企業に大きな影響を与えました。この施行は、DMARC導入の重要性を世界中の組織に認識させる契機となり、DMARCの採用率が急速に向上しました。

🔗

Related Terms