AMaViS - A Mail Virus Scanner


http://www.amavis.org/
作者: Song (song) 看板: mail 標題: [文件]安裝 AMaViS 時間: Tue Sep 18 22:16:25 2001 amavis 是個 MTA 與 virus scanner 的一個中介程式(介面), 目前版本(amavis-perl-11)能提供的 MTA 有 : sendmail, qmail, postfix, exim 等。 本文將以 sendmail 及 Network Associates Virus Scan 來搭配安裝 amavis。 ------------ perl modules ------------ amavis-perl-11 是用 perl 寫成的 script,他所需的 perl modules 是一般 perl 套件所沒有的,所以這部分需要另外先行安裝。 perl 的大本營是 http://www.cpan.org/ 我們所需的 modules 都可以 在這裡找到 http://search.cpan.org/。下面列出的是目前最新版本的 連結。 IO-stringy http://www.cpan.org/authors/id/ERYQ/IO-stringy-2.108.tar.gz Syslog http://www.cpan.org/authors/id/M/MH/MHARNISCH/Syslog-0.95.tar.gz MailTools http://www.cpan.org/authors/id/M/MA/MARKOV/MailTools-1.40.tar.gz MIME-Base64 http://www.cpan.org/authors/id/GAAS/MIME-Base64-2.12.tar.gz MIME-tools version 5.313 or better (!!) http://www.cpan.org/authors/id/ERYQ/MIME-tools-5.411.tar.gz Convert-UUlib http://www.cpan.org/authors/id/MLEHMANN/Convert-UUlib-0.201.tar.gz Convert-TNEF 0.06 or better (!!) http://www.cpan.org/authors/id/D/DO/DOUGW/Convert-TNEF-0.16.tar.gz Compress-Zlib http://www.cpan.org/authors/id/PMQS/Compress-Zlib-1.14.tar.gz Archive-Tar http://www.cpan.org/authors/id/SRZ/Archive-Tar-0.22.tar.gz Archive-Zip http://www.cpan.org/authors/id/N/NE/NEDKONZ/Archive-Zip-0.11.tar.gz libnet http://www.cpan.org/authors/id/GBARR/Bundle-libnet-1.00.tar.gz 安裝這些模組很簡單,用 wget 下載,以 tar zxf 解開,進入該目錄, perl Makefile.PL; make; make test; make install 就完成了。 每個模組都是一樣的步驟,不過請注意上面列出模組的順序,請依照 這個順序來安裝。 amavis 的 README 有一個較簡易的安裝方式,他是用 perl -MCPAN -e shell 的方式,在互動式的 shell 環境中安裝 各模組,但是首次使用時須先設定。試過幾次,在安裝時都有問題, 就作罷了,還是用土法煉鋼的。 ------------- Decompressors ------------- 解壓縮程式,amavis 需要許多種的解壓縮程式,大部分在 Linux 發行套件 中都已經包含,有些解壓縮程式不具備時,在安裝 amavis 會檢測出來,而 導致中斷安裝,所以要先安裝系統裡沒有的部分。 amavis 的 doc/amavis.html 中舉出的 Decompressors 有 : uudecode, compress, gunzip, unzip, unarj, unrar, xbin, LHArc bunzip2, zoo, arc, freeze, tnef. 共 12 種,但是在 amavis 的 README 中只剩下 7 種 : arc, bunzip2, lha, unarj, uncompress, unrar, zoo。應該是以 README 為準,因為像 tnef 在我的系統中並 沒有安裝,但可以通過 amavis 的 configure 的檢驗。 7 種解壓縮程式裡,我的系統只欠缺 arc, unrar 這兩種,如果有需要 其他的解壓縮程式,請參考 amavis 的 doc/amavis.html 所列出的連結。 arc --- ftp://metalab.unc.edu/pub/Linux/utils/compress/arc521.tar.Z 請用 wget 下載,然後建個目錄給他,進入目錄後再解開,如果不想 讓一堆檔案散落在外的話,就照這樣做吧。 tar Zxf arc521.tar.Z。 ( 不喜歡這樣的包裝,為什麼不連目錄一起包進來 ?? ) ( 所以,在解 tarball 時,總是習慣先用 tar tvf 的方式先瞧瞧, 免得解的一地荒亂。 ) 編了幾次後,發現一件事 ... amavis 會再重編一次 (@_@ 傻眼)。 而且自己編譯時,不管怎麼做都會有異常訊息。 既然如此,我們自己隨便編一編就好了,別去理他的錯誤訊息吧。 像這樣 : make arc; cp arc /usr/local/bin。 unrar ----- ftp://metalab.unc.edu/pub/Linux/utils/compress/unrar-2.71.tar.gz 請用 wget 下載,解開後進入目錄,要先修改 os.h ,將 #define _UNIX 及 #define LITTLE_ENDIAN 這兩行移出註解之外,然後 make; make install。 ---------- NAI McAFee ---------- http://www.nai.com/naicommon/buy-try/try/products-evals.asp 請到上述網址,點選 McAfee VirusScan for Unix Linux 後面的 TRY 然後輸入表格中的資料後,即可取得程式 vlnx414e.tar.Z。 又是 ... 請先建立目錄後,進入再解開檔案。 執行 ./install-uvscan 即可。 ------ AMaViS ------ http://www.amavis.org/dist/perl/amavis-perl-11.tar.gz 用 wget 取得上述檔案,解開後進入目錄,如果上面的步驟都完成了, 現在只要幾個動作就可以完成安裝。 但是現在得要先決定想要的模式,就是 amavis 可以設定成 2 種模式: .Scanning only incoming mail .Scanning incoming/outgoing and relayed mail Scanning only incoming mail --------------------------- 如果只想掃描寄入的郵件,請照下列步驟: 1. ./configure; make; make install 2. 修改 sendmail.cf 的 local delivery agent : 原本的可能是這樣 Mlocal, P=/usr/bin/procmail, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=procmail -Y -a $h -d $u 請改成這樣 : Mlocal, P=/usr/sbin/amavis, F=lsDFMAw5:/|@qSPfhn9, S=EnvFromL/HdrFromL, R=EnvToL/HdrToL, T=DNS/RFC822/X-Unix, A=amavis $f $u /usr/bin/procmail -Y -a $h -d $u 重點在 P= 和 A= 的部分。 3. 重新啟動 sendmail killall -HUP sendmail Scanning incoming/outgoing and relayed mail ------------------------------------------- 如果想掃描寄入、寄出及轉遞的郵件的話,請照下列步驟: 1. 複製 sendmail.cf 到 sendmail.orig.cf cp /etc/sendmail.cf /etc/sendmail.orig.cf 或是 cp /etc/mail/sendmail.cf /etc/mail/sendmail.orig.cf 請參照系統內的情況。 2. 請用熟悉的文字編輯器修改 sendmail.cf a. 變更郵件佇列目錄如下 O QueueDirectory=/var/spool/mqamavis b. 變更狀況檔案設定如下 O StatusFile=/var/log/amavis.st c. 變更 Ruleset 0 如下 R$* $: $>Parse0 $1 initial parsing R<@> $#local $: <@> special case error msgs R$* $: $>98 $1 handle local hacks R$* $#amavis $:$1 #R$* $: $>Parse1 $1 final parsing 主要是將 Ruleset 0 的第四行用 '#' 作成註解,插入 R$* $#amavis $:$1 就行了。 ** 注意 ** R$* 與 $#amavis $:$1 的中間並不是空格鍵(space),而是 定位鍵(tab)!! 另外,新版的 sendmail.cf( 如 8.11版 V9/Berkeley ) 的 Ruleset 0 看起來會像這樣 : R$* $: $>Parse0 $1 initial parsing R<@> $#local $: <@> special case error msgs R$* $: $>ParseLocal $1 handle local hacks R$* $: $>Parse1 $1 final parsing 一樣,對第四行下手。 :) d. 新增 mailer 的定義 : Mamavis, P=/usr/sbin/amavis, F=mlsACDFMS5:/|@qhP, S=0, R=0 T=DNS/RFC822/X-Unix, A=amavis $f $u 要加在哪裡 ?? 隨便啦。 :Q 或是找一下 Mlocal 的定義在哪裡,加在他的後面好了。 :) 3. 編譯 amavis ./configure --enable-relay --enable-sendmail;make;make install 4. 建立目錄 mkdir /var/spool/mqamavis 並將權限,owner ,group 改成和 /var/spool/mqueue 一樣。 5. 重新啟動 sendmail killall -HUP sendmail 請對照著 amavis 的 README.sendmail 的內容來操作。 另外,README.sendmail 中有說明如何用 m4 的方式來修改 sendmail.cf。 -------------- Update scripts -------------- 定時更新病毒碼才能有效的掃描病毒郵件,README.scanners 裡有記錄幾個 關於 NAI uvscan 更新病毒碼的 script 。選擇最簡單的一個,加上一些 修改,列在下面 : Script for NAI (McAfee) uvscan by Matt Burke ---------- cat /usr/local/uvscan/uv-update --------- #!/bin/bash datdir="ftp://ftp.mcafee.com/pub/datfiles/english/" cd /usr/local/uvscan rm -f .listing* index.htm* wget -q -O latest-dat.tar $datdir/`wget -qnr $datdir && grep tar .listing | awk {'print $4'}` tar -xf latest-dat.tar --------- END --------- 將這個 script 改成可執行, chmod 700 /usr/local/uvscan/uv-update 然後將他加入到 cron 裡去, crontab -e ,加入這樣一行 : 5 4 * * * /usr/local/uvscan/uv-update --- 好啦, 都說完啦, 其他的就看你的啦。 :) -- :) ========== Song Huang ========== 泉涸,魚相與處於陸, 相呴以濕,相濡以沫, 不如相忘於江湖。