PostfixにDKIMを対応させる。(2)(CentOS-5のみ)
dkim-milterの最新バージョンは2.8.3だが、CentOSのm4のバージョンが古い為にビルドできないのでRPMパッケージからインストールしてみました。(2009年11月時点)
2010年3月 間違っているとの指摘を受けて一部修正しました。(なゆき様、ご指摘ありがとうございます)
参考にしたところ
- Set Up Postfix DKIM With dkim-milter
- Set Up DKIM On Postfix With dkim-milter (CentOS 5.2)
- Set Up DKIM For Multiple Domains On Postfix With dkim-milter 2.8.x (CentOS 5.3)
下準備 (以前のdkim-milterを削除する。)
service dkim-milter stop
rpm -e dkim-milter
※削除されなかったファイルやディレクトリも削除する。
GPG-KEY をインポートする
rpm --import http://ftp.riken.jp/Linux/fedora/epel/RPM-GPG-KEY-EPEL
rpmパッケージをインストールする。
rpm -ivh http://ftp.riken.jp/Linux/fedora/epel/5/i386/ dkim-milter-2.8.3-3.el5.i386.rpm (1行で記述)
ココで新しいバージョンの確認をする
公開鍵と秘密鍵を作成する
cd /etc/mail/dkim-milter/keys/ dkim-genkey -s selector -d exaple.com
秘密鍵のパーミッションを変更
chmod 600 selector.private chown dkim-milter:dkim-milter selector.private
ここからdkim-milterを設定する為にファイルの編集を行う。
keylistを修正する
vi /etc/mail/dkim-milter/keys/keylist # *:example.com:selector *:example.com:selector
dkim-fileter.confを修正する。
vi /etc/mail/dkim-milter/dkim-filter.conf # ADSPDiscard No ADSPDiscard yes # ADSPNoSuchDomain No ADSPNoSuchDomain yes # AllowSHA1Only no AllowSHA1Only no # AlwaysAddARHeader no AlwaysAddARHeader no # AutoRestart No AutoRestart yes # AutoRestartRate n/tu AutoRestartRate 10/1h # BaseDirectory /var/run/dkim-milter BaseDirectory /var/run/dkim-milter # Canonicalization simple/simple Canonicalization simple/simple # Domain mydomain1.com Domain example.com # ExternalIgnoreList filenameExternalIgnoreList /etc/mail/dkim/trusted-hostsExternalIgnoreList /etc/mail/dkim-milter/trusted-hosts # InternalHosts filenameInternalHosts /etc/mail/dkim/trusted-hostsInternalHosts /etc/mail/dkim-milter/trusted-hosts # KeyFile /var/db/dkim/example.private KeyFile /etc/mail/dkim-milter/keys/selector.private # KeyList /var/db/dkim/example.privateKeyList /etc/mail/dkim/keylistKeyList /etc/mail/dkim-milter/keylist # LocalADSP /etc/mail/local-adsp-rules LocalADSP /etc/mail/local-adsp-rules # Mode sv Mode sv # MTA name MTA MSA # On-Default On-Default reject # On-BadSignature On-BadSignature reject # On-DNSError On-DNSError tempfail # On-InternalError On-InternalError accept # On-NoSignature On-NoSignature accept # On-Security On-Security discard # PidFile filename PidFile /var/run/dkim-milter/dkim-milter.pid # RemoveOldSignatures No RemoveOldSignatures yes # Selector my-selector-name Selector selector # SignatureAlgorithm rsa-sha256 SignatureAlgorithm rsa-sha1 # Socket inet:20209@localhost Socket inet:10032@localhost # Syslog No Syslog yes # SyslogFacility mail SyslogFacility mail # SyslogSuccess No SyslogSuccess yes # TemporaryDirectory /var/tmp TemporaryDirectory /var/tmp # UMask 022 UMask 022 # UserID userid UserID dkim-milter:dkim-milter
(2009-12-22 修正)(2010-3-29 修正)
ADSPを設定する
vi /etc/mail/local-adsp-rules example.com:unknown
unix socketで動かなかったので inetを使う。
vi /etc/rc.d/init.d/dkim-milter
#SOCKET=local:/var/run/${name}/${name}.sock
SCKET inet:10032@localhost
SOCKET=inet:10032@localhost
LAN内のPCから送信して署名が付くようにする。
vi /etc/rc.d/init.d/dkim-milter
TRUST="/etc/mail/dkim-milter/trusted-hosts"
EXTRA_ARGS="-h -l -D -i ${TRUST} -I ${TRUST}"
署名をつけるネットワークのリストを設定。
vi /etc/mail/dkim-milter/trusted-hosts localhost 127.0.0.1 192.168.100.0/24 192.168.200.0/24
DNSへの設定
公開鍵をDNSのゾーンファイルへ書き込む。
cat /etc/mail/dkim-milter/keys/selector.txt >> /var/named/chroot/var/named/example.com.db(1行で記述)
DNSのゾーンファイルに追記する。
_adsp._domainkey.example.com. IN TXT "dkim=unknown" selector._domainkey IN TXT "v=DKIM1; g=*; k=rsa; p= ~省略~" ;----- DKIM selector for example.com
DNSをリロードする。
service named reload service named restart
dkim-milter起動設定
chkconfig dkim-milter on
Postfixの設定
vi /etc/postfix/main.cf #DKIM smtpd_milters = inet:10032 non_smtpd_milters = $smtpd_milters milter_default_action = accept
その他
手動でdkim-milterを起動、停止させる場合はPostfixも起動、停止させる必要が有ります。(順番が大切)
起動させる
service dkim-milter start service postfix start
停止させる
service postfix stop service dkim-milter stop
ここの下の方にある”DKIMのチェック メールで確認”に空メールを送信して動作確認すればOK
コメント&トラックバック
トラックバックURL: http://www.moritox.jp/centos/dkim_2/trackback