1 頁 (共 1 頁)

POSTFIX 上加裝防毒及防垃圾郵件

發表於 : 2004-04-15 18:19:15
yehlu
資料來源
http://bbs.chinaunix.net/forum/viewtopi ... 256a880978

在POSTFIX服务器上建立防病毒防垃圾屏障
适用用于linux + postfix系统

一、反病毒部分

1. 下载软件包:

amavisd-new-20030616-p6.tar.gz
clamav-0.65.tar.gz
unrar-3.2.3-2.9.i386.rpm
zoo-2.10-11.9.i386.rpm
unzoo-4.4-2.i386.rpm
arc-5.21e-6.i386.rpm
nomarch-1.3-1mdk.i586.rpm
unarj-2.65-3.9.i386.rpm
arj-3.10-0.1.i386.rpm
freeze-2.5.0-7.i386.rpm
compress-4.0.1.tar.gz

2. 安装clamav:

# tar zvxf clamav-0.65.tar.gz
# cd clamav-0.65
# groupadd clamav
# useradd -g clamav -d /var/run/clamav -s /bin/false clamav
# ./configure
# make
# make install
# vi /usr/local/etc/clamav.conf

=============================================================
#Example
LogFile /var/log/clamd.log
LogFileMaxSize 1M
LogVerbose
LogTime
LocalSocket /var/amavis/clamd/clamav.socket
PidFile /var/run/clamav/clamd.pid
DataDirectory /usr/local/share/clamav
MaxDirectoryRecursion 15
User root
ScanMail
ScanArchive
ClamukoMaxFileSize 6M
ArchiveMaxFileSize 10M
ArchiveMaxRecursion 5
ArchiveMaxFiles 1000
=============================================================

# clamd ##运行程序
# freshclam ##升级病毒库
# ps -aux | grep clamd
clamav 2653 0.0 3.1 23556 12228 ? S 13:59 0:00

3. 建立clamd的启动脚本:

# vi /etc/init.d/clamd

=============================================================
#! /bin/bash
#
# crond Start/Stop the clam antivirus daemon.
#
# chkconfig: 2345 90 60
# description: clamdis a standard UNIX program that scans for Viruses.
# processname: clamd
# config: /usr/local/etc/clamd.conf
# pidfile: /var/run/clamav/clamd.pid

# Source function library.
. /etc/init.d/functions

RETVAL=0

# See how we were called.

prog="clamd"
progdir="/usr/local/sbin"

# Source configuration
if [ -f /etc/sysconfig/$prog ] ; then
. /etc/sysconfig/$prog
fi

start() {
echo -n $"Starting $prog: "
daemon $progdir/$prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && touch /tmp/clamd
return $RETVAL
}

stop() {
echo -n $"Stopping $prog: "
killproc $prog
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /tmp/clamd
return $RETVAL
}

rhstatus() {
status clamd
}

restart() {
stop
start
}

reload() {
echo -n $"Reloading clam daemon configuration: "
killproc clamd -HUP
retval=$?
echo
return $RETVAL
}

case "$1" in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
reload)
reload
;;
status)
rhstatus
;;
condrestart)
[ -f /var/lock/subsys/clamd ] && restart || :
;;
*)
echo $"Usage: $0 {start|stop|status|reload|restart|condrestart}"
exit 1
esac

exit 0
=============================================================

# chmod 755 /etc/init.d/clamd
# chkconfig --add clamd
# chkconfig clamd on
# clamscan -r test ##测试杀毒
# touch /var/log/clam-update.log ##病毒库升级日志
# chmod 644 /var/log/clam-update.log
# chown clamav /var/log/clam-update.log
# freshclam -d -c 2 -l /var/log/clam-update.log
# touch /etc/cron.daily/freshclam ##建立定时升级任务
# vi /etc/cron.daily/freshclam

=============================================================
#!/bin/bash
freshclam --quiet -d -c 2 -l /var/log/clam-update.log
=============================================================

# chmod a+xr /etc/cron.daily/freshclam

4. 安装amavisd-new

