Postfix 3.4 [迷惑メール対策 DKIM] CentOS7 (マルチドメイン)
↑こちらもご覧ください。記事が新しいです。
迷惑メール対策として、有名な、SPFと、このDKIM。
前のPostfix3.3 迷惑メール対策 SPF設定と、あわせてご覧ください。
opendkim インストール
ソース版、opendkimは、
https://sourceforge.net/projects/opendkim/files/
によると、
opendkim-2.10.3.tar.gz
というファイルで、
version 2.10
一方、yum版は、
============================================================================================================ Package Arch Version Repository Size ============================================================================================================ Installing: opendkim x86_64 2.11.0-0.1.el7 epel 222 k Installing for dependencies: libbsd x86_64 0.8.3-1.el7 epel 85 k libmemcached x86_64 1.0.16-5.amzn2.0.2 amzn2-core 238 k libopendkim x86_64 2.11.0-0.1.el7 epel 75 k opendbx x86_64 1.4.6-6.el7 epel 46 k sendmail-milter x86_64 8.14.7-5.amzn2.0.1 amzn2-core 71 k Transaction Summary ============================================================================================================
と、version 2.11
ソースもyumも変わらずという感じなので、yumでインストール。
# yum install opendkim
DKIMとは
送信元で、電子署名を行い、受信側で、ドメインのDNSに登録された公開鍵とをチェックして、「正当な送信者」から送付されたものかをチェックする機能。
レンタルサーバーでは、SPFには、対応できるが、DKIMには、未対応というところが多い。
WADAXでは、SPF/DKIMとも対応。
ロリポップでは、SPFのみに対応。
さくらのレンタルサーバーも、SPFのみに対応。
鍵を作成する
opendkim-genkey
のコマンドで、鍵を作成。
opendkim-genkey -d (ドメイン名) -s 2018MMDD -D /etc/opendkim/keys/
-s は、セレクタ(識別記号)gmailと同じに日付とする。(まねをする)
-d は、ドメイン
-D は、出力先
/etc/opendkim/keys/
のディレクトリは、最初から作られている。
# opendkim-genkey -d (ドメイン名) -s 2018MMDD -D /etc/opendkim/keys/ # ls -al /etc/opendkim/keys/ drwxr-x--- 2 opendkim opendkim 50 Oct 22 XX:47 . drwxr-xr-x 3 root opendkim 74 Oct 22 XX:27 .. -rw------- 1 root root 887 Oct 22 XX:47 2018MMDD.private -rw------- 1 root root 317 Oct 22 XX:47 2018MMDD.txt # chown opendkim:opendkim /etc/opendkim/keys/2018MMDD.* # ls -al /etc/opendkim/keys/ total 8 drwxr-x--- 2 opendkim opendkim 50 Oct 22 XX:47 . drwxr-xr-x 3 root opendkim 74 Oct 22 XX:27 .. -rw------- 1 opendkim opendkim 887 Oct 22 XX:47 2018MMDD.private -rw------- 1 opendkim opendkim 317 Oct 22 XX:47 2018MMDD.txt
# vi /etc/sysconfig/opendkim AUTOCREATE_DKIM_KEYS=NO
を加える。
起動時に秘密鍵を自動生成しないようにする
opendkimの設定
vi /etc/opendkim.conf --------------------------- Mode v ↓ Mode sv sign & verify (s) 署名と (v) 検証 --------------------------- KeyFile /etc/opendkim/keys/default.private ↓ # KeyFile /etc/opendkim/keys/default.private (KeyTableを使うので、ここは、コメントに) --------------------------- # 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 MTAのサーバーを指定する
# vi /etc/opendkim/KeyTable 2018MMDD._domainkey.(ドメイン名) (ドメイン名):2018MMDD:/etc/opendkim/keys/2018MMDD.private
# vi /etc/opendkim/SigningTable *@(ドメイン名) 2018MMDD._domainkey.(ドメイン名)
DNSの設定
/etc/opendkim/keys/2018MMDD.txt
のファイルの中身をそのまま、BINDに設定をします。
2018MMDD._domainkey.(ドメイン名). IN TXT ( "v=DKIM1; k=rsa; " "p=(英数字の羅列)" )
また、
_adsp._domainkey.(ドメイン名). IN TXT "dkim=unknown"
という行も追加する。
postfixの設定
# vi /etc/postfix/main.cf smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
↑postfixの指定をする。
opendkim起動、postfix再起動
service opendkim start
Opendkim 結果
このMTAから、gmail宛てに送ったメールのヘッダ。
————————————————————————
Authentication-Results: mx.google.com; dkim=pass
DKIM-Filter: OpenDKIM Filter v2.11.0 (ホスト名) C8A3A2C4304
————————————————————————
「dkim=pass」となり、きちんと、認証されました。