DMARC

読み:でぃーまーく / 英語表記:Domain-based Message Authentication, Reporting and Conformance

SPFとDKIMの認証結果と、メールのヘッダーのFromのドメインとの一致を確認し、認証に失敗したメールの扱い(ポリシー)を、送信ドメインの管理者がDNSで指定できるようにする仕組み。受信側からのレポートも受け取れる。

イマシルちゃんの解説

SPFやDKIMで「このメール、なんだか怪しいぞ」ってわかっても、
そのメールをどうするかは、受け取った側の判断にまかされていたんだ。

DMARCでは、ドメインの持ち主が「うちのドメインをかたる怪しいメールは、受け取らないでね」って、扱い方をお願いできるんだよ。
さらに、「どれくらい怪しいメールが届いたか、報告してね」って頼むこともできるんだ!

より深い解説

定義

DMARC(Domain-based Message Authentication, Reporting and Conformance)は、RFC 7489で定められた、送信ドメイン認証を補強する仕組みである。SPFやDKIMの認証結果を、利用者が画面で目にするヘッダーのFromのドメインと結び付けて評価し、失敗したときの扱いを送信側が宣言する。

アライメント(一致の確認)

SPFやDKIMは、ヘッダーのFromとは別のドメインを確認している。そこでDMARCは、次のどちらかが成り立つことを求める。

認証一致を確認するもの
SPFSPFで認証されたエンベロープの送信者のドメインと、ヘッダーのFromのドメイン
DKIMDKIMの署名のドメイン(d=)と、ヘッダーのFromのドメイン

これにより、「攻撃者が自分のドメインでSPFやDKIMを正しく設定し、ヘッダーのFromだけを偽る」なりすましを検出できる。

DMARCレコードの例

_dmarc.example.jp.  IN TXT  "v=DMARC1; p=reject; rua=mailto:[email protected]"
記述意味
p=認証に失敗したメールの扱い(ポリシー)
rua=集計レポートの送り先
ruf=失敗したメールの詳細レポートの送り先
pct=ポリシーを適用する割合

ポリシー

ポリシー受信側への要求
none何もしない(通常どおり受信する)。レポートだけ受け取りたいとき
quarantine隔離する(迷惑メールフォルダに入れるなど)
reject受信を拒否する

ポリシーとして指定できるのは、この3種類である。認証に失敗したメールを、送信元のメールサーバに送り返させるようなポリシーはない。なりすましのメールの送信元に送り返すと、偽られた送信者に大量のエラーメールが届くこと(バックスキャッタ)になるためである。

段階的な導入

いきなり最も厳しいポリシーにすると、設定漏れのある正規のメール(外部の配信サービスから送るメールなど)まで拒否されてしまう。そのため、まず none でレポートを集めて状況を把握し、quarantine、reject と段階的に強めていくのが一般的である。

送信ドメイン認証の組み合わせ

技術役割
SPF送信元サーバのIPアドレスで認証する
DKIM電子署名で認証し、改ざんを検出する
DMARCヘッダーのFromとの一致を確認し、失敗時の扱いを宣言し、レポートを受け取る

3つを組み合わせて使うことで、なりすましメールへの対策が効果的になる。大手のメールサービスでは、大量に送信する事業者に対して、3つすべての設定を求める動きが広がっている。

実際の試験ではここに出る!

この用語が出てくる記事

↑