現在許多廣告信件都是亂丟,配合來源位址的偽造,可能造成主機在發信上有所阻礙。
例如這種狀況:
廣告信偽造的寄件位址是 no-this-name@yahoo.com.tw,寄給 no-this-user@example-host.com。如果 example-host.com 沒有 no-this-user 這個使用者,那信件會被退到 no-this-name@yahoo.com.tw,久而久之,example-host.com 可能會被 yahoo.com.tw 擋掉。
之前的文章 只提過 exim 上面的擋法,最近是摸出了 Postfix 的設定方式。
- 讓系統進行檢查,main.cf 要有這些片段:
smtpd_restriction_classes = fakemail_yahoo fakemail_gmail ... # fakemail_yahoo = check_client_access pcre:/usr/local/etc/postfix/fake/yahoo fakemail_gmail = check_client_access pcre:/usr/local/etc/postfix/fake/gmail # smtpd_sender_restrictions = ..., check_sender_access hash:/usr/local/etc/postfix/fake/CHECK, ...
- 製作規則對應檔(/usr/local/etc/postfix/fake/CHECK),內容大致如下(中間的大空格用 tab 隔開):
yahoo.com fakemail_yahoo yahoo.com.tw fakemail_yahoo gmail.com fakemail_gmail ...
- 製作規則檔(以 /usr/local/etc/postfix/fake/yahoo 為例),內容如下(中間的大空格用 tab 隔開):
/(^|\.)yahoo\.com$/ DUNNO /./ REJECT Fake address
- 用 postmap 產生規則對應檔的 hash map,接著讓 postfix 重新讀入設定檔。
對了,如果有 MX server 的話,都得一起上,不然沒用。
跑了一段時間後,效果還真的蠻顯著的。