# rpm -ivh unrar-3.2.3-2.9.i386.rpm
# rpm -ivh zoo-2.10-11.9.i386.rpm
# rpm -ivh unzoo-4.4-2.i386.rpm
# rpm -ivh arc-5.21e-6.i386.rpm
# rpm -ivh nomarch-1.3-1mdk.i586.rpm
# rpm -ivh unarj-2.65-3.9.i386.rpm
# rpm -ivh arj-3.10-0.1.i386.rpm
# rpm -ivh freeze-2.5.0-7.i386.rpm
# mkdir cmpress
# tar -zxvf compress-4.0.1.tar.gz -C compress
# cd compress
# make
# make install

通过perl网络安装amavis运行环境

# perl -MCPAN -e shell ##在安装前确定你的系统语言不是UTF-8

=============================================================
cpan>

Instalando
-----------
cpan> install File::MMagic
cpan> install Config::IniFiles
cpan> install Convert::TNEF
cpan> install Convert::UUlib
cpan> install Compress::Zlib
cpan> install Archive::Tar
cpan> install Archive::Zip
cpan> install Unix::Syslog
cpan> install MIME::Base64
cpan> install Net::Server
cpan> install Net::SMTP
Should all FTP connections be passive (y|n) ? [no] no
cpan> install Digest::MD5
cpan> install Time::HiRes
cpan> install Mail::SpamAssassin
cpan> exit
=============================================================

# adduser -s /bin/false -c "Amavis User" -d /var/amavis amavis
# tar -zxvf amavisd-new-20030616-p6.tar.gz
# cd amavisd-new-20030616
# mkdir -p /var/amavis/clamd
# chown -R amavis:amavis /var/amavis
# chmod -R 750 /var/amavis/
# cp amavisd /usr/local/sbin/
# ln -s /usr/local/sbin/amavisd /usr/sbin/amavisd
# cp amavisd.conf /etc/
# mkdir /var/virusmails
# chown amavis:amavis /var/virusmails
# cp amavisd_init.sh /etc/init.d/amavisd
# chmod 744 /etc/init.d/amavisd
# chkconfig --add amavisd
# chkconfig amavisd on
# vi /etc/amavisd.conf
========================================================================
$MYHOME = '/var/amavis'; # (default is '/var/amavis')
$mydomain = 'nero.3322.org'; # (no useful default)
$daemon_user = 'amavis'; # (no default; customary: vscan or amavis)
$daemon_group = 'amavis'; # (no default; customary: vscan or amavis)

$QUARANTINEDIR = '/var/virusmails';

$log_level = 0;

$final_virus_destiny = D_BOUNCE; # (defaults to D_BOUNCE)
$final_banned_destiny = D_BOUNCE; # (defaults to D_BOUNCE)
$final_spam_destiny = D_PASS; # (defaults to D_REJECT)
$final_bad_header_destiny = D_PASS; # (defaults to D_PASS), D_BOUNCE suggested

$sa_spam_subject_tag = '***SPAM***'

$virus_admin = "root\@$mydomain";
$mailfrom_notify_admin = "root\@$mydomain";
$mailfrom_notify_recip = "root\@$mydomain";

['Clam Antivirus-clamd',
\&ask_daemon, ["CONTSCAN {}\n", '/var/amavis/clamd/clamav.socket'],
qr/\bOK$/, qr/\bFOUND$/,
qr/^.*?: (?!Infected Archive)(.*) FOUND$/ ],
========================================================================
# amavisd debug
Mar 20 10:36:21 home amavisd[1252]: starting. amavisd at home amavisd-new-20030616-p6, Unicode aware, LANG=en_US
Mar 20 10:36:21 home amavisd[1252]: Perl version 5.008
Mar 20 10:36:21 home amavisd[1252]: Module Amavis::Conf 1.15
Mar 20 10:36:21 home amavisd[1252]: Module Archive::Tar 1.08
Mar 20 10:36:21 home amavisd[1252]: Module Archive::Zip 1.09
Mar 20 10:36:21 home amavisd[1252]: Module Compress::Zlib 1.33
Mar 20 10:36:21 home amavisd[1252]: Module Convert::TNEF 0.17
Mar 20 10:36:21 home amavisd[1252]: Module Convert::UUlib 1.01
------------------------
启动amavisd服务
# service amavisd start

测试amavis的工作情况
# telnet 127.0.0.1 10024
Trying 127.0.0.1...
Connected to home (127.0.0.1).
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
QUIT
221 2.0.0 [127.0.0.1] (amavisd) closing transmission channel
Connection closed by foreign host.

