📬 DMARCとは?SPFとDKIMを統合するメール認証の最終防衛線
🌟 はじめに
DMARC(Domain-based Message Authentication, Reporting, and Conformance)は、SPFやDKIMの結果を統合して、受信側に「どう処理すべきか」を指示できる仕組みです。SPFやDKIMだけでは防ぎきれなかったFromアドレス偽装問題を解決するために登場しました。本記事では、DMARCの背景、仕組み、導入による効果と限界について解説します。
📜 背景:なぜDMARCが生まれたのか
🔍 SPF・DKIMの課題
-
SPF → エンベロープFrom(Return-Path)しか検証せず、表示用From偽装は可能。
-
DKIM → 署名ドメイン(d=)を保証するだけで、表示用Fromとの一致までは見ない。
-
両者ともユーザーが目にするFromアドレスを守れない。
💡 DMARCの誕生
-
2012年にRFC7489で標準化。
-
Google, Yahoo!, Microsoftなど大手が採用し普及。
-
目的は「表示されるFromアドレスの正当性を検証」し、なりすましメール対策の決定打となった。
⚙️ DMARCの仕組み
🔑 基本の考え方
-
SPFとDKIMの結果を照合し、Fromヘッダに書かれたドメインと整合性(Alignment)があるか確認。
-
受信サーバーに「拒否」「隔離」「受け入れ」といったポリシーを指示できる。
動作の流れ
-
送信者ドメインのDNSにDMARCレコードを設定。
-
受信サーバーはSPF・DKIMを検証。
-
FromドメインとSPF/DKIMのドメインが一致するか確認。
-
DMARCポリシーに従ってメールを処理。
DMARCレコードの例
_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-report@example.com; ruf=mailto:dmarc-failure@example.com; adkim=s; aspf=s"
-
v=DMARC1
: バージョン -
p=reject
: ポリシー(none/quarantine/reject) -
rua=
: 集計レポート送付先 -
ruf=
: 詳細レポート送付先 -
adkim=s
: DKIMの厳格モード -
aspf=s
: SPFの厳格モード
🛡️ DMARCの効果
-
Fromアドレスの偽装防止:ユーザーが目にする差出人と、検証済みのドメインを一致させる。
-
受信サーバーへの明示的な指示:ポリシーにより「隔離」「拒否」を指定できる。
-
可視化(レポート機能):どのIPやサービスが自分のドメインを使って送信しているかを把握可能。
DMARCを導入した企業では、なりすましメールが大幅に減少し、ブランドの信頼性向上につながっています。
⚠️ DMARCの限界と課題
-
正規サービス利用時の失敗
外部サービス(ニュースレター配信など)が自社ドメインを使う場合、SPF/DKIMの整備が必要。 -
Forward(転送メール)問題
転送でSPFが失敗、MLで件名改変されDKIMが壊れる → DMARC不一致のリスク。 -
ポリシー設定の難しさ
p=reject
を強くしすぎると正規メールまで拒否される可能性。
【警告】導入初期は必ずp=none
から始め、レポートを解析して正規の送信経路を洗い出すのが安全です。
🧩 SPF・DKIM・DMARCの関係
-
SPF:送信サーバーの正当性(IPチェック)。
-
DKIM:改ざん防止と署名ドメイン認証。
-
DMARC:SPF/DKIMとFromを突き合わせ、最終判断+ポリシー+レポート。
SPFやDKIM単体では「From偽装対策」が不十分。DMARCを組み合わせることで、初めてエンドユーザーが目にするアドレスの真正性を担保できます。
✅ まとめ
-
DMARCは、SPF・DKIMの結果を統合し、Fromドメインと一致しているかを検証する仕組み。
-
受信サーバーに「none / quarantine / reject」のポリシーを指示できる。
-
レポート機能で、自社ドメインがどこで使われているか可視化できる。
-
SPFやDKIMの弱点を補う、メール認証の最終防衛線。