2007年1月22日月曜日

SPFの設定(受信側)


とりあえず設定。

��途中作業チョンボがあり、数通をエラーコード450で再送要求しちゃいました(^^;



/etc/postfix/master.cfには、下記の場所に


#
# Interfaces to non-Postfix software. Be sure to examine the manual
# pages of the non-Postfix software to find out what options it wants.
# The Cyrus deliver program has changed incompatibly.
#
cyrus unix - n n - - pipe
flags=R user=cyrus argv=/usr/sbin/cyrdeliver -e -m ${extension} ${user}
uucp unix - n n - - pipe
flags=Fqhu user=uucp argv=uux -r -n -z -a$sender - $nexthop!rmail ($recipient)
ifmail unix - n n - - pipe
flags=F user=ftn argv=/usr/lib/ifmail/ifmail -r $nexthop ($recipient)
bsmtp unix - n n - - pipe
flags=Fq. user=bsmtp argv=/usr/lib/bsmtp/bsmtp -d -t$nexthop -f$sender $recipient
scalemail-backend unix - n n - 2 pipe
flags=R user=scalemail argv=/usr/lib/scalemail/bin/scalemail-store ${nexthop} ${user} ${extension}
policy unix - n n - - spawn
user=nobody argv=/usr/bin/perl /usr/lib/postfix/policyd-spf-perl


# only used by postfix-tls
#smtps inet n - n - - smtpd -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
#587 inet n - n - - smtpd -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes

postfix-policyd-spf-perlは1.08を使いました。




/etc/postfix/main.cfは、いつのまにかこんなことに(^^;;;;。


smtpd_client_restrictions = permit_mynetworks
check_client_access hash:/etc/postfix/access
reject_unknown_client
reject_unauth_destination
check_policy_service unix:private/policy




そして、/etc/mail/spamassassin/local.cfもこんな風に。


#---------------2007.01.21
header SPFSF Received-SPF =~ /softfail/
describe SPFPF Received-SPF: softfail
score SPFPF 4
header SPFPS Received-SPF =~ /pass/
describe SPFPS Received-SPF: pass
score SPFPF -20

#---------------2007.01.14
header SSBSD X-SSB-Status =~ /Server-Direct/
describe SSBSD SSB Server Direct
score SSBSD 4
header SSBNF X-SSB-Status =~ /Non-FQDN/
describe SSBNF SSB Non FQDN
score SSBNF 2
header SSBDR X-SSB-Status =~ /Doubt-Received/
describe SSBDR SSB Doubt-Received
score SSBDR 2



実稼働のMLをやっているサーバで、こんなに実験しては良くないかなぁ...。


4 件のコメント:

  1. spamassassinにもともとSPFに関するルールがあることを発見。
    debianだと/usr/share/spamassassin/25_spf.cfに書いてある。
    これを利用して、etc/mail/spamassassin/local.cfを下記のように変更。
    #---------------2007.01.21
    score SPF_PASS -20
    score SPF_FAIL 3
    score SPF_SOFTFAIL 3
    score SPF_HELO_PASS -5
    score SPF_HELO_FAIL 3
    score SPF_HELO_SOFTFAIL 3
    この
    score SPF_PASS -20
    はやりすぎかなぁ(^^;

    返信削除
  2. > この
    > score SPF_PASS -20
    > はやりすぎかなぁ(^^;
    http://blog.gcd.org/archives/51045068.html にもあるように、
    SPF_PASSを名乗るSPAMが増えてきているので、
    まずは
    score SPF_PASS -10
    に変更。
    そのうち postfix-policyd-spf-perl にもpatchが出てくるかな?

    返信削除
  3. postfix-policyd-spf-perlを
    postfix-policyd-spf-perl-1.08から
    postfix-policyd-spf-perl-1.08.1にバージョンアップした。
    最新はpostfix-policyd-spf-perl-2.004らしい。
    2.004にするには、いくつかのCPANモジュールを入れる必要がありそう。
    ��1.08.1にするにもlibversion-perlを入れる必要があったが。

    返信削除
  4. いまさらながら
    プロバイダからの転送をしていると
    postfix-policyd-spf-perlの中身を編集の必要があり
    そうです
    use constant relay_addresses => map(
    の qw( ) にリレーしてくるサーバのIPを入れる
    でも これを入れるとSPF は
    PREPEND X-Comment: SPF skipped for whitelisted relay
    とスキップ
    本当はそのリレー前のドメインをチェックしてくれるといいんですけれど...
    しょうがないですね

    返信削除