利用 Postfix 抵擋垃圾信參考文件
SPAM 一直以來是郵件管理人員心中的痛,就算設定了再強的過瀘規則,SPAM 還是有辦法如洪水般的湧進來。當然,大部份的 SPAM 都是不遵守網路規則的。以下,有一些小小方法來抵擋“基本”的來源。
這應該是最常用的過瀘方法,但是隨著網路上亂丟垃圾的人手段越來越高明,會逼得我們只好一條一條的去新增規則,當然,在常見的 SPAM 下,使用 header_checks 及 body_checks 還是有很大的作用。 要使用 header_checks 或 body_checks 請在 main.cf 加上去就可以了。如果在指定的檔上是不存在的,則請手動建立。
在 2004 年開始,台灣各大 ISP 已把動態 IP 的反解改成 dynamic.*.net.tw,因此,對於此資訊,我們可以設定出一套規則,記錄在 access 裡,把來自動態 IP 的信都擋掉。 要使用這個機制,在 main.cf 加一筆設定既可。
而 access 的內容為:
設定好之後, 要記得使用 postmap 產生 access.db 檔, 然後再重新載入 postfix, 這樣才會生效.
這個機制是查尋寄件者的主機位址,再使用這個位置去做 DNS 查尋,一般在 SPAM 新手會隨意造一個主機名稱以企圖矇騙過關,對於這種手法實只要使用一個設定既可。 要使用這種機制,在 main.cf 加上一筆:
隨著科技的進步,可能到處撒垃圾的 SPAM 發送者已知道我們可以從 DNS 去做查尋工作,因為就隨意去申請一個 domain name,如此就可以通過 reject_unknown_sender_domain 的檢查了。 接下來,既然使用 DNS 的正向查尋 OK,那麼我們就來檢查一下反解的動作,一般良好的 DNS 管理者,應該要把 DNS 正、反解都設定好,做個遵守規範管理員,然而 SPAM 發送者確經常不設定好,以致於在反查的時候會找不到連線主機的 IP 反解。我們可以利用這一點來過瀘這種手法。
這種過濾方法不是參考寄件者的主機名稱,而是利用 Client 連過來時的 IP 位置。 在 main.cf 加上一筆:
當然,這種方式非常的有效,但也“超乎你所想像”的有效,為什麼這麼說呢?一些合法的信件、也許不是垃圾信,會因為查不到 DNS 的 PTR 記錄而被擋到外面。像這種“例外的案子”就必需把他們加入到 mynetworks 這個項目裡以便收到他的“例外信件”。 因此,您的 mynetworks 必需加一個段落,以 11.22.33.44 來說,我們就必需使用如下方法:
再把他加到 smtpd_sender_restrictions 裡,配合 reject_unknown_client 一起使用。
因為 permit 的項目如果驗證通過,就會離開整個 smtpd_sender_restrictions 的規則,所以當使用者從 11.22.33.44 連上來的時候,就會被視為合合的來源,而不會被 reject_unknown_client 所過濾。 DNS & Mail在防堵別人的 mail 之前,一定要把自家的設定都弄得很完善才行,如此才可以跟對方說“那是你的問題”尤其是在 DNS 方面。 DNS 裡必需指定最少一個 MX record 到你正解設定,如:
這樣,才算遵守規則。在反解方面,也必需設定完全。
做測試
以上,如果在手工測試 OK 之後都有結果,那麼就可以確定你的 DNS 致少是好的。 很多機關已把垃圾信的過濾規則定得相當嚴僅,比如出現三個驚嘆號 (!!!) 就馬上退信,當然在一般的做法上是不用如此的嚴格,選出適用的條件既可。
|
|||||||||||||