设置postfix,在/etc/postfix/master.cf添加如下内容
========================================================================
smtp-amavis unix - - n - 2 smtp
-o smtp_data_done_timeout=1200
-o disable_dns_lookups=yes

127.0.0.1:10025 inet n - n - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_client_restrictions=
-o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o mynetworks=127.0.0.0/8
========================================================================
设置postfix,在/etc/postfix/main.cf添加如下内容
============================================================================
content_filter = smtp-amavis:[127.0.0.1]:10024
========================================================================
测试postfix是否工作
# telnet 127.0.0.1 10025

Trying 127.0.0.1...
Connected to localhost (127.0.0.1).
Escape character is '^]'.
220 nero.3322.org ESMTP Postfix
QUIT
221 Bye
Connection closed by foreign host.

5. 功能测试:

扫描/home/data下的所有邮件,并将扫描结果保存在/root下的scan_report文件中

# clamscan -r -l /root/scan_report /home/data
# less scan_report

=============================================================
/home/data/mail/test/Maildir/courierimapkeywords/.3597840.1079351764.M170269P1241V0000000000000302I00093221_0.home,S=733: Empty file.
/home/data/mail/test/Maildir/courierimapuiddb: OK
/home/data/mail/llzqq/Maildir/courierimapuiddb: OK
/home/data/mail/.bash_history: OK

----------- SCAN SUMMARY -----------
Known viruses: 20482
Scanned directories: 20
Scanned files: 3
Infected files: 0
Data scanned: 0.00 MB
I/O buffer size: 131072 bytes
Time: 0.681 sec (0 m 0 s)
[root@home root]# less scan_report
--------------------------------------
Scan started: Tue Mar 16 10:46:09 2004

-- summary --
Known viruses: 20482
Scanned directories: 20
Scanned files: 3
Infected files: 0
Data scanned: 0.00 MB
I/O buffer size: 131072 bytes
Time: 0.681 sec (0 m 0 s)
=====================================================



二、防垃圾邮件部分

安装SpamAssassin
SpamAssassin在上面的过程中安装了
配置SpamAssassin

把下面的内容放进/etc/mail/spamassassin/local.cf
========================================================================

# How many hits before a message is considered spam.
required_hits 5.0

# Whether to change the subject of suspected spam
rewrite_subject 1

# Text to prepend to subject if rewrite_subject is used
subject_tag *****SPAM*****

# Encapsulate spam in an attachment
report_safe 1

# Use terse version of the spam report
use_terse_report 0

# Enable the Bayes system
use_bayes 1

# Enable Bayes auto-learning
auto_learn 1

# Enable or disable network checks
skip_rbl_checks 1
use_razor2 0
use_dcc 0
use_pyzor 0

# Mail using languages used in these country codes will not be marked
# as being possibly spam in a foreign language.
# - chinese english
ok_languages zh en

# Mail using locales used in these country codes will not be marked
# as being possibly spam in a foreign language.
ok_locales en zh
score SUBJ_FULL_OF_8BITS 2

========================================================================

發表於 : 2005-02-03 10:24:05
schumi
from http://free.tnc.edu.tw/modules/newbb/vi ... 15&forum=1

何不使用 ClamAV ?
看了大家這麼辛苦努力的改了一堆東西....

也來建議一下...

如果您願意使用 Mandrake Linux 10 以上的版本.
可以在基本安裝完成後.

urpmi.addmedia mdk10contrib ftp://mdk.linux.org.tw/pub/mandrakelinu ... rake/RPMS2 with ../base/hdlist2.cz

然後直接下 command
urpmi postfix amavisd-new clamav clamd

隨後只要設定 /etc/postfix/main.cf 及 /etc/amavisd.conf 即可安裝完成 掃毒 與 郵件伺服器 .(相關 amavisd 與 postfix 之間轉換的設定應該是已經自動設定好了!不用煩惱,只需要設定基本postfix收發信件domain即可)

若您要連 spamassassin 也安裝的話..只要再下
urpmi spamassassin 即可自動下載安裝完成..

對了.更新病毒碼請用 freshclam 即可自動下載 clamav 的病毒碼.

mdk 10.1

發表於 : 2005-03-22 19:03:00
yehlu
vi /etc/amavisd/amavisd.conf
改 10025 為 10024

