| Category:雑記 | Comment

DKIMとDMARCの設定

色々あってSPFは設定してるけど、
DKIMとDMARKも設定してとの話があったのでメモ。

epelのリポジトリを使いインストール。

# yum install opendkim

そして鍵を作るディレクトリを作ります。

# mkdir /etc/opendkim/keys/domain.jp

鍵を作ります。シリアルはわかりやすく日付にしてます。
ついでに所有者も変えておきましょう。

# opendkim-genkey -D /etc/opendkim/keys/domain.jp -d domain.jp -s 20191114
# chown opendkim:opendkim /etc/opendkim/keys/domain.jp -R

鍵が出来たら設定です。キーテーブルを編集します。

# vi /etc/opendkim/KeyTable

下記追記。

20191114._domainkey.domain.jp domain.jp :20191114:/etc/opendkim/keys/domain.jp/20191114.private

署名を追記するドメインを指定します。

# vi /etc/opendkim/SigningTable

下記追記。これはワイルドカードでも、固定メアドも出来ます。

root@domain.jp 20191114._domainkey.domain.jp
*@domain.jp 20191114._domainkey.domain.jp

最後にopendkim自体の設定変更。

# vi /etc/opendkim.conf

下記項目を変えました。必要に応じてどうぞ。

Mode sv
#KeyFile /etc/opendkim/keys/default.private
KeyTable /etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts
SoftwareHeader no

opendkim起動。ついでにサービス登録。

# service opemdkim start
#chkconfig opendkim on

postfixの設定も変えましょう。

# vi /etc/postfix/main.cf

下記を末端に追記。

smtpd_milters = inet:localhost:8891
non_smtpd_milters = inet:localhost:8891
milter_default_action = accept

postfix再起動しましょう。
これでDKIMが追記されるようになりmaillogにも
“DKIM-Signature field added” て出るようになります。

ここまで来たらあと一歩、DNS の設定をします。
といっても、TXTフィールドを増やすだけです。
DNSに追記する内容を確認しましょう。

# cat /etc/opendkim/keys/domain.jp/20191114.txt

こんな内容が表示されますね?

20191114._domainkey IN TXT ( “v=DKIM1; k=rsa; ”
“p=超長い文字列” ) ; —– DKIM key 20191114 for domain.jp

要は、下記をセットしてやれば良いわけですが、
DNS サーバーにもよるので適当にセットしてあげてください。

20191114._domainkey.domain.jp. IN TXT “v=DKIM1; k=rsa; p=超長い文字列”

このままだとあれなので、ADSPレコードも追加しましょう。
上のキーと合わせて、2行追加することになります。

_adsp._domainkey.domain.jp. IN TXT “dkim=unknown”

あとはDNSを反映させて、digで値が読み出せるか確認しておきましょう。

# dig 20191114._domainkey.domain.jp txt
# dig _adsp._domainkey.domain.jp txt

反映されてたら、メールもチェック、自分のgmailに送ってみましょう。

# echo “DKIMテスト” | mail -s “DKIMテストです。” my@gmail.com

gmailのソース確認すると、dkimの署名とか、dkim=passとか追記されるので
あーちゃんと出来たんだな―ってのがわかります。

ついでに、DMARKも対応しちゃいましょう。
といってもめんどくさいので詳細は企画を確認してもらうとして
とりあえず必要最低限で下記追記。

_dmarc IN TXT “v=DMARC1; p=none; rua=mailto:postmaster@domain.jp; ruf=mailto:postmaster@domain.jp”

ここで、ruaはDMARCの「集計レポート」の送信先、
rufは「認証失敗レポート」の送信先となります。
そして、DNS反映させておわり。

DKIMにしてもDMARCにしても、下手すると送受信できなくなるので
気をつけて設定しましょう。お疲れさまでした。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください