Calendar

六月 2005
« 四月   七月 »
 12345
6789101112
13141516171819
20212223242526
27282930  

Categories

改用 amavisd-new 來搭 clamav

因為 clamsmtp 實在太自作主張了,
今天考完 computer architecture 回家就把它移除,
著手安裝 amavisd-new,
它的設定還蠻複雜的...

由於 FreeBSD 從 ports 安裝的話,
預設就會有一份 amavisd.conf,
裡面的設定就是假設你用的是 spamassassin + uvscan 的環境,
所以要先把 spamassassin 關掉,
在前面加上一行 @bypass_spam_checks_maps = (1); 就可以了,
其它就是照大多數 google 搜得到的去設定那幾項...

postfix 的 master.cf 就在後面加上:

然後 main.cf 最後補一行

就可以了。 

再來就是要讓執行 clamav daemon 的 user 和 amavisd 一樣,
我覺得改 clamav 的 user 比較簡單,
就把 clamav 相關設定檔裡的帳號改成 vscan,
然後去 /var 下面找到相對應的幾個目錄 chown 一下...

由於 amavisd 還會很雞婆的去用 regexp 掃一堆東西然後把信丟掉或是做額外的標記處理,
所以又加上了:

把這些多餘的行為濾除掉...
要知道怎樣設定這些東西,
必須看 amavisd.conf-default 的內容才知道,
這裡面有最完整的解說,
以及各選項變數的預設值...

再來就是我很不喜歡 MTA 主動把信丟掉,
丟或不丟的處理應該由 MUA 來負責才對,
MTA 只應該盡到告知的義務即可,
所以全部的情形都把它設定成 D_PASS:

雖然只有用到 virus,不過既然看到就順手改一改...
這樣如果掃出來是病毒信,
amavisd-new 會產生一封新信件,
把原信當成附件送給 user,
新信件的內容會寫出病毒名稱,
header 會出現以「X-Amavis-Alert: INFECTED」為開頭的字串,
所以只要在 MUA 設定成去檢查它來分類信件就可以了...
雖然只有用到 virus,不過既然看到就順手改一改...這樣如果掃出來是病毒信,amavisd-new 會產生一封新信件,把原信當成附件送給 user,新信件的內容會寫出病毒名稱,header 會出現以「X-Amavis-Alert: INFECTED」為開頭的字串,所以只要在 MUA 設定成去檢查它來分類信件就可以了... 

接下來就會發現到 amavisd-new 會把病毒信留一份副本起來,
所以要另外加一行:

這樣就讓它不會畫蛇添足了...
 

最後因為移除 clamsmtp 和停掉 postfix 的關係,
造成 mail queue 裡有一些遺跡,
一直在 maillog 看到煩死人的 warning:

跑去 /var/spool/postfix 把下面各目錄裡的檔案用直覺清一清,就解決了...
整體來說 clamav 抓病毒的能力還算是滿意,
至少可以認出這陣子在系上非常猖獗的病毒,
也丟了前陣子網路上很流行拿來測防毒軟體能力的 101 隻病毒,
懶得算抓到幾隻,不過為數不少就是了... 

  • 撒旦

    最後因為移除 clamsmtp 和停掉 postfix 的關係,
    造成 mail queue 裡有一些遺跡,
    一直在 maillog 看到煩死人的 warning:

    ?[Copy to clipboard]View Code TEXTpostfix/qmgr[604]: warning: connect to transport scan: Connection refused

    跑去 /var/spool/postfix 把下面各目錄裡的檔案用直覺清一清,就解決了…

    我的也出现这个问题了,原因是 clamavd 占用cpu过高 然后找到一个更新版本的源 ,开始我不知道不要clamsmtp也可以就从原来的源安装。后来发现不用也可以 开始上amavisd-new 然后卸载clamsmtp 就一直有这个烦人的提示 不知道怎么样可以清除得了?

  • 就是用暴力法或寫 script 去清下面的檔案,
    用 find 之類的指令去找出來 rm。

  • 撒旦

    找到一个好方法
    Check /var/log/maillog
    看看是哪個 mai ID 造成此一訊息,
    用 postsuper -d MAIL-ID 把那個 queue 殺了
    原因是你還沒有完成 amavist 之前有一個 queue 還卡在那裡....
    来源:http://redhat.ecenter.idv.tw/bbs/showthread.php?postid=183653

  • 這樣做也是可以,
    不過卡住的 mail 很多的時候要寫點程式做字串處理,
    跟用 find 挖出來砍其實效果是差不多的。