目次
1. はじめに
これまで SPF や DKIM について解説してきました。
しかし、実際の攻撃メールを見てみると「SPF は PASS だけど From アドレスが違う」「DKIM は通っているけど別ドメイン」など、単独の仕組みだけではなりすましを完全に防ぐことはできません。
そこで登場するのが DMARC(Domain-based Message Authentication, Reporting, and Conformance) です。
DMARC は SPF と DKIM を統合し、メールの From アドレスと認証結果の整合性をチェックすることで、ブランドなりすまし攻撃に対抗する仕組みを提供します。
2. DMARCの基本的な考え方
DMARC が行うのは大きく3つです。
- ポリシー適用 (Policy Enforcement)
- 「認証に失敗したらどう扱うべきか」を送信ドメインが宣言できる。
- 例: 迷惑メールフォルダに隔離する(quarantine)、完全拒否する(reject)など。
- アライメント (Alignment) チェック
- SPFやDKIMの認証結果のドメインと、Fromヘッダーのドメインが一致しているかを確認する。
- → これにより「From表示だけ正規ドメイン、認証は別ドメイン」の偽装を防ぐ。
- レポート機能 (Reporting)
- 各受信サーバが送信ドメインに対し「どのメールがPASS/FAILだったか」を定期的に報告する。
- ドメイン管理者はこれを分析し、なりすましの有無や正規システムの設定ミスを把握できる。
3. DMARCの仕組みとチェックフロー
(1) 送信者側(ドメイン管理者)
- DNSに DMARCレコード(TXT形式)を登録する。
例:
_dmarc.example.com. IN TXT "v=DMARC1; p=quarantine; rua=mailto:dmarc-report@example.com"
p=はポリシー(none / quarantine / reject)rua=はレポート送信先
(2) 受信者側(メールサーバ)
- メールを受け取る
- SPF と DKIM の検証を行う
- Fromヘッダーのドメインと、SPF/DKIMの認証に使われたドメインを比較(アライメント)
- 一致 → PASS
- 不一致 → FAIL
- DMARCレコードのポリシーに従って処理
- p=none → 通すがログを残す
- p=quarantine → 迷惑メールに隔離
- p=reject → 受信拒否
例(ヘッダー抜粋)
dmarc=fail reason="No valid SPF, No valid DKIM" header.from=xserver.ne.jp (policy=quarantine)
分解すると
- dmarc=fail
→ SPF と DKIM のどちらも有効ではなく、かつ From ドメインと整合していないため DMARC 認証は失敗 - header.from=xserver.ne.jp
→ 判定対象の From ドメイン - (policy=quarantine)
→ ドメインxserver.ne.jpの DNS に公開されている DMARC レコードで p=quarantine が指定されている
→ よって「このドメインを名乗るが認証失敗したメールは、隔離(迷惑メールフォルダ行き)にせよ」というポリシーが適用される
✅ 結論
このヘッダーから分かるのは:
- 送信元ドメイン(
xserver.ne.jp)の DMARC ポリシーは「quarantine」 - 認証失敗のため、受信サーバは「迷惑メールフォルダに振り分ける」動作をする
👉 DMARC レコードの p= 値には、以下の3種類があります:
p=none→ ログのみ、処理はしないp=quarantine→ 隔離(迷惑メール扱い)p=reject→ 受信拒否
(3) レポート送信
- 受信サーバは DMARCレコードに記載されたアドレス宛に、認証状況をまとめたXMLレポートを送信。
- ドメイン管理者はそれを集計し、自社ドメインの悪用状況を把握できる。
4. DMARCポリシーの段階的導入
いきなり p=reject を設定すると、正規システムの一部(例えばメルマガ配信サービス)が誤って拒否されるリスクがあります。
実務では以下の流れで段階的に導入するのが一般的です。
p=noneで運用 → レポートを収集して正規送信元を把握p=quarantineに強化 → 不正メールを迷惑フォルダへ誘導p=rejectで本格運用 → 不正メールを完全拒否
5. DMARCのメリットと限界
メリット
- ブランドなりすましを大幅に減らせる
- レポートで自社ドメインの不正利用状況を把握できる
- SPF/DKIMを統合して「表示Fromドメイン」と結びつけられる
限界
- 正規の委託サービス(メール配信業者)をすべて把握・登録する必要がある
- 転送メール(メーリングリストや転送サービス)で認証が崩れることがある
- レポートはXML形式で膨大 → 分析ツールが必要
6. DMARCチェックフロー図解
[受信サーバ]
│
▼
SPFチェック → PASS/FAIL
DKIMチェック → PASS/FAIL
│
▼
Fromヘッダのドメインと照合
│
├── アライメント一致 → DMARC=PASS
│
└── 不一致 → DMARC=FAIL
│
▼
ポリシー適用
p=none → 受信する(ログのみ)
p=quarantine → 隔離(迷惑メールフォルダ)
p=reject → 受信拒否
7. まとめ
DMARCは、SPFやDKIM単体では防ぎきれない 「Fromなりすまし」 を防ぐ強力な仕組みです。
特に金融機関やECサイトなどブランドを狙ったフィッシング攻撃に対しては必須の対策となっています。
ただし、導入には正規送信元の洗い出しと段階的なポリシー適用が必要です。

コメント