[root@www mail]# telnet localhost 10025
Trying 127.0.0.1...
Connected to www.551.com.tw (127.0.0.1).
Escape character is '^]'.
220 ms.551.com.tw ESMTP Postfix (2.1.4) (Mandrake Linux)
quit
221 Bye
Connection closed by foreign host.
[root@www mail]# telnet localhost 10024
Trying 127.0.0.1...
Connected to www.551.com.tw (127.0.0.1).
Escape character is '^]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
quit
221 2.0.0 [127.0.0.1] (amavisd-new) closing transmission channel
Connection closed by foreign host.

發表於 : 2005-05-03 17:20:27
schumi
telnet localhost 10024
Trying 127.0.0.1...
telnet: connect to address 127.0.0.1: Connection refused

試試看重新啟動

如果說出現
Shutting down amavisd: No PID file /var/lib/amavis/amavisd.pid, can't stop the process

就到 /var/lib/amavis 底下
把 amavisd-22000.lock 砍掉

再重新啟動就可以了!

postfix 2 + MailScanner

發表於 : 2006-11-23 22:34:47
schumi
http://www.wonton.idv.tw/phpbb/viewtopi ... 235f22f332

[0. 前言]

我知道其實已經有很多關於 mail 防毒跟阻擋垃圾信的文章了,這一篇文章只是我實作上的一個整理,希望分享給大家,或許大家可以從文章其中找到一些問題的解答。

首先要說明的是,這一篇文章主要參考兩個連結:

  1. johntino 在本站所寫的
   「postfix+防毒 RPM安裝方式 on FC2」
   http://phorum.vbird.org/viewtopic.php?t=15862

  2. shalitee 在酷!學園所寫的
   「[分享]MailScanner-4.31.6-1 + clamav-0.75 + SpamAssassin-2.63 ( for Mandrake9.1 with postfix)」
   http://phorum.study-area.org/viewtopic.php?t=24984

在這一篇文章中,不討論如何安裝 sasl + postfix + ipop3 + SMTP Auth 等東西,這些在鳥哥的文件中都有,在版上也已有各種問題的解答了,所以請先將您的 mail server 架起來,再來參考以下的文章。

我使用的套件包括 MailScanner 和 Clamav, F-prot 兩套掃毒軟體,基本上 MailScaneer 是可以配合多套掃毒軟體的,不過如果主機的配備不強,不建議這樣使用,因為掃毒都需要耗費資源,當然適當的校調是可以節省部份系統資源的。

安裝的環境是 Mandrake 9.2,P4 1.7G + 512 MB RAM,postfix 版本為 postfix-2.0.13,相關套件均為 rpm 安裝。


[1. 安裝 F-prot]

F-prot 的官方網站: http://www.f-prot.com/

請下載所需的版本,基本上 home user 是不需付費的,但如果是企業用就要付錢了,如果是公司使用,又有經費上的考量,可以安裝免費的掃毒軟體如 ClamAV,雖然免費的掃毒軟體病毒碼的更新會較少,發佈的速度也會比較慢,但是基本的防毒功能還是必需具備的。

下載 F-prot 需要填寫基本資料,填寫完後就可以下載所需的檔案。我下載的是 fp-linux-ws.rpm 版本。

引言回覆:
# wget http://files.f-prot.com/files/linux-x86/fp-linux-ws.rpm
# rpm -ivh fp-linux-ws.rpm


f-prot 基本上不需要作額外的設定,安裝時我耗了一些時間,但是由於它沒有什麼 output 的訊息,我本來以為當掉了,所以安裝了兩次,等了頗久才裝起來,不知道是我的電腦問題還是實屬正常現象,總之如果感覺畫面停住了,記得要耐心多等一下。

接下來將 f-prot 用 crontab 作自訂自動更新,並將原本在 /etc/cron.hourly/ 裡的 update_virus_scanners 刪除掉。

引言回覆:
# rm /etc/cron.hourly/update_virus_scanners
# crontab -e
0 4 * * * /usr/local/f-prot/tools/check-updates.pl -cron


這樣便完成了 F-prot 的安裝,記得看看 cron 寄給 root 的信,看看到底是不是有正常的更新病毒碼。


[2. 安裝 ClamAV]

ClamAV 的官方網站: http://www.clamav.net/

我使用的是 ClamAV stable 版 clamav-0.80。使用 ClamAV 需要一個使用者 clamav,不過不需要 login 到 shell,所以可以這樣作:

