Linux操作系統(tǒng)怎樣防垃圾電子郵件
對于那些經(jīng)常上網(wǎng)的人,總會接收到垃圾電子郵件,這是一個非常讓人頭疼事。微軟的Windows中垃圾郵件已經(jīng)收到了很大的苦頭,不要以為在Linux操作系統(tǒng)平臺中就能避免垃圾電子郵件給我們帶來的騷擾,反擊和過濾垃圾電子郵件是一件很重要的工作。下面介紹一些在Linux操作系統(tǒng)中廣泛使用的防垃圾郵件技術。
(1)SMTP用戶認證
目前常見并十分有效的方法是,在郵件傳送代理(Mail Transport Agent,MTA)上對來自本地網(wǎng)絡以外的互聯(lián)網(wǎng)的發(fā)信用戶進行SMTP認證,僅允許通過認證的用戶進行遠程轉發(fā)。這樣既能夠有效避免郵件傳送代理服務器為垃圾郵件發(fā)送者所利用,又為出差在外或在家工作的員工提供了便利。如果不采取SMTP認證,則在不犧牲安全的前提下,設立面向互聯(lián)網(wǎng)的Web郵件網(wǎng)關也是可行的。 此外,如果SMTP服務和POP3服務集成在同一服務器上,在用戶試圖發(fā)信之前對其進行POP3訪問驗證(POP before SMTP)就是一種更加安全的方法,但在應用的時候要考慮到當前支持這種認證方式的郵件客戶端程序還不多。
(2)逆向名字解析
無論哪一種認證,其目的都是避免郵件傳送代理服務器被垃圾郵件發(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查詢。
(3)實時黑名單過濾
以上介紹的防范措施對使用自身合法域名的垃圾郵件仍然無效。對此比較有效的方法就是使用黑名單服務了。黑名單服務是基于用戶投訴和采樣積累而建立的、由域名或IP組成的數(shù)據(jù)庫,最著名的是RBL、DCC和Razor等,這些數(shù)據(jù)庫保存了頻繁發(fā)送垃圾郵件的主機名字或IP地址,供MTA進行實時查詢以決定是否拒收相應的郵件。但是,目前各種黑名單數(shù)據(jù)庫難以保證其正確性和及時性。例如,北美的RBL和DCC包含了我國大量的主機名字和IP地址,其中有些是早期的Open Relay造成的,有些則是由于誤報造成的。但這些遲遲得不到糾正,在一定程度上阻礙了我國與北美地區(qū)的郵件聯(lián)系,也妨礙了我國的用戶使用這些黑名單服務。
(4)內(nèi)容過濾
即使使用了前面諸多環(huán)節(jié)中的技術,仍然會有相當一部分垃圾郵件漏網(wǎng)。對此情況,目前最有效的方法是基于郵件標題或正文的內(nèi)容過濾。其中比較簡單的方法是,結合內(nèi)容掃描引擎,根據(jù)垃圾郵件的常用標題語、垃圾郵件受益者的姓名、電話號碼、Web地址等信息進行過濾。更加復雜但同時更具智能性的方法是,基于貝葉斯概率理論的統(tǒng)計方法所進行的內(nèi)容過濾,該算法最早由Paul Graham提出(http://www.paulgraham.com/spam.html),并使用他自己設計的Arc語言實現(xiàn)。這種方法的理論基礎是通過對大量垃圾郵件中常見關鍵詞進行分析后得出其分布的統(tǒng)計模型,并由此推算目標郵件是垃圾郵件的可能性。這種方法具有一定的自適應、自學習能力,目前已經(jīng)得到了廣泛的應用。最有名的垃圾郵件內(nèi)容過濾是Spamassassin,它使用Perl語言實現(xiàn),集成了以上兩種過濾方法,可以與當前各種主流的MTA集成使用。內(nèi)容過濾是以上所有各種方法中耗費計算資源最多的,在郵件流量較大的場合,需要配合高性能服務器使用。
以上就是Linux操作系統(tǒng)防垃圾郵件技術。
【編輯推薦】