電子郵件已成為電腦病毒散播的捷逕, 而廣告信亦是網(wǎng)際網(wǎng)路最頭痛的問題; 微軟創(chuàng)辦人比爾蓋茲甚至成立了一個(gè)部門, 專門替他從每天超過四百萬封的信件中, 剔除絕大多數(shù)的垃圾信...
安裝環(huán)境: Fedora Core 1 (使用 Sendmail)
【安裝】
Step 1. 安裝 MailScanner
官方網(wǎng)站: http://www.sng.ecs./mailscanner/
下載 Stable → Version xxx for RedHat and Mandrake Linux (and other RPM-based Linux distributions)
安裝後, 修改 /etc/MailScanner/MailScanner.conf:
| Max Children = 5 |
設(shè)定 MailScanner 啟動時(shí), 最多產(chǎn)生幾個(gè)子程序 (processing) 預(yù)設(shè)值 = 5 (主記憶體只有 64MB 時(shí), 建議設(shè)定為 1) |
| Virus Scanning = yes |
開啟病毒掃瞄功能 預(yù)設(shè)值 = yes |
| Virus Scanners = clamav |
指定病毒掃瞄套件 可一次指定多個(gè)掃毒套件, 以空白字元分隔即可 預(yù)設(shè)值 = none |
| Use SpamAssassin = yes |
設(shè)定是否使用 SpamAssassin 套件來偵測廣告信件 必須先安裝 SpamAssassin 套件才可正常使用 預(yù)設(shè)值 = no |
Step 2. 安裝 Clam AntiVirus
官方網(wǎng)站: http://www./
安裝前須建立 clamav 帳號:
#useradd -M clamav
安裝後, 修改以下檔案:
/usr/local/etc/clamd.conf
/usr/local/freshclam.conf
將 Example 加上井字號註解掉 → #Example
執(zhí)行 /usr/local/bin/freshclam 測試是否能正常運(yùn)作
Step 3. 重新啟動 MailScanner
#service MailScanner stop
#chkconfig sendmail off (以後就由 MailScanner 啟動 sendmail, 所以要禁止 sendmail service 於開機(jī)時(shí)自動啟用)
#killall sendmail (有時(shí)候 sendmail process 會殘存在記憶體中, 在此將它一舉消滅)
#service MailScanner start
※從此以後, 由 MailScanner 負(fù)責(zé)啟動 MTA (Sendmail), 所以取消 Sendmail 服務(wù), 由 MailScanner 取代
【防毒機(jī)制測試】
至 http://www./anti_virus_test_file.htm 下載病毒檔, 透過剛剛裝上 MailScanner 的 Mail Server 進(jìn)行病毒郵件發(fā)送測試, 成功的話會收到 Mail Server 攔截病毒郵件的通知郵件. (亦可 tail -f /var/log/maillog 監(jiān)視 mail log 訊息)
【讓 Spamassassin 學(xué)習(xí)辨別垃圾郵件】
Spamassassin 的 Spam 分?jǐn)?shù)可以由“學(xué)習(xí)”的方式來調(diào)整, 最好的方式是分別建立 blacklist (黑名單, 垃圾郵件) 和 whitelist (白名單, 非垃圾郵件) 的信箱:
#useradd -M blacklist
#useradd -M whitelist
以後如果收到垃圾信的話, 就把信 "以附加檔案方式轉(zhuǎn)寄" 給自己 Server 上的 blacklist 信箱; 如果是被 Spamassassin 誤判為垃圾信的郵件, 就把它轉(zhuǎn)寄給 whitelist. 也就是說, 讓這兩個(gè)信箱收集可以給 Spamassassin 學(xué)習(xí)的範(fàn)本. 學(xué)習(xí)的指令如下:
學(xué)習(xí)黑名單:
#sa-learn -D --showdots --spam --mbox /var/mail/blacklist
學(xué)習(xí)白名單:
#sa-learn -D --showdots --ham --mbox /var/mail/whitelist
學(xué)習(xí)完成後, 即可將 blacklist 與 whitelist 信箱清空:
#true > /var/mail/blacklist; true > /var/mail/whitelist
讓系統(tǒng)每小時(shí)自動學(xué)習(xí)黑/白名單: 於 /etc/cron.hourly 建立一個(gè)可執(zhí)行的 shell 檔, 內(nèi)容為:
#!/bin/sh
if [ -s /var/spool/mail/blacklist ]; then
sa-learn --no-sync --spam --mbox /var/spool/mail/blacklist > /dev/null 2>&1
true > /var/spool/mail/blacklist
fi
if [ -s /var/spool/mail/whitelist ]; then
sa-learn --no-sync --ham --mbox /var/spool/mail/whitelist > /dev/null 2>&1
true > /var/spool/mail/whitelist
fi
sa-learn --sync > /dev/null 2>&1
【參考資料】
老實(shí)說我也不太清楚會不會影響學(xué)習(xí)效果
不過寄件者是內(nèi)部 user, 應(yīng)該不至於會被判為 spammer
如果要讓系統(tǒng)重新學(xué)習(xí), 只要執(zhí)行 sa-learn --clear 就行了