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 ==========
泉涸,魚相與處於陸,
相呴以濕,相濡以沫,
不如相忘於江湖。
|