woff5678 發表於 2009-6-23 21:44:27

CentOS 5 防堵垃圾郵件

本帖最後由 woff5678 於 2009-6-23 21:47 編輯

SpamAssassin 官方網站:http://spamassassin.apache.org/ 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.baklocal.cf 可參照下列網站產生:
http://www.yrex.com/spam/spamconfig.php

把上列網址產出的貼到 local.cf 內vi /etc/mail/spamassassin/local.cf重啟動spamassassin:/etc/rc.d/init.d/spamassassin restart開機自動執行spamassassinchkconfig spamassassin on測試:
普通郵件:spamassassin --test-mode < /usr/share/doc/spamassassin-3.1.3/sample-nonspam.txt垃圾郵件:spamassassin --test-mode < /usr/share/doc/spamassassin-3.1.3/sample-spam.txt現在 SpamAssassin 已經設定好了,你如何告訴 Sendmail 要呼叫 SpamAssassin 掃描進來的郵件?你可以使用 Sendmail 的 milter ( spamass-milt) 來做這個工作,但是我自己喜歡用 procmail 來處理。

編輯 /etc/procmailrc ﹝建這個檔案如果不存在﹞,內容如下::0fc
* < 256000
| /usr/bin/spamc
:0
* ^X-Spam-Level: \*\*\*\*\*\*\*\*
/dev/null
註:SpamAssassin 只會處理郵件大小小於 256000 bytes。如果 Spam-Level 成績有八個以上的 * ﹝確定這是 spam 郵件﹞就丟掉。

一切準備好了。重新啟動 SpamAssassin:service spamassassin restart你可以測試 SpamAssassin 會不會抓 spam。執行以下指令:cd /usr/share/doc/spamassassin-3.2.5

spamc < sample-spam.txt
更新 SpamAssassin 之規則
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﹞ 執行以下指令來更新:sa-update -D --nogpgChinese_rules.cf 的使用方法
下載Chinese_rules.cf,把該規則放在SpamAssassin存放規則的目錄(一般在/usr/share/spamassassin)。通過wget下載的命令如下:

CCERT每週更新一次規則集和相應分數,更新使用CCERT反垃圾郵件服務在6個月內處理過的垃圾郵件為樣本。經常更新Chinese_rules.cf會使過濾效果更好。只要把上述下載命令以及重起mimedefang的命令放在crontab中,並定期運行就可以完成自動更新功能。假如你想一個月更新一次,那麼在root的crontab中應該添加一行:0 0 1 * * wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf; /etc/init.d/init-script restart更多信息請參見CCERT中文垃圾郵件解決方案 CCERT-Anti-Spam-Solutions-v2.pdf


安裝 Milter-Greylist
http://dag.wieers.com/rpm/packages/milter-greylist/

安裝 rpm 檔:rpm -Uvh milter-greylist-3.0-2.el5.rf.i386.rpm安裝之後,你必須編輯 /etc/mail/greylist.conf 按照你的需要。因為執行 milter-greylist 的使用者是 smmsp, 你必須在 #user "smmsp" 解除註解符號。

現在我們可以啟動 milter-greylist:service milter-greylist start

chkconfig milter-greylist on
這樣就安裝 milter-greylist 完畢。但是工作還沒有完。你必須告訴 sendmail 收到郵件時要先給 milter-greylist 來處理。 所以要修改 /etc/mail/sendmail.mc。在 OSTYPE(`linux')dnl 之後加以下 (Hubert Ulliac 所提供):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.cfm4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf重新啟動 sendmail:service sendmail restart這樣,工作就告一段落。從今以後,恭喜你,因為你會注意到你收到的 spam 就減少很多。同時你也會注意到有病毒之email也會減少。

參考:
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




收藏 分享 評分

tcl2006 發表於 2013-11-9 00:59:43

說的不錯

kf1ukl 發表於 2013-11-9 00:59:43

不是吧

c19840105 發表於 2013-11-9 00:59:43

真好。。。。。。。。。
頁: [1]
查看完整版本: CentOS 5 防堵垃圾郵件