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