greylist 灰名單的機制原理是當 mail server 第一次收到寄件者的信時,會先予以退信,
若是寄件者的 mail server 是合法正式的, 則寄件者的 mail server 會嘗試再重新寄送,此時,我方的 mail server 才會收下這封信,
並將寄件者列入白名單 whitelist;而通常寄發垃圾信都是利用廣告信寄送軟體或非正式或不合法的 mail server,
所以信被退時,基於效率,也不會重試。
據估計,利用這樣的機制可先過濾掉 80% 的垃圾信。
postfix 灰名單的套件是 postgrey,不過至 CentOS5.x,postgrey 尚不是官方套件,得另外取得, 安裝。
上 rpm.pbone.net 或 www.rpmfind.net 下載 postgrey 的 RPM 並安裝。
設定 postfix 的 main.cf,要注意發行版本的設定法不一樣。
Debian / Ubuntu ----
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_policy_service inet:127.0.0.1:60000
RedHat / CentOS ----
smtpd_recipient_restrictions =
permit_mynetworks
permit_sasl_authenticated
reject_unauth_destination
check_policy_service unix:/var/spool/postfix/postgrey/socket
# 設定開機便啟動 postgrey
chkconfig postgrey on
# 立即執行 postgrey daemon 服務
service postgrey start
# 重新啟動 postfix
service postfix restart
# 驗證 postgrey 已開始運作
cat /var/log/maillog | grep greylist | less
若 log 裡有出現 greylist 字眼, 即表示 postgrey 已開始運作了。
沒有留言:
張貼留言