← RFC Reference

DMARC — ドメインベースのメッセージ認証、レポーティング、コンフォーマンス

Informational Email Authentication Published March 2026
ELI5: [SPF](spf)はエンベロープの返信アドレスをチェックします。[DKIM](dkim)は手紙の封蝋をチェックします。しかし、どちらも、ユーザーが見るレターヘッド(`From:`アドレス)の名前が検証済みのIDと一致することを確認しません。DMARCはこのルールです:「レターヘッドの名前はエンベロープの返信アドレスまたは封蝋のいずれかと一致する必要があります。一致しない場合は、その手紙をどうするかについてのポリシーです。」

このRFCが存在する理由

SPFとDKIMは強力ですが、それぞれ重大なギャップがあります。SPFはエンベロープ送信者ドメインを検証しますが、ユーザーには見えません。DKIMは署名者が選択したドメイン(ESP のドメインである可能性があります)を検証しますが、ユーザーが実際に読むFrom:ヘッダーのスプーフィングを防ぐことはできません。どちらか一方だけでは、攻撃者がFrom:ヘッダーをスプーフィングするのを防ぐことはできません。

DMARCは2つの概念を導入することでこのギャップを埋めます:

  1. 識別子の整合: SPFまたはDKIMの少なくとも1つが合格し、かつその認証ドメインがFrom:ヘッダードメインと整合する必要があります。
  2. ドメイン所有者ポリシー: ドメイン所有者は、整合に失敗したときに受信者が何をすべきかを宣言するDNSレコードを公開します。監視(p=none)、隔離(p=quarantine)、または拒否(p=reject)です。

DMARCは集約レポート機構も定義し、ドメイン所有者がインターネット全体でどのようにドメインが使用(および悪用)されているかを示す日次XMLレポートを受け取ることができます。

仕組み

DMARC評価フロー

  1. From: user@example.comのメッセージが到着します。
  2. 受信者はエンベロープ送信者ドメインに対してSPFをチェックします。SPFが合格し、エンベロープドメインがexample.com(または整合モードに応じてサブドメイン)と一致する場合、SPFは「整合」です。
  3. 受信者はDKIMをチェックします。有効な署名にd=example.com(またはサブドメイン)がある場合、DKIMは「整合」です。
  4. SPFまたはDKIMの少なくとも1つが合格し、かつ整合している場合、DMARCは合格します。
  5. DMARCが失敗した場合、受信者は_dmarc.example.comのポリシーをクエリして適用します。

DMARC DNSレコード

_dmarc.example.com. IN TXT "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-forensic@example.com; adkim=r; aspf=r; pct=100"

実際の整合

# メッセージが到着します:
# エンベロープ: MAIL FROM:<bounce@mail.example.com>
# ヘッダー: From: sales@example.com
# DKIM署名: d=example.com

# SPFチェック:
SPFドメイン: mail.example.com (エンベロープから)
Fromドメイン: example.com
SPF整合(リラックス): mail.example.com <-> example.com = 合格(同じ組織ドメイン)

# DKIMチェック:
DKIM d= ドメイン: example.com
Fromドメイン: example.com
DKIM整合: example.com <-> example.com = 合格(完全一致)

DMARC結果: 合格(SPFとDKIM両方が整合)

主要な技術的詳細

ポリシータグ

タグ 説明
v DMARC1 バージョン(必須、最初に置く必要があります)
p nonequarantinereject ドメインのポリシー(必須)
sp nonequarantinereject サブドメインのポリシー(pがデフォルト)
rua mailto: URI(複数可) 集約レポートの送信先(カンマ区切り)
ruf mailto: URI(複数可) フォレンジック/失敗レポートの送信先
adkim r(リラックス)、s(ストリクト) DKIM整合モード。リラックスはサブドメインを許可します。
aspf r(リラックス)、s(ストリクト) SPF整合モード。リラックスはサブドメインを許可します。
pct 0~100 ポリシーを適用する失敗メールの割合(段階的なロールアウト用)
fo 01ds 失敗レポートオプション

整合モード

リラックス整合(デフォルト、adkim=r / aspf=r): 認証ドメインとFrom:ドメインが同じ組織ドメインを共有します。例えば、mail.example.comexample.comと整合します。

ストリクト整合(adkim=s / aspf=s): 認証ドメインはFrom:ドメインと完全に一致する必要があります。mail.example.comexample.comと整合しません

集約レポート(rua)

DMARCをサポートする受信者は、ruaアドレスに日次集約レポートをXML形式で送信します。これらのレポートには以下が含まれます:

これらのレポートは、認可されていない送信者を発見し、誤った設定の正当な送信元を特定し、ポリシーをnoneからrejectに厳しくする前に信頼を構築するために非常に貴重です。

外部宛先検証

ruaまたはrufアドレスが別のドメイン(例えばrua=mailto:reports@analytics.com)にある場合、受信ドメインはそれを認可するDNSレコードを公開する必要があります:

example.com._report._dmarc.analytics.com. IN TXT "v=DMARC1"

このレコードがない場合、レポート送信者はDMARCレポートをサービス拒否ベクトルとして使用することから保護するため、外部アドレスにレポートを配信しません。

一般的な間違い

配信可能性への影響

Related RFCs