DMARCの導入について

こんにちは、管理人です。

今回は、送信ドメイン認証「DMARC」 (Domain-based Message Authentication, Reporting & Conformance) の設定について書いてみます。

と その前に…。

SPF・DKIMは導入済みだけどさらに対策が必要なの?というところから。

メールのなりすまし対策としてSPFとDKIMだけでは不十分とされる理由として、なりすましを試みる人や組織がドメインやシステムを管理している場合、以下のようにすり抜けてしまう可能性があります。

【SPF】
SPFレコードが正しく設定されていると、受信者はそのドメインから送信されたメールが許可されたIPアドレスから送信されていることを確認できます。
しかし、なりすましを試みる人や組織がドメインを制御している場合、正しいSPFレコードを設定して認証を通過してしまう可能性があります。

【DKIM】
そもそもDKIM署名が設定されていないと、受信者はDKIM検証を行いません。
なりすましを試みる人や組織が管理下にあるシステムでDKIM署名を設定している場合、そのメールはDKIM検証に合格します。

ニセモノであっても管理しているシステムを設定できれば本物っぽく振るまえてしまいます。

そこで、SPFとDKIMの認証結果をもとに、メールの処理ポリシーを決定し、認証に失敗したメールを拒否、隔離、または受信することができるDMARCの導入が求められるということですね。

●DMARCの動きと設定方法について
DMARCは、SPFとDKIMの認証結果を基にして、メールのヘッダFromドメインとSPFで認証されたエンベロープFromドメインおよびDKIMで認証されたd=タグのドメインの一致を確認します。

その認証結果を基にしてメールの処理ポリシーを設定し、なりすましメールの試行についてレポートを受け取ることができます。

以降、DMARCの具体的な動き、設定方法、および各パラメータについてです。


●DMARCの設定~具体的な動き

1.送信者側の設定
ドメイン所有者は、DNSにDMARCポリシーを設定します。
DMARCポリシーには、どのようにメールを処理するか(例:拒否、隔離、または受信)、および認証結果のレポートを送信する先を指定します。

2.メール送信
送信側がメールを送信します。

3.受信者側の検証
受信側のメールサーバーは、SPFとDKIMの検証を行います。
次に、DNSから送信ドメインのDMARCポリシーを取得します。
DMARCポリシーに従い、SPFおよびDKIMの結果をもとにメールの処理を決定します(拒否、隔離、または受信)。

4.レポートの送信
DMARCポリシーで指定されたレポートアドレスに、認証結果とメール処理の詳細がレポートとして送信されます。

●DMARCの設定
それでは、DMARCの具体的な設定例とタグの設定値について見ていきましょう。
DMARCポリシーは、ドメインのDNSにTXTレコードとして設定します。

例)
ドメイン「example.com」の場合
ホスト名:_dmarc.example.com.
値:”v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com; ruf=mailto:dmarc-reports@example.com; pct=100; aspf=r; adkim=r”

各パラメータの説明は以下のとおりです。必須項目以外は省略可能です。

v:必須
バージョン情報として「v=DMARC1」を指定。

p:必須
認証に失敗したメールの処理を指定します。
none: メールを特に処理せず、レポートのみを送信。
quarantine: 認証に失敗したメールを隔離(通常はスパムフォルダに移動)。
reject: 認証に失敗したメールを拒否。

rua:
集計レポートの送信先メールアドレスを指定
複数のアドレスをカンマ区切りで指定可能

ruf:
詳細レポートの送信先メールアドレスを指定
複数のアドレスをカンマで区切って指定可能

pct:
ポリシーを適用するメールの割合(パーセンテージ)で0から100までの値を指定(デフォルトは100)

aspf:
SPFのアライメントモードの指定。
r: リラックスモード(デフォルト) ドメイン部分一致でpass
s: ストリクトモード ドメイン完全一致でpass

adkim:
DKIMののアライメントモードの指定。
r: リラックスモード(デフォルト) ドメイン部分一致でpass
s: ストリクトモード ドメイン完全一致でpass

ri:
DMARCレポートの要求間隔
秒単位での指定(デフォルトは86400 1日)

rf:
DMARCの認証失敗レポートの形式を指定(未指定:afrf)

fo:
DMARCの認証失敗レポートの要求基準
d: DKIMの認証が失敗
s: SPFの認証が失敗
1: DKIM,SPFのどちらかが失敗
0: すべての認証が失敗

必須のタグは”v”と”p”だけですので必要最低限ということであれば以下の設定でOKということですね。
値:”v=DMARC1; p=none”

“p=none”だと認証に失敗しても何もしない。ということになりますが、ひとまず導入を済ませて様子をみつつという例も多いのではないかと思います。


●DMARC設定前後の確認
設定したDMARCレコードの内容はnslookupで-type=TXTを指定することで確認できます。

nslookup -type=TXT _dmarc.ドメイン名 8.8.8.8

以下のようなサイトでも確認できます。
https://mxtoolbox.com/dmarc.aspx



Gmail宛てにメールを送信し設定前後の状態を確認してみましょう。

DMARC設定前


DMARC設定後


設定後は”dmarc=pass”となっており認証に成功していることが確認できますね。


●まとめ
DMARCは、SPFやDKIMだけでは防ぎきれないなりすましメールに対する有効な追加対策として機能します。

正しい設定を行うことで、メールの信頼性を向上させることができます。


ということで、DMARC導入についてでした。

最後までお付き合いいただき、ありがとうございました。

★ GFCがIT トレンドEXPO2025 Springに出展します!★

2025 年3 月5 日(水)~ 3 月7 日(金)の3日間、GFCは「IT トレンドEXPO2025 Spring」に出展します!上記バナーか下の「イベント詳細はこちら」ボタンより、事前登録をお願いいたします!

GFCのホームページはこちら

GFCへのお問い合わせはこちら

One thought on “DMARCの導入について

コメントを残す