(4)使用專用工具防止垃圾郵件
SpamAssassin的安裝過程比較簡單,這里就不贅述了。
其配置過程如下:
SpamAssassin預(yù)設(shè)了許多默認(rèn)規(guī)則,可以在/usr/share/spamassassin下找到,用戶想添加自己的規(guī)則,可以配置通過/etc/mail/spamassassin/local.cf文件實(shí)現(xiàn)。要在其中添加白名單(即可以確信不會發(fā)送垃圾郵件的發(fā)件人列表)。設(shè)置代碼如下:
|
以上兩條規(guī)則將people@basic.com郵箱和@people.com整個(gè)域加入了白名單。
下面還要把SpamAssassin與Sendmail(此處以Sendmail為例,Qmail、Postfix略有不同)整合在一起。最簡單的方法是使用procmail來調(diào)用SpamAssassin過濾器。procmail來調(diào)用SpamAssassin的過程如圖2所示。
添加以下內(nèi)容到/etc/procmailrc文件:
|
如果希望SpamAssassin不檢查大郵件,可以對其做出限制,添加一行:
|
這段代碼表示把郵件檢查的大小限制在1000K字節(jié)以內(nèi)。SpamAssassin還提供了一個(gè)專門的spamd后臺守護(hù)程序,可以設(shè)置為系統(tǒng)啟動(dòng)時(shí)自動(dòng)啟動(dòng)。在Mail-SpamAssassin-3.-0.2/spamd/下有一個(gè)redhat-rc-script.sh腳本,將此腳本放入RedHat的啟動(dòng)目錄/etc/rc.d/init.d/下即可。同時(shí),還需要對/etc/procmailrc文件做如下修改:
|
這樣就可以通過控制spamd進(jìn)程來調(diào)整過濾器的運(yùn)行狀態(tài)。配置完成后,可以發(fā)郵件進(jìn)行測試。如果看到在郵件頭出現(xiàn)與spam檢查相關(guān)的幾項(xiàng)內(nèi)容,表示SpamAssassin已經(jīng)開始發(fā)揮作用。
除了設(shè)置內(nèi)部的規(guī)則之外,SpamAssassin也可以訪問其他外部的垃圾郵件過濾規(guī)則集,這樣可以進(jìn)一步增強(qiáng)其適用性。Chinese_rules.cf是用于垃圾郵件過濾系統(tǒng)SpamAssassin的中文垃圾郵件過濾規(guī)則集。由于以前沒有中文的過濾規(guī)則集,SpamAssassin對中文郵件過濾的準(zhǔn)確性不高。CCERT反垃圾郵件研究小組推出了第一個(gè)基于SpamAssassin的中文垃圾郵件過濾規(guī)則集Chinese_rules.cf。把Chinese_rules.cf復(fù)制到/usr/share/spamassassin配置文檔中的命令為:
|
要注意的是,CCERT每周更新一次規(guī)則集,更新使用CCERT反垃圾郵件服務(wù)在6個(gè)月內(nèi)處理過的垃圾郵件為樣本。經(jīng)常更新Chinese_rules.cf會使過濾效果更好。
Linux有一個(gè)稱為crond的守護(hù)程序,主要功能是周期性地檢查/var/spool/cron目錄下的一組命令文件的內(nèi)容,并在設(shè)定的時(shí)間執(zhí)行這些文件中的命令。用戶可以通過crontab命令來建立、修改、刪除這些命令文件。例如用crontab命令實(shí)現(xiàn)每周一08:35自動(dòng)更新:
A.首先建立一個(gè)文件,文件名稱myproject(名稱可隨意設(shè)定):
|
B.文件內(nèi)容為:
|
用vi編輯后存盤退出。
C.使用crontab命令添加到任務(wù)列表中:
#crontab myproject
這樣,Linux服務(wù)器便會在每星期一的8點(diǎn)35分會自動(dòng)下載Chinese_rules.cf更新規(guī)則。
(5)Sendmail服務(wù)器防范DoS攻擊措施
通過設(shè)置/etc/mail/Sendmail.mc的一些目錄限度,DoS攻擊的有效性就會大受限制。(可參考本刊8月刊《分類防范對Linux的DoS》)。另外可以考慮使用非root權(quán)限運(yùn)行Sendmail服務(wù),使用基于xinetd的SMTP服務(wù)即可。
缺省情況下Sendmail的守護(hù)進(jìn)程作為set-UID用戶進(jìn)程來運(yùn)行。如果Sendmail的守護(hù)進(jìn)程被緩沖區(qū)溢出攻擊的話,可能危及root賬號的安全,而root用戶的權(quán)限最高,攻擊者可以摧毀整個(gè)服務(wù)器。因此需要降低Sendmail運(yùn)行權(quán)限為普通用戶。方法如下:
A.建立mail用戶名稱:
|
B.修改Sendmail使用的文件和目錄的權(quán)限:
|
C.為Sendmail創(chuàng)建一個(gè)超級訪問程序/etc/xine.d/Sendmail:
|
D.修改/etc/crontab,使其擁有如下實(shí)體:
|
表示10分鐘運(yùn)行一次郵件服務(wù)器。
E.修改配置文件site.config.m4,添加以下內(nèi)容:
|
F.停止Sendmail守護(hù)進(jìn)程。
G.使用“killall -USR1 xinetd”重新啟動(dòng)xinetd超級服務(wù)器。
H.使用命令:“telnet localhost 25”連接Sendmail。
I.查看Sendmail運(yùn)行情況,使用命令:
|
上面顯示Sendmail作為mail用戶在運(yùn)行。然后使用quit命令推出即可。
新聞熱點(diǎn)
疑難解答