Postfix+SASL+Spamassassin

為了從mail daemon上擋SoBig.worm,順便告別Sendmail,我邁向了postfix之路。

1.首先是Postfix的安裝:
這篇gslin的PostfixInstall(http://ccca.nctu.edu.tw/~hlb/tavi/PostfixInstall) 惠我良多。

2.再來是SASL的部份,這裡參考http://www.gocar.idv.tw/teachdata/postfix-sasl.htm

3.再來是Virtual Domain的部份,在設定好mydestination、relay-domains及aliases-system之後,也把原來的virtualuser轉過來成為virtual,並在main.cf裡作相關的設定。
這部份參考:Postfix Configuration – Address Manipulation

4.SpamAssassin:
SpamAssassin是我用來作為擋廣告信的filter,之前一直使用PC上的SAProxy作為一pop3 proxy/filter,現在想裝在server端試試。
參考: PostfixSpamAssassin
不過裝起來後雖然運作正常,但是自定的rule一直沒辦法發揮作用,應該是我寫錯了吧,我想。

5.Sobig病毒:
參考Ralf Hildebrandt
的作法,在main.cf中加入:

mime_header_checks = regexp:/etc/postfix/mime_header_checks.regexp

在mime_header_checks.regexp中加入:

/filename=”?(.*)\.(pif)”?$/
  REJECT For security reasons we reject attachments of this type

反正應該沒有人會用pif當一般的夾檔….:p

以下是我主要的postfix設定檔:
main.cf:

mydestination = /usr/local/etc/postfix/mydestination
relay_domains = /usr/local/etc/postfix/relay-domains
alias_maps = hash:/usr/local/etc/postfix/aliases-system
alias_database = $alias_maps
virtual_alias_maps = hash:/usr/local/etc/postfix/virtual

# smtpd_recipient_restrictions = permit_sasl_authenticated
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_client_restrictions = permit_sasl_authenticated
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_sasl_local_domain =serv.idv.tw

# about spamassassin and mime-checks
header_checks = pcre:/usr/local/etc/postfix/header-checks
body_checks = regexp:/usr/local/etc/postfix/body_checks.regexp
mime_header_checks = regexp:/usr/local/etc/postfix/mime_header_checks.regexp

寫一個簡單的script來refresh aliases/virtual等檔案
refresh.sh:

#!/bin/sh
#
# by PipperL
# 當有alias及virtual有變化時,run 此檔
echo ‘renew you system-wide aliases….(aliases-system)’
/usr/bin/newaliases

echo ‘renew virtual domain mailbox….’
/usr/local/sbin/postmap virtual

/usr/local/sbin/postfix reload

有空的話,再來玩玩procmail……

發佈留言