FreeBSD 14.3 RELEASE - DNS サーバ - DMARC


クラウディア 


1. 概要
2. 設定
3. 再起動
4. 確認
5. 参考サイト

1. 概要

 これは、メールの「DMARC(Domain-based Message Authentication, Reporting & Conformance)」設定です。  メールサーバを立てないのであれば、必要ありません。

2. 設定

 「zone」ファイルの末尾の方に。  「_dmarc」レコードを追加します。  最小の記述は、以下。

_dmarc  IN  TXT  "v=DMARC1; p=none"
 細かく設定するには、以下の形式。

_dmarc  IN  TXT  "v=DMARC1; p=...; rua=...; ruf=...; sp=...; pct=..."
 最小単位で「""」内は、「v=DMARC1; p=none;」でよかそうです。  「""」内のパラメータは、主に下記の意味を持ちます。
パラメータ 意   味 備考
v バージョン
2025年7月10日時点では「DMARC1」と記述
p ポリシー
none:認証失敗時の処理は行わず、レポートのみを送信
quarantine:認証失敗時のメールを隔離
reject:認証失敗時のメールを拒否
rua レポート URI
DMARC 認証結果の集計レポートを送信する先のメールアドレスを指定
ruf フォレンジックレポート URI
DMARC 認証失敗時の詳細レポートを送信する先のメールアドレスを指定
sp サブドメインポリシー
サブドメインにも DMARC ポリシーを適用するかどうかを指定
pct パーセント
DMARC ポリシーを適用するメールの割合を指定

 「_dmarc」の後ろに、「.(ドット)」でつなげて、ドメイン名を記述することで、ドメイン指定もできるようです。
 「p=」の値は、実際には、「quarantine」か「reject」にすべきようです。
 「example.com」「sub.example.com」に対して設定するには、下記のように記述します。


_dmarc.example.com.     IN      TXT "v=DMARC1; p=quarantine;"
_dmarc.sub.example.com.	IN      TXT "v=DMARC1; p=quarantine;"

3. 再起動

 上記設定を変更したら。

                YYYYMMDDNN      ; Serial
 のシリアルナンバーを更新して。

nsd-checkzone zone_name zone_file
 でチェック後。

nsd-control reload
 で再起動します。

4. 確認

 設定されていることを「drill」コマンドで確認します。

drill TXT _dmarc.sub.example.com
 の結果に、下記の行。

_dmarc.sub.example.com.   3600    IN      TXT     "v=DMARC1; p=quarantine;"
 が存在すれば、定義は、問題ないということになります。  (実際のコマンドの結果に、色はつきませんぜ)

5. 参考サイト

 本ページは、下記のサイト、および「ChatGPT」くん、「Google」大先生を参考にさせていただきました
FreeBSD 14 : BIND : DMARC レコードの設定

AbemaTV 無料体験