迷惑メール対策としてDKIMを設定する手順について記載しています。
DKIM (Domainkeys Identified Mail)
DKIMは、電子署名方式の送信ドメイン認証である。IETFにおいてSendmail社のEric Allman氏らを中心として検討が進められ、RFC 4871およびRFC 5672として標準化された。さらに、DKIMの規格を補うDKIM-ADSPという標準があり、RFC 5617で標準化されている。
epel-releaseをインストール
yum install epel-release
実行結果
opendkimをインストール
yum install --enablerepo=epel opendkim
実行結果
鍵を格納するディレクトリを作成
mkdir /etc/opendkim/keys/example.com
実行結果
鍵の作成
opendkim-genkey -h rsa-sha256 -D /etc/opendkim/keys/example.com -d example.com -s hoge
実行結果
所有者を変更
chown -R opendkim: /etc/opendkim/keys/example.com/
実行結果
DNSのレコードを確認
cat /etc/opendkim/keys/example/hoge.txt
実行結果 ※サンプル
hoge._domainkey IN TXT ( "v=DKIM1; h=rsa-sha256; k=rsa; "
"p=MIGfMAN0GCSqBCGADAGSIb3DUgQDAA4QEQBCBiQK5/ZqB5wX5vv/FJFfvfK9uDBlhZ31NK5ETZC1VYRHu6Ij3iq1Un1C7a8JJF7wOCSuq+uXWePKN5mPz3iXFOGuPad/cqZJGSvFZ9S5dzLpCepEN28wbZH+QIDAQABpXYMPuaIkiPoE3NHQqmAxAzxaKkGHMQQdCxA74Gn7lvINayETWc6i" ) ; ----- DKIM key hoge for dayspay.example.com
設定ファイルの編集①
sudo vi /etc/sysconfig/opendkim
編集箇所
*修正
Mode v
↓
Mode sv
*修正
SoftwareHeader yes
↓
SoftwareHeader no
*修正
Domain example.com
↓
Domain example.com
*修正
KeyFile /etc/opendkim/keys/default.private
↓
# KeyFile /etc/opendkim/keys/default.private
*修正
# KeyTable /etc/opendkim/KeyTable
↓
KeyTable /etc/opendkim/KeyTable
*修正
# SigningTable refile:/etc/opendkim/SigningTable
↓
SigningTable refile:/etc/opendkim/SigningTable
*修正
# ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
↓
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
*修正
# InternalHosts refile:/etc/opendkim/TrustedHosts
↓
InternalHosts refile:/etc/opendkim/TrustedHosts
設定ファイルの編集②
sudo vi /etc/opendkim/KeyTable
編集箇所
*追加
hoge._domainkey.example.com example.com:hoge:/etc/opendkim/keys/example.com/hoge.private
設定ファイルの編集③
/etc/opendkim/SigningTabl
編集箇所
*追加
*@example.com hoge._domainkey.example.com
postfixの追加設定
sudo vi /etc/postfix/main.cf
編集箇所
*追加
# DKIM
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept
opendkimの自動起動設定
systemctl enable opendkim
opendkimの起動
systemctl start opendkim
postfixの再起動
systemctl restart postfix
DNSへの登録は次の値となる。 ※サンプル
hoge._domainkey.example.com IN TXT "v=DKIM1; h=rsa-sha256; k=rsa; "p=MIGfMAN0GCSqBCGADAGSIb3DUgQDAA4QEQBCBiQK5/ZqB5wX5vv/FJFfvfK9uDBlhZ31NK5ETZC1VYRHu6Ij3iq1Un1C7a8JJF7wOCSuq+uXWePKN5mPz3iXFOGuPad/cqZJGSvFZ9S5dzLpCepEN28wbZH+QIDAQABpXYMPuaIkiPoE3NHQqmAxAzxaKkGHMQQdCxA74Gn7lvINayETWc6i"
DKIMが機能しているか確認する方法としては、Gmail等に送信してみてソースからDKIMがPASSになっていれば正常となります。