第一章
Qmail-scan+Mcafee VirusScan Command Line
qmail-scan的网站 http://qmail-scanner.sourceforge.net/,最新版本1.22
需要依赖的程序
reformime (来自 Maildrop 1.3.8+ ) Perl 5.6.1 Perl module Time::HiRes Perl module DB_File (可能不需要或者系统已经存在) Perl module Sys::Syslog (可能不需要或者系统已经存在) TNEF unpacker
这里介绍手动安装,主要是不想重新编译Qmail加入QMAILQUEUE
安装Mcafee VirusScan Command Line,并且将uvscan ln到/usr/local/bin 和 .so文件ln到/usr/local/lib
tar zxf qmail-scanner-1.22.gz cd qmail-scanner-1.22
配置qmail-scanner,路径自定义,yourdomain替换为你的域名,详细的参看./configure --help
./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 2 --scanners "uvscan" --ignore-eol-check 0 --no-QQ-check
添加用户和组
pw groupadd qscand -g 65530pw useradd qscand -g qscand -d /mail/qmailscan -s /nonexistent -u 65530 创建目录
mkdir -p /mail/qmailscanmkdir -p /mail/qmailscan/quarantine/tmp /mail/qmailscan/quarantine/cur /mail/qmailscan/quarantine/newmkdir -p /mail/qmailscan/working/tmp /mail/qmailscan/working/cur /mail/qmailscan/working/newmkdir -p /mail/qmailscan/archive/tmp /mail/qmailscan/archive/cur /mail/qmailscan/archive/new 复制文件,设置权限
cp quarantine-attachments.txt /mail/qmailscan/chown -R qscand.qscand /mail/qmailscan/cp qmail-scanner-queue.pl /mail/qmail/bin/qmail-scanner-queue.plchown qscand.qscand /mail/qmail/bin/qmail-scanner-queue.plchmod 4755 /mail/qmail/bin/qmail-scanner-queue.pl 初始化qmail-scan,代替qmail-queue先调用
/mail/qmail/bin/qmail-scanner-queue.pl -h/mail/qmail/bin/qmail-scanner-queue.pl -z/mail/qmail/bin/qmail-scanner-queue.pl -gmv /mail/qmail/bin/qmail-queue /mail/qmail/bin/qmail-queue.realln -s /mail/qmail/bin/qmail-scanner-queue.pl /mail/qmail/bin/qmail-queue
mcafee病毒库自动更新脚本update.sh, 放在uvscan目录下面
#!/bin/shinstall_Directory=`dirname $0`mkdir /tmp/dat-updatescd /tmp/dat-updatescurrent_version=`$install_directory/uvscan --version grep "Virus data file" awk '{ print substr($4,2,4) }'`FTP "ftp://ftp.nai.com/pub/datfiles/english/dat-*.tar"new_version=`echo dat-*.tar awk '{ print substr($1,5,4) }'`if [ "$current_version" -ge "$new_version" ] then echo "No new .DATs available at this time" echo "Currently installed version: $current_version" echo "Version on FTP site: $new_version" else tar -xf dat-*.tar for file in `tar -tf dat-*.tar` do newfile=`echo $file tr [A-Z] [a-z]` mv -f ./$file "$install_directory/$newfile" done current_version=`$install_directory/uvscan --version grep "Virus data file" awk '{ print substr($4,2,4) }'` if [ ! "$current_version" -eq "$new_version" ] then echo "DAT file updates did not work correctly." echo "Please try manually." else echo "DAT file updates sUCcessful" echo "Currently installed version: $current_version" fificd /rm -rf /tmp/dat-updateschmod +x update.sh 做个crond每6小时更新一次
[1] [2] 下一页
0 */6 * * * /uvscan-path/update.sh
如果邮件系统负荷很大,可以考虑使用sophie+sophos来做
sophie能够作为一个daemon,将病毒引擎和病毒库装载在内存中,然后创建一个socket供其他程序调用
以下简略说明一下
1.安装好sophos,默认路径为 /usr/local/sav
ln -s /usr/local/sav/libsavi.so /usr/local/sav/libsavi.so.3ln -s /usr/local/sav/libsavi.so /usr/local/lib/libsavi.so.3
运行./sweep能够正常给出参数信息
2.下载sophie,编译,安装
./configure --prefix=/usr/local/sav/sophie --with-savilib=/usr/local/savmakemkdir /usr/local/sav/sophiemkdir /usr/local/sav/sophie/binmkdir /usr/local/sav/sophie/etcmkdir /usr/local/sav/sophie/varcp sophie /usr/local/sav/sophie/binln -s /usr/local/sav/sophie/bin/sophie /usr/local/bin/cp etc/sophie.cfg etc/sophie.savi /usr/local/sav/sophie/etcln -s /usr/local/sav/sophie/etc/sophie.cfg /etc/
手动设置好/usr/local/sav/sophie/etc 下面的sophie.cfg和sophie.savi
注意sophie.cfg里面的设置sophie运行的用户用root,组用qscand
sophie.savi可以将所有类型的检查都打开,例如zip/rar之类的
先直接启动sophie, /usr/local/bin/sophie
3.重新配置qmail-scanner
./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 1 --scanners "sophie" --ignore-eol-check 0 --no-QQ-check
....
因为sophie能够直接检查zip等,可以将qmail-scanner里面关于zip/tnef这些的变量值设为空
例如my $unzip_binary='';
............
4.一切工作正常,就可以将sophie放入后台运行sophie -D
5.关于病毒库更新
在 http://www.sophos.com/downloads/ide
找到对应你的sophos的版本的ide的更新下载URL,我的是3.80为http://www.sophos.com/downloads/ide/380_ides.zip
写个script自动更新
cd /usr/local/savrm 380_ides.zipfetch -q "http://www.sophos.com/downloads/ide/380_ides.zip"unzip -o -qq 380_ides.zipkill -HUP `cat /usr/local/sav/sophie/var/sophie.pid`
有关sophie,参见
http://www.vanja.com/tools/sophie/
并且阅读qmail-scanner的FAQ
另外,qmail-scanner建议使用daemontools来运行sophie
用于限制sophie的资源使用和检查sophie daemon是否还活着
另外,发现必须用perl 5.6才能跑起来 qmail-scanner 不知道是不是RPWT
(出处:http://www.sheup.com)
如果邮件系统负荷很大,可以考虑使用sophie+sophos来做
sophie能够作为一个daemon,将病毒引擎和病毒库装载在内存中,然后创建一个socket供其他程序调用
以下简略说明一下
1.安装好sophos,默认路径为 /usr/local/sav
ln -s /usr/local/sav/libsavi.so /usr/local/sav/libsavi.so.3ln -s /usr/local/sav/libsavi.so /usr/local/lib/libsavi.so.3
运行./sweep能够正常给出参数信息
2.下载sophie,编译,安装
./configure --prefix=/usr/local/sav/sophie --with-savilib=/usr/local/savmakemkdir /usr/local/sav/sophiemkdir /usr/local/sav/sophie/binmkdir /usr/local/sav/sophie/etcmkdir /usr/local/sav/sophie/varcp sophie /usr/local/sav/sophie/binln -s /usr/local/sav/sophie/bin/sophie /usr/local/bin/cp etc/sophie.cfg etc/sophie.savi /usr/local/sav/sophie/etcln -s /usr/local/sav/sophie/etc/sophie.cfg /etc/
手动设置好/usr/local/sav/sophie/etc 下面的sophie.cfg和sophie.savi
注意sophie.cfg里面的设置sophie运行的用户用root,组用qscand
sophie.savi可以将所有类型的检查都打开,例如zip/rar之类的
先直接启动sophie, /usr/local/bin/sophie
3.重新配置qmail-scanner
./configure --spooldir /mail/qmailscan --qmaildir /mail/qmail --bindir /mail/qmail/bin --qmail-queue-binary /mail/qmail/bin/qmail-queue.real --admin root --domain yourdomain --notify recips --local-domains yourdomain --silent-viruses auto --lang en_GB --debug no --unzip 1 --add-dscr-hdrs 0 --archive 0 --redundant no --log-details 0 --log-crypto 0 --fix-mime 1 --scanners "sophie" --ignore-eol-check 0 --no-QQ-check
....
因为sophie能够直接检查zip等,可以将qmail-scanner里面关于zip/tnef这些的变量值设为空
例如my $unzip_binary='';
............
4.一切工作正常,就可以将sophie放入后台运行sophie -D
5.关于病毒库更新
在 http://www.sophos.com/downloads/ide
找到对应你的sophos的版本的ide的更新下载URL,我的是3.80为http://www.sophos.com/downloads/ide/380_ides.zip
写个script自动更新
cd /usr/local/savrm 380_ides.zipfetch -q "http://www.sophos.com/downloads/ide/380_ides.zip"unzip -o -qq 380_ides.zipkill -HUP `cat /usr/local/sav/sophie/var/sophie.pid`
有关sophie,参见
http://www.vanja.com/tools/sophie/
并且阅读qmail-scanner的FAQ
另外,qmail-scanner建议使用daemontools来运行sophie
上一页 [1] [2] [3] [4] 下一页
用于限制sophie的资源使用和检查sophie daemon是否还活着
另外,发现必须用perl 5.6才能跑起来 qmail-scanner 不知道是不是RPWT
(出处:http://www.sheup.com)