メンテナンス・トラブルシュート - DNS - DMARC


 クラウディア


1. 概要
2. 設定
5. 参考サイト

1. 概要

 「DMARC(Domain-based Message Authentication, Reporting & Conformance)」は、ネームサーバに設定するもので。  受信サーバで、「SPF」「DKIM」のドメインチェックを行った結果、「SPF」と「DKIM」に記述しているドメインが一致していない場合、どうふるまって欲しいかを設定するものです。  逆に言えば、受信サーバ側で「SPF」「DKIM」をチェックしていなければ、「DMARC」に何を設定してもその受信サーバに対しては、無意味な設定になります。

2. 設定

 「DMARC」設定は、ネームサーバのゾーンファイルに、「DMARC」レコードを記述します。  例えば、こんな感じ。

_dmarc.example.com.      IN      TXT "v=DMARC1; p=quarantine;"
 上の場合、「example.com」ドメインの「DMARC」を定義しているわけで。  「v=DMARC1」は、「DMARC」を有効にする宣言で、これがないと「DMARC」として認識されません。  「p=quarantine」は、ポリシーとして、認証失敗時は不審なメールとして扱うように、設定しています。  ポリシーには、下記の種類があります。
ポリシー ふるまい 備考
none 監視を行うだけで、認証失敗時もそのまま配信する
quarantine 認証失敗時は不審なメールとして迷惑メールフォルダなどに隔離する
reject 認証失敗時は不審なメールとして強制的に削除する(受信拒否)

 「DMARC」レコード内に記述するタグには、以下のものがあるようです。
 (参考サイト、まるコピー)

タグ 指定値 意味 備考
v DMARC DMARC のバージョンを示します。現在は “DMARC1” を記載します。 必須
p none 認証に失敗したメールの処理方法を指定します。 必須
quarantine
reject
sp 前項と同じ サブドメインにDMARCポリシーを適用するかどうかを指定します。
このタグを使用しない場合、サブドメインは親ドメインに設定されているDMARCポリシーが継承されます。
pct 1~100 DMARCポリシーを適用するメールの割合を指定します。
rua mailto:email 一定期間内のメール認証結果をまとめた「集計レポート」の送信先を指定します。
ri 数値 集計レポートの送信頻度を秒単位で指定します。
ruf mailto:email DMARC認証に失敗した個々のメールについて通知する「失敗レポート」の送信先を指定します。
fo 0 失敗レポートの送信条件を指定します。
0:全ての認証が pass でなかった場合
1:いずれかの認証が pass でなかった場合
d:DKIM に失敗した場合
s:SPF に失敗した場合
1
d
s
adkim r DKIMのアライメントチェックをどの程度厳密に行うか左の2つのオプションから指定します。
r=リラックスモード:サブドメインでの一致でも可
s=ストリクトモード:ドメインが完全に一致する必要がある
s
p r SPFのアライメントチェックをどの程度厳密に行うか左の2つのオプションから指定します。
r=リラックスモード:サブドメインでの一致でも可
s=ストリクトモード:ドメインが完全に一致する必要がある
s

 「rua」や「ruf」の指定は、メールを受信する余力がある場合に指定する感じかな・・・?
 しかしまぁ、スパムメールの送信元と疑われる、大手のメールサーバは、このあたり管理して欲しいものです。

5. 参考サイト

 本ページは、「ChatGPT」軍曹および下記のサイトを参考にさせていただきました。
DMARC レコードの書き方は? 設定・確認方法や設定例も解説

EaseUS