引言回覆:
# useradd clamav
# vi /etc/passwd
修改 passwd 檔案,把 clamav 的 shell 改成 /sbin/nologin


抓取 clamav-0.80,並進行安裝,不過安裝前要確認下列套件裝了沒:

引言回覆:
# rpm -qa | grep zlib
# rpm -qa | grep zlib-devel
# rpm -qa | grep gmp-devel


zlib 與 zlib-devel 沒裝是不能夠 configure 的,另外 ClamAV 在更新病毒碼時會用到 gmp-devel 套件,如果沒事先裝,就得裝了後再重新 configure 跟 make ClamAV,所以建議在 configure 前就先確認。

接下來抓取 clamav-0.80,並進行 configure 跟 make, make install。

引言回覆:
# wget http://optusnet.dl.sourceforge.net/sour ... .80.tar.gz
# tar zxvf clamav-0.80.tar.gz
# cd clamav-0.80
# ./configure --prefix=/usr (表示安裝路徑為 /usr,可自行定義。)
# make
# make install


安裝完成後,修改 ClamAV 的設定,設定檔在 /usr/etc/clamd.conf。 (有的版本會將設定檔取名為 clamav.conf)

引言回覆:
# vi /usr/etc/clamd.conf
記得把 Example 那一行用 # 字號 marked 掉
找到並修改下列值:
----------------------------------------------------------------
DatabaseDirectory /usr/share/clamav
LocalSocket /tmp/clamd
User clamav
ScanMail (讓 clamav 可以掃描郵件)
ScanArchive
-----------------------------------------------------------------


除了 clamd.conf 基本的設定外,還可加入一些其他的相關設定:

A. 利用 ClamAV 掃描測試,如要掃描目前所在的資料夾可下:
引言回覆:

# clamscan ./


B. 設定開機啟動 clamd deamon
引言回覆:
# vi /etc/rc.d/rc.local
增加至檔案最底下
/usr/sbin/clamd


C. 設定病毒碼自動更新設定檔,以及記錄的 log 檔等
引言回覆:
# touch /var/log/freshclam.log
# chmod 600 /var/log/freshclam.log
# chown clamav /var/log/freshclam.log
# vi /usr/etc/freshclam.conf
把 Example 那一行用 # 字號 marked 掉,並修改下列設定
UpdateLogFile /var/log/freshclam.log


作 logrotate 以免 log 爆掉
引言回覆:
# vi /etc/logrotate.d/syslog
將 /var/log/freshclam.log 加進去 logrotate


修改 msec 讓 /var/log/freshclam.log 確定可讓 clamav 使用者寫入
引言回覆:
# more /etc/sysconfig/msec
看看系統的 SECURE_LEVEL 是多少,假設是 2
# vi /usr/share/msec/perm.2
在最後加入這一行
/var/log/freshclam.log clamav.clamav 600


利用 crontab 由 clamav 使用者執行 freshclam 以進行更新
引言回覆:
# crontab -u clamav -e
增加
0 */6 * * * /usr/bin/freshclam -v (自行定義時間更新)


可用 freshclam -v 測試看看能否更新病毒碼。


[3. MailScanner 安裝]

MailScanner 的官方網站: http://www.mailscanner.info/http://www.mailscanner.biz/

安裝 MailScanner 需要較多的 perl 套件,我使用的 perl 套件是 5.8.1 版,如果在安裝的過程中,發現缺少什麼套件便安裝吧。

在預設 mandrake 9.2 的安裝裡,會比較缺少的套件大概有:
引言回覆:
# rpm -qa | grep perl-IO-stringy
# rpm -qa | grep perl-MailTools
# rpm -qa | grep perl-MIME-tools


建議用 urpmi 先安裝起來,才比較不需要一再地重複 install 動作。接下來進行安裝動作:

引言回覆:
# wget http://www.sng.ecs.soton.ac.uk/mailscan ... rpm.tar.gz
# tar zxvf MailScanner-4.36.4-1.rpm.tar.gz
# cd MailScanner-4.36.4-1
# ./install.sh


修改 MailScanner.conf

引言回覆:
# vi /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 clamav
-----------------------------------------------------------------
注意 Virus Scanners 的值為你所安裝的掃毒套件,如有兩套以上要用 space 分開。


大部份的 MailScanner.conf 設定可以參考 http://www.vbird.org/somepaper/20030905 ... r-conf.htm


