まず、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 件のコメント:
コメントを投稿