postfixでDomainKeys

2009-12-15T00:00:00+09:00 postfix

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

squid postfixでSPF