<AI>
Rocky Linux環境におけるDMARCの導入手順は、
大きく分けて「送信メールのなりすましを防ぐDNS(レコード)設定」と、
「受信メールのなりすましを検知するPostfix(OpenDMARC)設定」の2つがあります。
DMARCを機能させるには、前提としてSPFとDKIMの設定が完了していることが必要です。
1. 【送信側】DNSにDMARCレコードを登録する
自社ドメインから送信されたメールが本物であることを受信側に証明するため、DNSサーバーにTXTレコードを追加します。
設定手順
DNS管理画面(BINDやRoute 53、お名前.comなど)を開きます。
以下の内容で TXTレコード を追加します。
ホスト名(名前): _dmarc(または _dmarc.yourdomain.com)
値(テキスト):
text
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourdomain.com
コードは注意してご使用ください。
ポリシー(p=)の選び方
最初は影響が出ない設定から段階的に厳しくしていくのがベストプラクティスです。
p=none(推奨・初期段階): 監視のみ。認証に失敗しても通常通り配信されます。
p=quarantine: 認証に失敗したメールを迷惑メールフォルダに隔離します。
p=reject: 認証に失敗したメールを完全に拒否(受信拒否)します。
※ rua= には、各受信サーバーから送られてくる日次レポート(XML形式)を受け取るアドレスを指定します。
2. 【受信側】PostfixでDMARC検証を有効化する(OpenDMARC)
Rocky Linuxサーバーがメールを受信した際に、相手のDMARCレコードを検証してなりすましを見抜くための設定です。
Step 1: EPELリポジトリとOpenDMARCのインストール
OpenDMARCパッケージはEPELリポジトリから取得します。
bash
# EPELリポジトリの有効化
sudo dnf install -y epel-release
sudo dnf config-manager --set-enabled crb
# OpenDMARCのインストール
sudo dnf install -y opendmarc
コードは注意してご使用ください。
Step 2: OpenDMARCの設定
設定ファイルを編集し、Postfixと通信するためのソケット(UNIXソケット)を指定します。
bash
sudo vi /etc/opendmarc.conf
コードは注意してご使用ください。
以下の項目を変更、または追記します。
text
# 待ち受けソケットをUNIXソケットに変更(デフォルトのTCPから変更)
Socket local:/run/opendmarc/opendmarc.sock
# 自サーバーのホスト名
AuthservID mail.yourdomain.com
# 認証失敗時の挙動(DNS側の指示に従う場合は true)
RejectFailures false
コードは注意してご使用ください。
Step 3: パーミッションとグループの調整
PostfixがOpenDMARCのソケットファイルにアクセスできるように、postfixユーザーをopendmarcグループに追加します。
bash
# postfixユーザーをopendmarcグループに追加
sudo usermod -aG opendmarc postfix
# 起動と有効化
sudo systemctl enable --now opendmarc
コードは注意してご使用ください。
Step 4: Postfix側の設定(Milterの追加)
Postfixが受信時にOpenDMARCのフィルター(Milter)を通すように設定します。
bash
sudo vi /etc/postfix/main.cf
コードは注意してご使用ください。
ファイルの末尾に以下を追記します(すでにOpenDKIMなどを導入している場合は、カンマで区切って並べます)。
text
# Milterの設定(OpenDKIMが先に動き、次にOpenDMARCが動くように設定)
smtpd_milters = unix:/run/opendkim/opendkim.sock, unix:/run/opendmarc/opendmarc.sock
non_smtpd_milters = $smtpd_milters
コードは注意してご使用ください。
設定が終わったら、Postfixを再起動して反映させます。
bash
sudo systemctl restart postfix
コードは注意してご使用ください。
3. 導入の確認
設定が正しく動作しているかテストします。
送信テスト: 外部のメールアドレス(GmailやYahoo!メールなど)にメールを送信し、届いたメールの「ソース(ヘッダー)」を表示します。
ヘッダーの確認: Authentication-Results の項目に dmarc=pass と記載されていれば成功です。
text
Authentication-Results: ://google.com;
dkim=pass ...
spf=pass ...
dmarc=pass (p=NONE dis=NONE) header.from=yourdomain.com
コードは注意してご使用ください。
現在、メールサーバーのSPFやDKIMの設定、
あるいは使用しているPostfixのバージョン(Rocky Linux 8 / 9 / 10など)は決まっていますか?
状況に合わせてさらに詳細なコマンドや、トラブルシューティングの手順をご案内できます。