DMARCとは?
DMARC(Domain-based Message Authentication, Reporting & Conformance)は、SPFまたはDKIMのチェックが失敗したときに、受信側メールサーバーがどう対応すべきかを指示するメール認証プロトコルです。 DMARCがないと、受信側はメールが認証に失敗したことは分かっても、それを拒否すべきか、隔離すべきか、通過させるべきかについての指示がありません。DMARCはそのギャップを埋めます。
RFC 7489で定義され、Google、Yahoo、そしてPCI DSS v4.0が大量送信者や顧客向けドメインに要求しています。
DMARCを要求しているのは誰か?
DMARCは、任意のベストプラクティスから、世界中の政府、金融、医療、重要インフラの各分野における必須のコンプライアンス要件へと変わりました。
政府の義務
すべての連邦行政機関のドメインはp=rejectでDMARCを実装しなければならない
メール認証の基準を拡張し、Microsoft/Google/Yahooの送信者要件に整合させる
中央政府のドメインはDMARC、SPF、DKIM、TLSを実装しなければならない。休眠ドメインを含むすべてのドメインにDMARCレコードが必要
オーストラリア信号総局はDMARCを重要と位置付けており、既存の対策に関わらず今すぐ実装するよう求めている
連邦省庁はDMARC、SPF、DKIMを実装しなければならない。最低でもp=noneから始め、段階的にp=rejectへ進める
業界標準
2025年3月31日より、決済カードデータを扱うすべての組織にDMARCを含むフィッシング対策の仕組みが要求される
目標ポリシーとしてp=rejectのDMARCを推奨。メール非送信ドメインを含むすべてのドメインでレコードを公開する
有効なドメインからのなりすましや改ざんされたメールの可能性を下げるためにDMARCを実装する
メールセキュリティ対策を含む堅牢なサイバーセキュリティ対策を要求。DMARCはGDPRやPCI DSSと並んでNIS2コンプライアンスを強化する
情報セキュリティマネジメント標準。DMARCの実装は通信セキュリティに関する附属書Aの管理策を支援する
メールプロバイダーの要件
2024年2月以降、大量送信者(Gmail宛に1日5,000通以上)は最低でもp=noneでDMARCを設定しなければならない
2024年2月以降、大量送信者はSPFおよびDKIMとともにDMARCで認証しなければならない
2025年5月5日より、Microsoftは大量送信者からOutlook.com、Hotmail、Live.com宛のDMARC失敗メールを拒否する
AppleはiCloud MailドメインでDMARCポリシーを適用し、p=rejectで認証に失敗したメッセージを拒否する
BEC請求の60%は適用されていないドメインが原因。保険会社は引受条件としてSPF、DKIM、DMARCをますます求めている
メールは送信者の検証なしに作られた
SMTPプロトコルには、「From」欄の人物が実際にそのメッセージを送ったかどうかを検証する仕組みが組み込まれていません。誰でも誰かになりすましてメールを送れてしまいます。DMARCはこれを修正します。
DMARCなし
DMARCあり(p=reject)
すべてのメールに、3つのステップ
DMARCはSPFとDKIMの上に、ポリシーの適用とレポーティングを加えます。DMARCで保護されたメールが受信サーバーに届いたときに何が起こるのかを見てみましょう。
送信者がDMARCレコードを公開する
ドメイン所有者がDNSの_dmarc.domain.comにTXTレコードを追加します。このレコードにはポリシー(none、quarantine、reject)とレポート用アドレスが含まれます。
受信側がSPF+DKIMのアライメントを確認する
メールが届くと、受信サーバーはSPFまたはDKIMが合格しているか、かつ認証されたドメインがFromヘッダーのドメインと整合しているかを確認します。このアライメントチェックこそが、DMARCをSPFやDKIM単独と異なるものにしています。
ポリシーを適用し、レポートを送信する
アライメントが失敗すると、受信側は公開されたポリシーを適用します。通常どおり配信(none)、迷惑メールへ振り分け(quarantine)、完全に拒否(reject)のいずれかです。いずれの場合も、受信側はドメイン所有者に集計レポートを送り返します。
DMARCレコードの中身
DMARCレコードは_dmarc.yourdomain.comに公開されるDNS TXTレコードです。各タグが特定の動作を制御します。
v=DMARC1; p=reject; rua=mailto:dmarc@example.com; ruf=mailto:forensic@example.com; adkim=s; aspf=r; pct=100; fo=1 v=DMARC1 必須 プロトコルのバージョン識別子。すべてのDMARCレコードで最初のタグである必要があります。
v=DMARC1 p= 必須 ドメインに対するポリシー:none(監視)、quarantine(迷惑メールフォルダ)、reject(ブロック)。
p=reject rua= 集計レポートを受け取るアドレス。受信側が毎日送信する認証結果のXML要約です。
rua=mailto:dmarc@example.com ruf= フォレンジックレポートを受け取るアドレス。なりすまし試行を調査するためのメッセージごとの失敗詳細です。
ruf=mailto:forensic@example.com sp= サブドメインポリシー。サブドメインに対してメインポリシーを上書きします。設定しない場合はp=の値がデフォルトになります。
sp=reject adkim= DKIMアライメントモード:strict(s)はドメインの完全一致を要求し、relaxed(r)はサブドメインのアライメントを許可します。
adkim=r aspf= SPFアライメントモード:strict(s)はドメインの完全一致を要求し、relaxed(r)はサブドメインのアライメントを許可します。
aspf=r pct= ポリシーを適用する失敗メッセージの割合。段階的な展開に使用します(例:pct=10から始めて増やす)。
pct=100 fo= フォレンジックレポートのオプション。フォレンジックレポートを生成するタイミングを制御します(0=両方失敗、1=いずれかが失敗、d=DKIM失敗、s=SPF失敗)。
fo=1 p=none 受信側は失敗したメッセージに対して何のアクションも取りません。レポートは引き続き送信され、誰があなたのドメインからメールを送信しているかを可視化できます。
p=quarantine 失敗したメッセージは迷惑メールフォルダに振り分けられます。受信者はまだ見つけることができますが、疑わしいものとしてフラグが立てられます。
p=reject 失敗したメッセージはSMTPレベルで拒否されます。受信者が目にすることは決してありません。これが完全な適用です。
SPF、DKIM、DMARCは
どのように連携するか
各プロトコルはメール認証というパズルの異なる部分を解決します。SPFは送信サーバーを許可します。DKIMはメッセージの完全性を保証します。DMARCはアライメントとポリシーによってそれらを結び付けます。
-
SPF送信サーバーのIPがドメインのDNSレコードによって許可されていることを検証します。エンベロープ送信者(Return-Path)をチェックします。
SPFレコードをチェック → -
DKIMメールヘッダーに暗号署名を付与します。受信サーバーはDNS内の公開鍵に対して署名を検証します。
DKIMレコードをチェック → -
DMARCSPFまたはDKIMのいずれかが合格し、かつFromヘッダーのドメインと整合することを要求します。失敗に対するポリシーを公開し、レポーティングを有効にします。
DMARCレコードをチェック →
DMARCの設定方法
DMARCの導入は段階的なアプローチをとります。監視なしに適用へ急ぐと、正当なメールがブロックされてしまいます。最初のレコードから完全なp=rejectまで9〜18か月を見込んでください。
SPFを設定する
あなたのドメインのメール送信を許可されているすべてのIPアドレスとサービスを列挙したSPF TXTレコードを公開します。DNSルックアップは10回以内に抑えてください。
SPFレコードをチェックする →DKIMを設定する
メールサーバー、Google Workspace、Microsoft 365、マーケティングプラットフォームなど、すべての送信元でDKIM署名を有効にし、送信メッセージに暗号署名を付与します。
DKIMセレクタを検出する →DMARCをp=noneで公開する
_dmarc.yourdomain.comにp=noneで始まるDMARC TXTレコードを追加し、集計レポートを受け取るrua=アドレスを設定します。
DMARCレコードを検証する →90日以上レポートを監視する
集計レポートを分析してすべての送信元を特定し、認証の失敗を修正し、すべての正当なメールがSPFまたはDKIMのアライメントに合格することを確認します。
DMARC Reportで監視を始める →quarantineからrejectへと適用する
p=quarantineに移行してさらに90日以上監視し、その後p=rejectに進みます。段階的な展開にはpct=を使用します。全行程には9〜18か月かかります。
DMARCポリシーについて学ぶ →よくあるご質問
DMARCを簡単に言うと何ですか?
DMARCは、メールが認証チェックに失敗したときに受信側メールサーバーがどう対応すべきかを、ドメイン所有者が指示できるメールセキュリティプロトコルです。攻撃者があなたのドメインから送信されたように見えるメールを送るのを防ぎ、ブランドと受信者をフィッシングから保護します。
DMARCの導入にはどれくらいかかりますか?
p=noneでDMARCレコードを公開するのは数分で済みます。しかし、p=rejectでの完全な適用に達するには通常9〜18か月かかります。各フェーズ(none、quarantine、reject)では、すべての正当な送信元を特定して修正するために、少なくとも90日間の監視が必要です。
DMARCはすべてのフィッシングを止めますか?
DMARCはドメインの直接的ななりすましを止めます。攻撃者はあなたの正確なドメインを使って認証を通過するメールを送信できません。ただし、似た名前のドメインを使った攻撃(例:examp1e.com)や無関係なドメインからのフィッシングは防げません。DMARCは多層防御によるメールセキュリティ戦略の一つの層です。
SPF、DKIM、DMARCの違いは何ですか?
SPFは送信サーバーがドメイン所有者によって許可されていることを検証します。DKIMはメッセージが転送中に改ざんされていないことを証明する暗号署名を付与します。DMARCはこれらを結び付け、SPFまたはDKIMのいずれかが合格し、かつFromヘッダーのドメインと整合することを要求し、認証が失敗したときに受信側がどう対応するかを指示します。
DMARCは必須ですか?
はい。DMARCは複数のフレームワークの下で必須です。米国連邦機関はCISA BOD 18-01の下でp=rejectを実装しなければなりません。PCI DSS v4.0では2025年3月からDMARCが要求されています。Google、Yahoo、Microsoftは大量送信者にDMARCを要求しています。英国のNCSC、オーストラリアのASD、カナダのCCCSはいずれも政府ドメインにDMARCを義務付けています。EUのNIS2は重要インフラにおけるDMARCの必要性を強化しています。また、多くのサイバー保険では、引受条件としてSPF、DKIM、DMARCの適用を求めるようになっています。
DMARC集計レポートとは何ですか?
集計レポート(RUA)は、受信側メールサーバーが毎日送信するXMLファイルです。あなたのドメインを名乗るすべてのメッセージの認証結果を要約し、どの送信元がSPFとDKIMに合格または失敗したか、どのポリシーが適用されたかを示します。DMARC ReportはこれらのXMLファイルをビジュアルダッシュボードに変換します。
DMARCによってメールの配信が止まることはありますか?
p=noneでは、DMARCはメール配信に影響しません。監視のみだからです。p=quarantineまたはp=rejectでは、認証に失敗した正当な送信元からのメッセージが影響を受けます。だからこそ、適用の前に各段階で90日以上の監視を行う段階的なアプローチが不可欠なのです。
世界中のセキュリティチームに信頼されています
Rated 4.8/5 on G2 · 469 verified reviews
Verified User in Information Technology and Services
"Best security tool for your own domains"
The weekly reports help me a lot to analyze quickly the emails sent from my domains and that gives me peace of mind.
Ryan C.
Director
"Control Centre for Email Security"
I like that we can see and check all reports on just 1 platform. We manage multiple domains, and monitoring them all in one place is essential.
eddy g.
Director
"A great solution to a common email problem."
I have been using them for the last month after my Google business email started giving DMARC errors. I didn't even know what it meant at that time. After a little googling I found that people can spoof it as well. So far so good — the best thing is it protects every email.