asmusic.jpとwfbbs.orgのメールをDKIMに対応させてみました。
portsでdkim-milterをインストールして設定。
#dkim-genkey -d asmusic.jp -s asmusic
で秘密鍵と公開鍵を作成。dkim.private, dkim.txtに名前変更して/usr/local/etc/mail にコピーしてchown mailnull dkim.*としておきます。
dkim.txtの内容はDNSのゾーンファイルに記載。うちはDNSSECの導入しているので再署名してDNSに登録。
/etc/rc.confに
milterdkim_enable="YES"
milterdkim_domain="asmusic.jp"
milterdkim_key="/usr/local/etc/mail/dkim.private"
milterdkim_selector="asmusic"
milterdkim_socket="local:/var/run/milterdkim/filter"
milterdkim_flags="-h -D -i /usr/local/etc/mail/dkim-hosts"
を記載(flagsの-hはmilter-dkimのバージョンなどをメールヘッダに記載するものなので、動作確認が取れたら削除した方がセキュリティ上よさそう)
mkdir /var/run/milterdkim; chmod 755 /var/run/milterdkim; でディレクトリ作っておきます。group writableになってるとエラーで起動しないのでパーミッションを修正。
あと/usr/local/etc/rc.d/milter-dkimの最後の方の
rmdir ${_piddir} > /dev/null 2&>1
をコメントアウトしておきます(pidファイルとunix socketのディレクトリを共通化しているので、この行があると終了したときにディレクトリが削除されてしまい、次に起動したときにパーミッション775で新たに作成されてエラーになるので…)
/usr/local/etc/mail/dkim-hosts ファイルを作成し、署名をつけるメールを投げる元(SMTPサーバに接続するクライアント)のIPアドレスやホスト名を列挙しておきます。
sendmailは/etc/mail/[hostname].mcファイルに
FEATURE(`no_default_msa')
DAEMON_OPTIONS(`Port=587, Name=MSA-v4, M=E, Family=inet, InputMailFilters=dkim-filter,')
DAEMON_OPTIONS(`Port=587, Name=MSA-v6, M=E, Family=inet6, InputMailFilters=dkim-filter,')
INPUT_MAIL_FILTER(`dkim-filter', `S=unix:/var/run/milterdkim/filter, F=T, T=R:2m')
を記載(上3行はポート587で投げたメールに署名をするための設定, 4番目はdkim-filter自体を登録する設定)。書いたらmakeしてcfファイルを生成し、sendmail.cfにリネーム。
あとはmilter-dkimを起動してsendmailを再起動すれば署名、検証ともに動作するでしょう。とりあえず署名のテストはsa-test@sendmail.netにメール出してみるとDKIM, SenderID, SPFのチェックをして結果を送り返してくれます。向こうからのメールにもDKIM署名がついているので、ヘッダを見れば検証のテストも出来ます(Authentication-Resultsヘッダにdkim=passとか書いてあればOK)。
2013-12-27 23:38:25[FreeBSD][コンピュータ]
この記事へのトラックバックURL: https://www.asmusic.jp/ASHARD/score/tb.cgi/yu-oishi/20131226_1
手動トラックバック