[4. 設定 postfix 與 MailScanner 結合]

原本 postfix 會從 cleanup 程序把信件交給 incoming queue 中,再由 queue manager 將信交給適當的 MDA 處理。但我們希望信件在交出去之前就讓 MailScanner 處理,所以必須告知 postfix 在收到信件後不要急著處理,應該先放到一個地方等待 MailScanner 處理完後再發送,因此我們可以在 postfix 的設定檔 main.cf 中指定:
引言回覆:
# vi /etc/postfix/main.cf
找到並修改下列值:
header_checks = regexp:/etc/postfix/header_checks


並在 /etc/postfix/header_checks 中加入:
引言回覆:
# vi /etc/postfix/header_checks
加入:
/^Received:/ HOLD


如此 pstfix 便會檢查每封信件的 Header,並將之放到 /var/spool/postfix/hold 中,等待 MailScanner 來處理。這也就是為什麼我們要在 MailScanner.conf 中設定: Incoming Queue Dir = /var/spool/postfix/hold 和 Outgoing Queue Dir = /var/spool/postfix/incoming 的原因,因為對 MailScanner 來說,它的信件來自 postfix 的 hold,而信處理完後,當然再交回給原本就應該要去的 postfix 的 incoming queue 了。

接下來我們必須更改相關目錄的權限,以利處理:
引言回覆:
# chown postfix.postfix /var/spool/MailScanner/incoming
# chown postfix.postfix /var/spool/MailScanner/quarantine


最後停止 postfix 執行,並啟動 MailScanner:
引言回覆:
# service postfix stop
# chkconfig postfix off
# service MailScanner start


當 MailScanner 的 MTA = postfix 時,MailScanner 會自己啟動 postfix,如有設定啟動 postfix 請先將之停掉。


[5. 啟動 MailScanner 的問題]

由於 perl 的相關套件很多,又不一定會被包在 mdk 的預設 perl 套件中,所以 MailScanner 雖然可以安裝完成,一樣會有啟動不了或是啟動顯示 OK 卻沒辦法正確收發信的狀況。遇到這類的狀況通常可以從錯誤訊息中找到缺少的套件為何,並將之找出來安裝即可解決。解決的辦法有兩種:

A. 利用 CPAN Shell 安裝

我們可以透過 perl -MCPAN -e shell 的指令來安裝所需要的套件,CPAN Shell 第一次使用時會詢問一大堆問題作為初始化設定,大部份選擇預設值即可,只有最後兩個問題選擇下載點,記得選擇離自己較近的位置,設完完成後便會出現 cpan 提示字元。

下面以較容易缺少的一些套件為例:
引言回覆:
perl -MCPAN -e shell
cpan> install Net::CIDR
cpan> install Convert::BinHex
cpan> install Archive::Zip
cpan> install Convert::TNEF


通常這樣應該就可以安裝想要的套件,如果不幸遇到 make test 失敗,或許下 force install 指令會有幫助。

B. 直接下載安裝

我們可以透過 http://search.cpan.org/ 來找尋需要的套件,並下載按照 README 進行安裝。我們以 Net::CIDR 套件為例:
引言回覆:
# wget http://search.cpan.org/CPAN/authors/id/ ... .10.tar.gz
# tar zxvf Net-CIDR-0.10.tar.gz
# cd Net-CIDR-0.10
# perl Makefile.PL
# make
# make install


要特別注意的是,MailScanner 有時候啟動顯示一切 OK 卻依然沒辦法正確收發信,遇到這樣的情況便需要將 MailScanner.conf 中的 Debug 參數設為 yes,並重啟 MailScanner 看看是不是缺少了什麼套件而導致沒辦法 fork MailScanner。像我就是缺少了 Convert::TNEF 這東東。

安裝需要的套件並不斷重啟到確定都沒有其他 bug 了,再去把 MailScanner 中的 Debug 參數改成 no 後,重啟 MailScanner 應該就沒問題了。


[6. 測試 Mail Server 防毒]

最後測試 Mail Server 防毒功能,請到 http://www.webmail.us/testvirus 按照它的 Step 輸入 e-mail,收到認證信後開啟就能進行測試了。

當然別忘了將 postmaster 與 clamav 等帳號的信 alias 到你想收信的真正信箱,也可以感受一下 MailScanner 到底擋下多少信件。