2007/08/04

DKIM milterをFreeBSD6で試す

ようやくRFC4871として承認されたDKIMをFreeBSD6上で試してみる。
まず、portsからdkim-milter-1.2.0をインストール。
次にDKIMのユーザを作成。uidは任意(ユーザ名はdkim)、gidは6(mail)にする。

domain.co.jpドメインに対して、selectorというselector名で鍵を生成。


/usr/local/sbin/gentxt-dkim selector domain.co.jp


公開鍵の selector.public と秘密鍵の selector.private が生成されて、標準出力にDNSのTXTレコードが出力される。

生成したTXTレコードをDNSサーバに追加し、以下のポリシーも設定する。

_policy._domainkey IN TXT "t=y; o=~"


host コマンドで設定が反映されているか確認。

host -t txt selector._domainkey.domain.co.jp
host -t txt _policy._domainkey.domain.co.jp


/etc/mailに秘密鍵と公開鍵を移動してオーナーとパーミッションを変更。

mv selector.public selector.private /etc/mail
chown dkim:mail /etc/mail/selector.private
chmod 440 /etc/mail/selector.private


pid ファイルや MTA と通信するためのソケットを生成するディレクトリを作成。

mkdir /var/run/milter
chown dkim:mail /var/run/milter


milterを起動する。

/usr/local/libexec/dkim-filter -P /var/run/milter/dkim-filter.pid \
-p local:/var/run/milter/dkim -l -d domain.co.jp -s selector \
-k /etc/mail/selector.private -u dkim


/var/run/milterディレクトリにsocketが生成されていることを確認する。

-rw-r--r-- 1 dkim mail 6 Aug 4 15:41 dkim-filter.pid
srwxr-xr-x 1 dkim mail 0 Aug 4 15:41 dkim=


/var/log/maillogを確認すると、以下のようなメッセージが書き込まれる。

dkim-filter[79305]: Sendmail DKIM Filter v1.2.0 starting (args: -P /var/run/milter/dkim-filter.pid -p local:/var/run/milter/dkim -l
-d domain.co.jp -s selector -k /etc/mail/selector.private -u dkim)


sendmailの設定変更

/etc/mailにhostname.mcがあるので、以下の一行を追加し、make cfを実行すると、hostname.cfが生成されるので、sendmail.cfにmvして、sendmailを再起動。

INPUT_MAIL_FILTER(`dkim-filter', `S=local:/var/run/milter/dkim, F=T')


/etc/rc.d/sendmail restart


sa-test@sendmail.net(@は全角文字になっています)にテストメールを送信してみると、以下のようなテスト結果。

Authentication System: DomainKeys Identified Mail
Result: DKIM signature confirmed GOOD
Description: Signature verified, message arrived intact
Reporting host: sendmail.net
More information: http://mipassoc.org/dkim/
Sendmail milter: https://sourceforge.net/projects/dkim-milter/


うまく動作している様子。

0 件のコメント: