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