postfixでDomainKeys
PostfixでDomainKeysを行う方法をメモ
インストール
http://jason.long.name/dkfilterからDomainKeys Filter dkfilterをダウンロードしてインストールする
秘密鍵、公開鍵を生成
# 秘密鍵を生成
openssl genrsa -out private.key 1024
# 公開鍵を生成
openssl rsa -in private.key -pubout -out public.key
DNSレコードの設定
domainkeyとselector1._domainkeyの二つが必要になるので、以下のように設定を行う
# _domainkey TXTレコードを設定
_domainkey IN TXT "t=y; o=~"
# selector1._domainkey TXTレコードを設定
selector1._domainkey IN TXT k=rsa; t=y; p=公開鍵内のデータを指定
受信時のDomainKeysフィルターを起動
メールを受信する際にDomainKeysの検証を行うフィルターを起動
dkfilter.in --hostname=ドメイン名 127.0.0.1:10025 127.0.0.1:10026
** 送信時のDomainKeysフィルターを起動
dkfilter.out \
# 秘密鍵のパスを指定
--keyfile=/etc/postfix/dk/private.key \
# DomainKeysのセレクタ名を指定
--selector=selector1 \
--domain=kdeveloper.biz \
--method=nofws \
--headers \
127.0.0.1:10027 127.0.0.1:10028
** /etc/postfix/master.cfを設定
smtp inet n - n - - smtpd
# 追加
-o smtpd_proxy_filter=127.0.0.1:10025
# 設定していない場合は追加
submission inet n - n - - smtpd
-o smtpd_sasl_auth_enable=yes
-o smtpd_sasl_security_options=noanonymous
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_sasl_authenticated,reject
-o smtpd_data_restrictions=
-o smtpd_etrn_restrictions=reject
-o content_filter=dksign:[127.0.0.1]:10027
# 追加
dksign unix - - n - 10 smtp
-o smtp_send_xforward_command=yes
-o smtp_use_tls=no
# 以降全て追加
localhost:10026 inet n - n - - smtpd
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks
-o smtpd_use_tls=no
localhost:10028 inet n - n - 10 smtpd
-o smtpd_authorized_xforward_hosts=127.0.0.0/8
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=
-o mynetworks=127.0.0.0/8
-o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
-o content_filter=
-o smtpd_use_tls=no