Linux防垃圾郵件軟件SpamAssassin:簡介
SpamAssassin是一個郵件過濾器,它部署在郵件服務器端,可以使用一系列的機制來確認垃圾郵件,可以在http://spamassassin.apache.org/downloads.cgi下載安裝。它主要有如下一些特性:
適用范圍廣:SpamAssassin使用大量的本地和網絡的測試來確認垃圾郵件特征。這使得垃圾郵件制造者在明確其制造的信息的可工作性時增加了難度。
自由軟件,應用廣泛:與其它流行的開源軟件一樣,愛好者可以廣泛的應用和修改、發布,應用前景很好。
易于擴展:SpamAssassin將反垃圾測試和配置信息存儲在純文本中,這使得配置和增加新的規則相當容易。
靈活性:SpamAssassin將其邏輯封裝在一個設計精良的、抽象化的API中,因此它可被集成到電子郵件數據流中的任何地方。SpamAssassin可被用于多種電子郵件系統中,其中包括:Procmail、Sendmail、Postfix、Qmail等。
易于配置:SpamAssassin幾乎不需要用戶的配置。用戶不必用郵件帳戶或郵件列表的成員資格詳細信息來不斷地更新SpamAssassin配置。一旦分類,站點和用戶規則就可以被運用于垃圾郵件。而且規則可以適用于郵件服務器,并且在以后又可以使用用戶自己的郵件用戶代理應用程序。
SpamAssassin包括spamd守護進程和spamc客戶端。雖然它包括SpamAssassin實用工具,但SpamAssassin文檔建議使用spamc而非SpamAssassin來過濾郵件,因為spamc比SpamAssassin加載得更快。當SpamAssassin單獨工作時,spamc調用spamd。spamd守護進程派生子進程; 當spamd運行時,ps除了顯示spamd父進程外還顯示幾個spamd子進程:
# ps -ef | grep spam
root 4254 1 0 14:17 ? 00:00:02 /usr/bin/spamd -d -c -m5 -H -r ...
root 4256 4254 0 14:17 ? 00:00:00 spamd child
root 4257 4254 0 14:17 ? 00:00:00 spamd child
root 4689 4662 0 16:48 pts/1 00:00:00 grep --color=auto spam
spamc實用工具是一個過濾器:它從標準輸入讀取每個電子郵件,發送電子郵件到spamd進行處理,并把修改后的電子郵件寫入到標準輸出。spamd守護進程使用多種技術來識別垃圾郵件:
Headeranalysis(標題分析):檢查疑似垃圾郵件的標題,有些垃圾郵件被人采用某種技巧處理后,可能會被誤認為是合法的電子郵件。
Text analysis(文本分析):檢查電子郵件正文中的垃圾郵件特征。
Blacklists(黑名單):檢查名單,看看發件人是否在現有垃圾郵件發送者列表中。
Database(數據庫):檢查針對Vipul’s Razor(razor.sourceforge.net)的郵件簽名,它是一個垃圾郵件跟蹤數據庫。
可以設置郵件服務器上的SpamAssassin,以使它處理傳遞到本地系統的所有電子郵件,然后再發送到用戶。另外,每個用戶可以從他們的郵件客戶端運行SpamAssassin。無論哪種方式,本地系統必須運行spamd,并且必須通過這個守護進程使用spamc過濾每封電子郵件。