|  | 
 
 | 本帖最後由 woff5678 於 2009-6-23 21:47 編輯 
 
 | SpamAssassin 官方網站:http://spamassassin.apache.org/ 備份local.cf的設定:複製代碼 yum -y install spamassassin
cp /etc/mail/spamassassin/spamassassin-spamc.rc /etc/procmailrc
local.cf 可參照下列網站產生:複製代碼cp /etc/mail/spamassassin/local.cf /etc/mail/spamassassin/local.cf.bak
http://www.yrex.com/spam/spamconfig.php
 
 把上列網址產出的貼到 local.cf 內
 重啟動spamassassin:複製代碼vi /etc/mail/spamassassin/local.cf
開機自動執行spamassassin複製代碼/etc/rc.d/init.d/spamassassin restart
測試:複製代碼chkconfig spamassassin on
普通郵件:
 垃圾郵件:複製代碼spamassassin --test-mode < /usr/share/doc/spamassassin-3.1.3/sample-nonspam.txt
現在 SpamAssassin 已經設定好了,你如何告訴 Sendmail 要呼叫 SpamAssassin 掃描進來的郵件?你可以使用 Sendmail 的 milter ( spamass-milt) 來做這個工作,但是我自己喜歡用 procmail 來處理。複製代碼spamassassin --test-mode < /usr/share/doc/spamassassin-3.1.3/sample-spam.txt
 編輯 /etc/procmailrc ﹝建這個檔案如果不存在﹞,內容如下:
 註:SpamAssassin 只會處理郵件大小小於 256000 bytes。如果 Spam-Level 成績有八個以上的 * ﹝確定這是 spam 郵件﹞就丟掉。複製代碼:0fc
* < 256000
| /usr/bin/spamc
:0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*
/dev/null
 一切準備好了。重新啟動 SpamAssassin:
 你可以測試 SpamAssassin 會不會抓 spam。執行以下指令:複製代碼service spamassassin restart
更新 SpamAssassin 之規則複製代碼cd /usr/share/doc/spamassassin-3.2.5
spamc < sample-spam.txt
sa-update 程式會更新 SpamAssasssin 的規則。但使用 sa-update 之前你必須先安裝兩個 perl 模組: Archive::Tar and IO::Zlib.
 
 你可以下載這兩個程式在:
 http://search.cpan.org/~kane/。下載最新的 Archive-Tar.
 http://search.cpan.org/~tomhughes/。下載最新的 IO-Zlib.
 
 安裝這兩個程式之後,﹝為使用者 root﹞ 執行以下指令來更新:Chinese_rules.cf 的使用方法
 下載Chinese_rules.cf,把該規則放在SpamAssassin存放規則的目錄(一般在/usr/share/spamassassin)。通過wget下載的命令如下:
 
 CCERT每週更新一次規則集和相應分數,更新使用CCERT反垃圾郵件服務在6個月內處理過的垃圾郵件為樣本。經常更新Chinese_rules.cf會使過濾效果更好。只要把上述下載命令以及重起mimedefang的命令放在crontab中,並定期運行就可以完成自動更新功能。假如你想一個月更新一次,那麼在root的crontab中應該添加一行:
 更多信息請參見CCERT中文垃圾郵件解決方案 CCERT-Anti-Spam-Solutions-v2.pdf複製代碼0 0 1 * * wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart
 
 安裝 Milter-Greylist
 http://dag.wieers.com/rpm/packages/milter-greylist/
 
 安裝 rpm 檔:
 安裝之後,你必須編輯 /etc/mail/greylist.conf 按照你的需要。因為執行 milter-greylist 的使用者是 smmsp, 你必須在 #user "smmsp" 解除註解符號。複製代碼rpm -Uvh milter-greylist-3.0-2.el5.rf.i386.rpm
 現在我們可以啟動 milter-greylist:
 這樣就安裝 milter-greylist 完畢。但是工作還沒有完。你必須告訴 sendmail 收到郵件時要先給 milter-greylist 來處理。 所以要修改 /etc/mail/sendmail.mc。在 OSTYPE(`linux')dnl 之後加以下 (Hubert Ulliac 所提供):複製代碼service milter-greylist start
chkconfig milter-greylist on
然後建新的 sendmail.cf複製代碼INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')
define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')
define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')
define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')
重新啟動 sendmail:這樣,工作就告一段落。從今以後,恭喜你,因為你會注意到你收到的 spam 就減少很多。同時你也會注意到有病毒之email也會減少。複製代碼m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
 參考:
 http://blog.xuite.net/beavisliu/blog/10441463
 http://mail.savs.hcc.edu.tw/~chuavv/articles/spamassassin-tw.html
 http://jack.iou.tw/f2blog/index.php?load=read&id=44
 http://www.ccert.edu.cn/spam/sa/Chinese_rules.htm
 
 
 
 | 
 
 收藏 分享 評分
 | 
 |