当前位置: 首页 > 图文教程 > 服务器 > Linux服务器 > 给Qmail邮件服务器加个病毒防火墙

Linux服务器
Linux上双网卡绑定方法(Suse9SP3)
Linux操作系统调优参数的意义
Linux下使用SSH客户端及其Sftp文件传送
教你恢复被误删除的Linux文件
SQL Server注入大全及防御
Linux无法解析域名的解决办法
Linux系统下安装和配置MyEclipse的方法
Ubuntu下VirtualBox 1.4.0设置文件共享
Windows与Linux系统共享StarDict字典文件
修改Linux下相关的登陆信息
Windows通过SecureCRT远程登录Linux主机
Linux操作系统如何修改SWAP交换区的大小
Linux操作系统下为Apache目录添加密码
Linux时间设置与同步(NTP)
Linux内核补丁AMD旁路转换缓冲(TLB)错误
Linux架设DHCP服务器的方法
Fedora 8下Apache配置与管理
Linux操作系统下用单网卡捆绑双IP的方法
Ubuntu Linux系统环境变量配置文件
SUSE Linux中将Tomcat作为Service运行

Linux服务器 中的 给Qmail邮件服务器加个病毒防火墙


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-18   浏览: 43 ::
收藏到网摘: n/a


近期邮件病毒泛滥,正好从网上看到几篇关于qmail防毒的文章,于是边做边比较了一下网上的几种方法,并且做出了最后的选择。

首先请允许我把网上能见到的几篇防毒的文章的链接贴出来:
1.Linuxforum文章荟萃中
linux(redhat7.1)+MTA(qmail)掃瞄郵件病毒和拒收帶病毒郵件軟件安裝配置一文!
http://www.linuxforum.net/docnew/showflat.php?Board=new&Number=410
2.Linuxforum邮件服务器版中的精华文章第一篇:
**AMaViS**一个UNIX下查病毒的邮件网关。
http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=dns&Number=166952&page=1&view=collapsed&sb=5&o=all&fpart=
3.水木清华FreeBSD版的一篇文章
Freebsd下安装Drwebforqmail
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=dns&Number=303664&page=0&view=collapsed&sb=5&o=21&fpart=
4.Linuxforum邮件服务器版精化文章第二篇
Procmail過濾mail病毒
http://www.linuxforum.net/forum/gshowflat.php?Cat=&Board=dns&Number=188250&page=0&view=collapsed&sb=5&o=all&fpart=

而在国外关于邮件服务器防病毒的文章倒处都是,我就不引了,只所以链接这几篇文章是想让喜欢技术(不仅仅是达到目的)的网友方便学习和研究!
我先大体地介绍一下,以上几篇文章中使用的技术:

第一篇:
说它之前先再引一个链接:
http://www.linuxforum.net/forum/showthreaded.php?Cat=&Board=dns&Number=285647&page=&view=&sb=&o=&vc=1
这也是Linuxforum上的一个thread,希望大家仔细看一下,看完后就应该可以明白TREND公司的ANTI-VIRUS的工作方式了!我介绍的第一篇文章中的方法和TREND公司的ANTI-VIRUS的工作方式是一样的,即:都是使用防病毒SMTP网关代替原来的SMTP服务,然后把正常的信件转发到原来的SMTP上。这样就必然带来一个问题就是原来的ESMTP的功能没有了:如SMTP_AUTH等。解决方法可以使用上面这个讨论中的方法,即:在防病毒网关前再加一道关,当然,这一关支持SMTP_AUTH,转发到防病毒网关上,然后查杀完毒后再转到最终的SMTP上。:)太麻烦了点,可是也没办法,当然若你根本就没有SMTP的AUTH就不会这么麻烦了,只要病毒网关转到真正的SMTP上就可以了。
这篇文章中使用的是H+BEDV公司的MailGate,跟Trend公司的ANTI-VIRUS一样都是商业软件。
此文中提供了一个hbedv.key文件,经测试,可以把该公司的任何产品注册成为正式版,过期时间为2003年5月31日,还有近一年,不错,呵呵。
第二篇:
这篇文章中使用的软件是:AMaViS+McAfee,AMaVis是一个opensource的软件,McAfee是一个商业杀毒软件,虽然是试用版,但是文章作者说这个McAfee的杀毒软件用了很久都没有任何问题,一直可以更新病毒库。
AMaVis是一个可以适用于各种主流MTA的病毒网关(这样叫或许不太合适,暂切这样叫吧),可用于sendmail,qmail,postfix,exim等,详细可以查看它的文档。对于qmail来说,AmaVis是直接替换qmail-queue,经过我的测试,感觉AmaVis的效率有些低。
需要介绍一下的是另一个opensource软件:qmail-scanner。qmail-scanner是专门为qmail写的,AmaVis则可用于各种MTA,对qmail来说,两者都是在qmail-queue上做动作。不同点是qmail-scanner不替换qmail-queue,而是使用一个QMAILQUEUE的被丁来实现可选择地替换qmail-queue,我认为qmail-queue要胜于AmaVis。
第三篇:
drweb这个东东不大常见,是一家俄国公司的产品,气人的是它没有英文版网站,在网站上找产品列表费了我好大劲。这里免费提示给大家:http://www.drweb.ru/linux-bsd/。它的软件全部采用服务器-客户端的的方式运行,服务器是一个后台运行的病毒扫描程序,应该比命令行方式的病毒扫描工具效率高,客户端是则是针对某个一种服务器的另一个软件包当有数据包通过时,直接向它的Server提交扫描,支持Sendmail,Exim,QMail,Postfix,CommunigatePro,Samba,ZMailer这几种服务器,分别有FreeBSD、Linux、Solaris版的,对qmail来说也是替换qmail-queue。
后来又看了一下qmail-scanner的说明文档说,其支持几个第三方软件如Sophie,Trophie,来实现DAEMON型的病毒扫描工具,或许可以跟drweb的有得一拼了。
第四篇:
文中使用的procmail,过滤几个字符串,这种并非真正的病毒防火墙,本文不作讨论。

