男もすなるDKIMといふものを女もししてみむとてするなり。
環境はCentOS7.2 + Postfix 2.10.1 です。
OpenDKIMのインストール
yumで入れます。# yum install opendkim
鍵やら何やらを作るので、専用のディレクトリを作成します。
# mkdir /etc/opendkim/keys/MYDOMAIN.com(ドメイン名)
で、鍵やら何やらを作ります。
# opendkim-genkey -D /etc/opendkim/keys/MYDOMAIN.com/ -b 1024 -d MYDOMAIN.com -s koexuka
-Dは生成ディレクトリ
-bは1024や2048など鍵のビット長
-dはドメイン名
-sはセクレタ名。鍵を識別できる分かりやすい名前が良いです。サイト名や作成日付など。
これでファイルが2つできてるはずです。
# ls -l /etc/opendkim/keys/MYDOMAIN.com -rw------- 1 opendkim opendkim 887 3月 22 15:11 koexuka.private -rw------- 1 opendkim opendkim 317 3月 22 15:11 koexuka.txt
設定ファイルの更新
KeyTableファイルを編集します。# vim /etc/opendkim/KeyTable koexuka._domainkey.MYDOMAIN.com MYDOMAIN.com:koexuka:/etc/opendkim/keys/MYDOMAIN.com/koexuka.private
SigningTableファイルを編集します。
# vim /etc/opendkim/SigningTable *@MYDOMAIN.com koexuka._domainkey.MYDOMAIN.com
TrustedHostファイルを編集します。
# vim /etc/opendkim/TrustedHosts 127.0.0.1 ::1 #host.example.com #192.168.1.0/24
CIDR形式で記述できます。
上記IPにマッチした場合だけ署名されます。
opendkim.confを編集します。
# vim /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
/etc/sysconfig/opendkimファイルを編集します。
# vim /etc/sysconfig/opendkim # これを追加 AUTOCREATE_DKIM_KEYS=NO
main.cfを編集します。
#vim /etc/postfix/main.cf # これを追加 smtpd_milters = inet:127.0.0.1:8891 non_smtpd_milters = $smtpd_milters milter_default_action = accept
Postfixを再起動します。
# systemctl restart postfix
ドメイン情報を更新
利用しているDNSサーバーでTXTゾーンにDKIMの内容を反映させます。
まず、公開鍵の内容を確認します。
まず、公開鍵の内容を確認します。
# cat /etc/opendkim/keys/MYDOMAIN.com/koexuka.txt koexuka._domainkey IN TXT ( "v=DKIM1; k=rsa; " "p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD(〜略〜)//ciSVp9o(〜略〜)ZBCwIDAQAB" ) ; ----- DKIM key koexuka for MYDOMAIN.com
DNS管理画面で以下を追加します。
Aレコード koexuka._domainkey.MYDOMAIN.com 123.45.67.89(IPアドレス) TXTレコード koexuka._domainkey p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNAD....ZBCwIDAQAB; v=DKIM1; k=rsa;
あとは実際にメールを送信してみて、受信側でメールヘッダに
dkim=pass
とあればOKです!
以上でぇぇぇぇえぇ〜す。