TShopping

 找回密碼
 註冊
搜索
查看: 3057|回復: 3

[教學] CentOS 5 防堵垃圾郵件

[複製鏈接]
發表於 2009-6-23 21:44:27 | 顯示全部樓層 |閱讀模式
 
Push to Facebook Push to Plurk Push to Twitter 
本帖最後由 woff5678 於 2009-6-23 21:47 編輯

SpamAssassin 官方網站:http://spamassassin.apache.org/
  1. yum -y install spamassassin
  2. cp /etc/mail/spamassassin/spamassassin-spamc.rc /etc/procmailrc
複製代碼
備份local.cf的設定:
  1. cp /etc/mail/spamassassin/local.cf /etc/mail/spamassassin/local.cf.bak
複製代碼
local.cf 可參照下列網站產生:
http://www.yrex.com/spam/spamconfig.php

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

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

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

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

CCERT每週更新一次規則集和相應分數,更新使用CCERT反垃圾郵件服務在6個月內處理過的垃圾郵件為樣本。經常更新Chinese_rules.cf會使過濾效果更好。只要把上述下載命令以及重起mimedefang的命令放在crontab中,並定期運行就可以完成自動更新功能。假如你想一個月更新一次,那麼在root的crontab中應該添加一行:
  1. 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 檔:
  1. rpm -Uvh milter-greylist-3.0-2.el5.rf.i386.rpm
複製代碼
安裝之後,你必須編輯 /etc/mail/greylist.conf 按照你的需要。因為執行 milter-greylist 的使用者是 smmsp, 你必須在 #user "smmsp" 解除註解符號。

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

  2. chkconfig milter-greylist on
複製代碼
這樣就安裝 milter-greylist 完畢。但是工作還沒有完。你必須告訴 sendmail 收到郵件時要先給 milter-greylist 來處理。 所以要修改 /etc/mail/sendmail.mc。在 OSTYPE(`linux')dnl 之後加以下 (Hubert Ulliac 所提供):
  1. INPUT_MAIL_FILTER(`greylist',`S=local:/var/milter-greylist/milter-greylist.sock')

  2. define(`confMILTER_MACROS_CONNECT', `j, {if_addr}')

  3. define(`confMILTER_MACROS_HELO', `{verify}, {cert_subject}')

  4. define(`confMILTER_MACROS_ENVFROM', `i, {auth_authen}')
複製代碼
然後建新的 sendmail.cf
  1. m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
複製代碼
重新啟動 sendmail:
  1. 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




收藏 分享 評分

 

臉書網友討論
發表於 2013-11-9 00:59:43 | 顯示全部樓層
說的不錯  

版主招募中

發表於 2013-11-9 00:59:43 | 顯示全部樓層
不是吧  


發表於 2013-11-9 00:59:43 | 顯示全部樓層
真好。。。。。。。。。  


您需要登錄後才可以回帖 登錄 | 註冊 |

本版積分規則



Archiver|手機版|小黑屋|免責聲明|TShopping

GMT+8, 2016-12-7 02:20 , Processed in 0.095763 second(s), 19 queries .

本論壇言論純屬發表者個人意見,與 TShopping綜合論壇 立場無關 如有意見侵犯了您的權益 請寫信聯絡我們。

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表