综上所述,我进行了以下设计:
因为我们的SMTP不是用IP进行限制relay的,故原系统的SMTP_AUTH不能少,同时又不想做邮件转发,代替SMTP服务的方式我们舍弃,因此我们只能在qmail-queue上做手脚。

以下是我们的选择:
用qmail-scanner或AmaVis替换qmail-queue。

qmail-scanner和AmaVis皆需要第三方的杀毒软件
qmail-scanner可以使用以下软件:
1Trend'sVirusscanner
2Sophos's"sweep"virusscanner
3H+BEDV'santivirscanner
4Kaspersky'sAVPLinuxscanner
5MacAfee's(NAI's)virusscanner
6Command'svirusscanner
7F-SecureAnti-Virusscanner
8F-ProtAnti-Virusscanner
9InocuLANAnti-Virusscanner
10RAVAntivirus
11Sophie:Daemonfront-endtoSophosSweep(seeFAQfordetails)
12Trophie:Daemonfront-endtoTrendiscan(seeFAQfordetails)
13SpamAssassinDaemon(seeFAQfordetails)

AmaVis可以使用的杀毒软件如下:
1NetworkAssociatesVirusScan
2DrSolomon(obsolete)
3H+BEDVAntiVir/X
4SophosSweep
5KasperskyLabAntiViralToolkitPro(AVP)
6CyberSoftVFind
7TrendMicroFileScanner
8CAIInoculateIT
9F-SecureInc.(formerDataFellows)F-SecureAV

我的测试结果是qmail-scanner的效率更高一些(都使用H+BEDV的杀毒工具),同时qmail-scanner支持的第11、12三个软件可以以Daemon的形式运行那两种杀毒软件,效率就更高了,不过qmail-scanner需要给原来的qmail打一个补丁,稍微麻烦一点,但相对于它提供的功能,这点工作算什么呢?:)
因此,我的最终选择是:
qmail-scanner+H+BEDVServeredtion
只所以选择H+BEDV公司的产品,是因为,呵呵,有上面那个兄对的那个key可以注册成为正式版本(:。

安装步骤:

首先,要保证qmail本身正常运行,同时我们要给qmail-queue打一个补丁,所以需要qmail的源代码。
我在REDHAT7.3完全安装的机器上测试通过,安装qmail-scanner的时候有可能会缺少Perl的模块,查看README。
如果缺少的话,可以用如下命令通过网络安装模块:
#perl-MCPAN-eshell
>installTime::HiRes
或者是直接到这个地方去下载全部的modules,这个版本是forperl5.6.1的
http://www.perl.com/CPAN/src/stable.tar.gz
然后按说明文件安装:
#tarzxvfstable.tar.gz
#cdperl-5.6.1
#rm-fconfig.shPolicy.sh
#shConfigure
#make
#maketest
#makeinstall
一切OK

所需要的软件(包)及获得地址:
qmail-1.03.tar.gz
http://www.qmail.org/qmailqueue-patch
是使qmail支持QMAILQUEUE参数的一个补丁
http://prdownloads.sourceforge.net/qmail-scanner/qmail-scanner-1.12.tgz
这是qmail-scanner
courier-imap-deliverquota-1.4.2-3.i686.rpm
courier-imap-maildirmake-1.4.2-3.i686.rpm
courier-imap-userdb-1.4.2-3.i686.rpm
libstdc++2-2.10.0-2.i686.rpm
maildrop-devel-1.4.0-1.i386.rpm
maildrop-1.4.0-1.i386.rpm
qmail-scanner需要安装maildrop,而maildrop的rpm包需要以上其它的几个包,都可以在rpmfind.net找到。
http://www.hbedv.com/files/antivir/release/avlxsrv.tgz
ftp://mail.redhut.net/linux/hbedv.key
这是H+BEDV公司的杀毒产品

#cdqmail-1.03
#patch-p1<../qmailqueue.patch
......
有别的patch再打别的patch,但qmailqueue.patch一定要打
#makesetupcheck
安装设置,保证没做以下的步骤时可以正常收发,若不能请查看其它安装文档,等可以正常收发邮件了再来做下面的步骤。

#tarzxvfavlxsrv.tgz'解压杀毒软件包
#cdantivir-2.0.3-server
#install'安装,把key文件拷到安装目录
#antivir--updater'更新病毒库
#antivir--version'看到了吧,最新版本

#rpm-ivhcourier-imap-deliverquota-1.4.2-3.i686.rpmcourier-imap-maildirmake-1.4.2-3.i686.rpmcourier-imap-userdb-1.4.2-3.i686.rpmlibstdc++2-2.10.0-2.i686.rpmmaildrop-devel-1.4.0-1.i386.rpmmaildrop-1.4.0-1.i386.rpm
安装qmail-scanner所需的maildrop

#tarzxvfqmail-scanner-1.12.tgz
#cdqmail-scanner-1.12
#./configure--adminadmin--domaindomain.net--scannersantivir--notifysender--langen_GB--archiveyes--unzipyes
#./configure--adminadmin--domaindomain.net