Board logo

標題: [教學] mailscanner 在 postfix 上新的安裝方式 [打印本頁]

作者: adj    時間: 2007-11-30 13:13     標題: mailscanner 在 postfix 上新的安裝方式

這幾天回來逛逛板,看到 damon 學長提到 mailscanner 在 postfix 上面有新的安裝方式, 好奇的我就跑去看看,發現這個新的安裝方式比之前簡單很多,所以也在自己的機器上面操作了一次, 很順利的安裝成功了,原理是使用 postfix 的 hold 功能,不用再跑兩個 postfix, 板上好像還沒有朋友介紹,我在這邊把官方的文章簡單的用中文敘述一下; 原文也很短,如果我寫的不好的地方請大家參考原文: http://www.sng.ecs.soton.ac.uk/mailscanner/install/postfix.shtml 這邊的介紹跟上次一樣還是使用 f-prot 搭配 mailscanner 來運作, 也假設大家的 postfix 本來就已經正常運作中;實作的系統是 fedora core2。 1. 停止 postfix 運作
複製內容到剪貼板
代碼:
service postfix stop
2. 安裝 f-prot f-prot 是一套來自冰島的防毒軟體,在 linux 上面非營利個人用的話是免費的, 本身就支援到官方跟新病毒碼,掃毒能力也是一流,所以個人相當喜愛。 f-prot 有提供 rpm 的安裝包,不過下載之前需要填一些資料,需要的朋友可到這邊下載: http://www.f-prot.com/download/home_user/download_fplinux.html 下載回來以後直接安裝就可以了。 ADJ網站下載: http://www.adj.idv.tw/download/download/fp-linux-ws.rpm
複製內容到剪貼板
代碼:
rpm -ivh fp-linux-ws.rpm
3. 安裝 mailscanner
複製內容到剪貼板
代碼:
wget http://www.sng.ecs.soton.ac.uk/mailscanner/files/4/rpm/MailScanner-4.56.1-1.rpm.tar.gz tar -zxvf MailScanner-4.56.1-1.rpm.tar.gz cd MailScanner-4.56.1-1 ./install.sh
4. 設定 mailscanner 編輯 /etc/MailScanner/MailScanner.conf:
複製內容到剪貼板
代碼:
Run As User = postfix Run As Group = postfix Incoming Queue Dir = /var/spool/postfix/hold Outgoing Queue Dir = /var/spool/postfix/incoming MTA = postfix Virus Scanners = f-prot
5. 設定 postfix 編輯 /etc/postfix/main.cf:
複製內容到剪貼板
代碼:
header_checks = regexp:/etc/postfix/header_checks
編輯 /etc/postfix/header_checks:
複製內容到剪貼板
代碼:
/^Received:/ HOLD
6. 變更目錄權限
複製內容到剪貼板
代碼:
chown postfix:postfix /var/spool/MailScanner/incoming chown postfix:postfix /var/spool/MailScanner/quarantine
7. 啟動系統 大公告成啦,啟動系統來測試看看囉,這樣的安裝方式 mailscanner 會自己處理 postfix, 也就是說你不序要事先或者事後手動啟動 postfix,那樣的話反而會有錯誤, 本來有在系統中設定開機執行 postfix 也可以把他拿掉了, 另外 mailscanner 安裝好以後就預設開機啟動了,並不需要費心在去設定。
複製內容到剪貼板
代碼:
service MailScanner start
8. 附錄 mailscanner 安裝好以後他就會有個小程式幫你更新防毒軟體的病毒碼, 然而我個人是比較偏好 f-prot 官方附的,既然官方有的東西當然是用官方的好囉, 所以我把 /etc/cron.hourly/update_virus_scanners 備份起來然後刪除, 並且自己在 /etc/crontab 裡面加入這樣一行:
複製內容到剪貼板
代碼:
00 9 * * * root /usr/local/f-prot/tools/check-updates.pl -cron
就是每天早上九點用官方的更新程式去更新。 而且為了讓使用者收到 mailscanner 的訊息能夠容易閱讀, 我也修改了報告檔案,改成中文的,有需要的朋友可以下載回去用: http://www20.brinkster.com/skyjou/tw.tar.gz 不過我翻譯的很爛就是,壓縮檔裡面是一個 tw 目錄, 把檔案放在 /etc/MainScanner/reports 中,並且編輯 /etc/MailScanner/MainScanner.conf:
複製內容到剪貼板
代碼:
%report-dir% = /etc/MailScanner/reports/tw
這樣就行了,之前看到有些朋友提到會有錯誤之類的問題, 我想多半是因為目錄權限沒有設定正確,要正常使用至少要有讓 mailscanner 有 r 的權利。 最後想要測試看看有沒有真的能夠防毒,可以到這邊下載安全的測試用病毒寄給自己試試看: http://www.eicar.org/anti_virus_test_file.htm 文章取自: http://phorum.study-area.org/viewtopic.php?t=25022
作者: adj    時間: 2007-11-30 13:14

如果您在安裝MailScanner出現下面錯誤 

Good. You have the patch command.

Your /usr/src/redhat, /usr/src/RPM or /usr/src/packages
tree is missing.
If you have access to an RPM called rpm-build or rpmbuild
then install it first and come back and try again.

可以使用yum安裝下列套件
yum -y install rpm-build gcc-c++ rpm-devel zlib-devel libstdc++-devel bzip2-devel docbook-utils beecrypt-devel elfutils-devel gettext ncurses-devel readline-devel libselinux-devel
作者: adj    時間: 2007-11-30 13:14     標題: 讓 Spamassassin 學習辨別垃圾郵件

Spamassassin 的 Spam 分數可以由“學習”的方式來調整, 最好的方式是分別建立 blacklist (黑名單, 垃圾郵件) 和 whitelist (白名單, 非垃圾郵件) 的信箱:
複製內容到剪貼板
代碼:
#useradd -M blacklist
#useradd -M whitelist
以後如果收到垃圾信的話, 就把信 "以附加檔案方式轉寄" 給自己 Server 上的 blacklist 信箱; 如果是被 Spamassassin 誤判為垃圾信的郵件, 就把它轉寄給 whitelist. 也就是說, 讓這兩個信箱收集可以給 Spamassassin 學習的範本. 學習的指令如下:

學習黑名單:
複製內容到剪貼板
代碼:
#sa-learn -D --showdots --spam --mbox /var/mail/blacklist
學習白名單:
複製內容到剪貼板
代碼:
#sa-learn -D --showdots --ham --mbox /var/mail/whitelist
學習完成後, 即可將 blacklist 與 whitelist 信箱清空:
複製內容到剪貼板
代碼:
#true > /var/mail/blacklist; true > /var/mail/whitelist
讓系統每小時自動學習黑/白名單: 於 /etc/cron.hourly 建立一個可執行的 shell 檔, 內容為:
複製內容到剪貼板
代碼:
#!/bin/sh

if [ -s /var/spool/mail/blacklist ]; then

sa-learn --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 --ham --mbox /var/spool/mail/whitelist > /dev/null 2>&1
true > /var/spool/mail/whitelist

fi





歡迎光臨 ADJ網路實驗室 (http://dz.adj.idv.tw/) Powered by Discuz! 6.0.0