在Linux中如何配置Sendmail防范垃圾郵件
垃圾郵件問題已經(jīng)極大地消耗了網(wǎng)絡資源,并給人們帶來了極大的不便。據(jù)中國互聯(lián)網(wǎng)協(xié)會(ISC)反垃圾郵件狀況調(diào)查顯示,中國郵件用戶平均每人每天收到郵件17封,占收到郵件總數(shù)的70%以上。
目前,垃圾電子郵件已成為人們最頭疼的問題之一。在Linux操作系統(tǒng)平臺中,反擊和過濾垃圾電子郵件是一件很重要的工作。下面介紹一些在Linux中廣泛使用的防垃圾郵件技術。
常見的垃圾郵件防范技術
SMTP用戶認證技術
目前常見并十分有效的方法是,在郵件傳送代理MTA上對來自本地網(wǎng)絡以外的互聯(lián)網(wǎng)的發(fā)信用戶進行SMTP認證,僅允許通過認證的用戶進行遠程轉(zhuǎn)發(fā)。這樣既能夠有效避免郵件傳送代理服務器為垃圾郵件發(fā)送者所利用,又為出差在外或在家工作的員工提供了便利。如果不采取SMTP認證,那么在不犧牲安全的前提下,設立面向互聯(lián)網(wǎng)的Web郵件網(wǎng)關也是可行的。此外,如果SMTP服務和POP3服務集成在同一服務器上,在用戶試圖發(fā)信之前對其進行POP3訪問驗證(POP before SMTP)就是一種更加安全的方法,但在應用的時候要考慮到當前支持這種認證方式的郵件客戶端程序還不多。
逆向DNS解析
無論哪一種認證,其目的都是避免郵件傳送代理服務器被垃圾郵件發(fā)送者所利用,但對于發(fā)送到本地的垃圾郵件仍然無可奈何。要解決這個問題,最簡單有效的方法是對發(fā)送者的IP地址進行逆向名字解析。通過DNS查詢來判斷發(fā)送者的IP與其聲稱的名字是否一致,例如,其聲稱的名字為mx.hotmail.com,而其連接地址為20.200.200.200,與其DNS記錄不符,則予以拒收。這種方法可以有效過濾掉來自動態(tài)IP的垃圾郵件,對于某些使用動態(tài)域名的發(fā)送者,也可以根據(jù)實際情況進行屏蔽。但是上面這種方法對于借助Open Relay的垃圾郵件依然無效。對此,更進一步的技術是假設合法的用戶只使用本域具有合法互聯(lián)網(wǎng)名稱的郵件傳送代理服務器發(fā)送電子郵件。例如,若發(fā)件人的郵件地址為someone@yahoo.com,則其使用的郵件傳送代理服務器的Internet名字應具有yahoo.com的后綴。這種限制并不符合SMTP協(xié)議,但在多數(shù)情況下是切實有效的。需要指出的是,逆向名字解析要進行大量的DNS查詢。
配置Sendmail防范垃圾郵件
Sendmail是Red Hat Linux以及大多數(shù)類UNIX操作系統(tǒng)的郵件傳送代理,因此它是目前配置最廣泛的郵件服務器。下面以Red Hat Enterprise Linux 6使用的Sendmail為例,介紹應對垃圾郵件的幾種具體方法。其他開源郵件服務器防范垃圾郵件的配置,也可以參考本節(jié)的介紹進行配置。
關閉Sendmail的Relay功能
所謂Relay就是指別人能使用提供該功能的SMTP郵件服務器給任何人發(fā)信,這樣別有用心的垃圾發(fā)送者就可以使用這臺郵件服務器大量發(fā)送垃圾郵件,而***別人投訴的不是垃圾發(fā)送者,而是這臺服務器,因此必須關閉Relay這項功能。其方法就是,到Linux服務器的/etc/mail目錄編輯access文件,去掉“*relay”之類的設置,只留“localhost relay”和“127.0.0.1 relay”兩條即可。***特別注意,修改access文件后還要使用命令使修改生效:#makemap hash access.db < access
在Sendmail中添加RBL功能
RBL(Realtime Blackhole List)是實時黑名單。國外有一些機構提供RBL服務,常用的RBL服務器地址有relays.ordb.org、dnsbl.njabl.org、bl.spamcop.net、sbl.spamhaus.org、dun.dnsrbl. net和dnsbl.sorbs.net。查詢和刪除RBL中的IP地址可以到http://openrbl.org/和http://ordb.org。RBL將收集到的專發(fā)垃圾郵件的IP地址加入他們的黑名單,只要在Sendmail中加入RBL認證功能,就會使郵件服務器在每次收信時都自動到RBL服務器上去查實,如果信件來源于黑名單,則Sendmail會拒收郵件,從而使用戶少受垃圾郵件之苦。在Sendmail中添加RBL認證,需要對sendmail.mc添加以下內(nèi)容:
FEATURE(`dnsbl',`relays.ordb.org',`″Email blocked using ORDB.org - see ″')
***執(zhí)行“m4 sendmail.mc>sendmail.cf”和“service sendmail restart”兩條命令,使有關Sendmail的修改生效。