PostfixにDKIMを設定して送信メールサーバーの信頼度を上げる

email_lockサーバーから送信されたメールが迷惑メールと判定されないようにDKIM(DomainKeys Identified Mail)をPostfixに設定したときの覚書。

環境: CentOS 6.6, postfix 2.6.6, opendkim 2.9.0


参考サイト


目次

  1. OPENDKIMのインストール
  2. OPENDKIMの設定
  3. 公開鍵と秘密鍵を作成
  4. DNSに公開鍵情報を登録する
  5. postfixの設定
  6. メール送信して確認



1.OPENDKIMのインストール

YUMでさくっと完了。epelからインストールされた。
# yum install opendkim



2.OPENDKIMの設定

設定ファイルを編集
# vi /etc/opendkim.conf

Mode    sv
Umask   022
Selector        hoge
#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




3.公開鍵と秘密鍵を作成

鍵を保存するディレクトリを作成
# cd /etc/opendkim
# mkdir keys/hoge.com

鍵生成
# opendkim-genkey --bits=2048 -D keys/hoge.com/ -d hoge.com -s www01
-D:出力ディレクトリ
-d:ドメイン名
-s:DNSで登録する時に使うセレクタ名

ファイルのオーナーを変更
# chown opendkim. keys/hoge.com/www01.*



4.DNSに公開鍵情報を登録する

公開鍵を確認
# more keys/hoge.com/www01.txt

Value Domainの管理画面からDNSを編集する

txt www01._domainkey v=DKIM1; k=rsa; p=AABBCC


署名に使う秘密鍵を指定
# vi KeyTable

www01._domainkey.hoge.com hoge.com:www01:/etc/opendkim/keys/hoge.com/www01.private


署名を行うドメインを指定
# vi SigningTable

*@hoge.com   www01._domainkey.hoge.com


署名を許可するホストを確認。デフォルトで127.0.0.1が記載済み。
# less TrustedHosts


OPENDKIMの起動。自動起動登録。
# /etc/rc.d/init.d/opendkim start
# chkconfig opendkim on

起動時に下記エラーを出ないようにする。

Generating default DKIM keys:                              [WARNING]
Cannot determine host's domain name, so skipping default key generation.

# vi /etc/sysconfig/opendkim

AUTOCREATE_DKIM_KEYS=NO

確認
# /etc/rc.d/init.d/opendkim restart



5.postfixの設定

設定ファイルを編集
# vi /etc/postfix/main.cf

#
# OPENDKIM
#
smtpd_milters = inet:127.0.0.1:8891
non_smtpd_milters = $smtpd_milters
milter_default_action = accept

再起動
# /etc/rc.d/init.d/postfix restart



6.メール送信して確認

ログを監視しながらメール送信してみる。
# tail -f /var/log/maillog

# mail hoge@gmail.com

成功するとメールログに出力される。

Jan 28 18:21:13 web01 opendkim[12369]: 4E5CDA0239: DKIM-Signature field added (s=www01, d=hoge.com)

送信されたメールヘッダーを見ても確認できる。



< Related Posts >