Freebsd下安装Drweb for qmail

12/3/2006来源:Qmail人气:7113

一、为什么要用drweb

  1、drweb能够在多种平台上运行,Windows 95/98/Me/NT/2000/XP、 DOS/386、 OS
/2、Novell NetWare、linux、FreeBSD和Solaris(Intel)
  2、能够以daemon方式运行。daemon是改良过的scanner,它具备更高的效率和并发
性能,而且还为邮件扫描专门作了优化。当然,是通过UNIX socket或TCP与daemon进行
通讯。
  3、Drweb支持的多种主流的邮件系统,如CommuniGatePRo、 Sendmail、 Postfix、
Exim、 QMail 和Zmailer。而且直接修改邮件系统的queue文件,具有较高效率。
  4、尽管在没有正式注册文件(drweb32.key)的情况下,drweb不能检测压缩文件和
杀毒,但是对于mail系统而言,不传递有毒的邮件就已经满足需求了。

二、如何安装drweb

  1、你可以通过freebsd的ports来安装drweb(/usr/ports/ security/drweb/),或
者通过package安装(在4.6 release的disk4中有两个文件drweb-4.28.1_1.tgz和drweb
d-1.0.tgz,前一个是主程序,后一个是drweb daemon的启动文件,放置在/usr/local/
etc/rc.d/下),当然,也可以直接在www.drweb.au上下载,然后自己安装。
  2、drweb由于是基于windows和linux开发的,所以有许多奇怪的东东。比如,有许
多.dll文件;如果从www.drweb.au上下载的pkg文件安装,那么drweb将被安装在/opt/d
rweb目录下,而且drweb缺省从/etc/drweb/下读取配置文件。所以建议使用ports或者p
ackage安装,这样才符合FreeBSDer的习惯。:-)
  3、如果使用package或ports安装,那么drweb将会安装在/usr/local/drweb/下,为
了符合bsd的习惯,在/usr/local/bin/还有一个名为drweb的shell脚本。

三、如何安装drweb filter for qmail

  1、在freebsd的ports中只收录了drweb-sendmail,想安装drweb-qmail可以直接到
drweb的网址上下载:http://drweb.spb.ru/download/unix/drweb-qmail-4.28.4-freebsd4.tgz
  2、安装drweb-qmail可以通过如下步骤:
    1)tar xzvf drweb-qmail-4.28.4-freebsd4.tgz
      cd drweb-qmial-4.28.4-freebsd4
    2)cp /var/qmail/bin/qmail-queue /var/qmail/bin/qmail-queue.orig
      cp opt/drweb/doc/qmail/qmail-queue /var/qmail/bin/qmail-queue
      chown qmailq:qmail qmail-queue
      chmod 4711 qmail-queue
      chown qmailq:qmail qmail-queue.orig
      chmod 4711 qmail-queue.orig
    3)cp -R etc/drweb/templates /usr/local/drweb/
      mkdir /etc/drweb
      cp etc/drweb/*.conf /etc/drweb
  3、设置drweb。对/etc/drweb/drweb-qmail我作了如下修改

Address = local:/usr/local/drweb/run/drwebd.sock
Spool = /usr/local/drweb/spool
DenyList = /etc/drweb/users.conf
AdminMail = webmaster
FilterMail = [email protected]
Quarantine = /usr/local/drweb/infected
# 汉化msg文件
AdminTemplate = /usr/local/drweb/templates/cn/qmail/virus-admin.msg
SenderTemplate = /usr/local/drweb/templates/cn/qmail/virus-sender.msg
RcptsTemplate = /usr/local/drweb/templates/cn/qmail/virus-rcpts.msg

  对/usr/local/drweb/drweb32.ini,作了如下修改
LogFileName = "/var/log/drwebd.log"
User = qmailq

在这里我将drwebd的uid改成qmailq(drweb在安装的时候会自动新增drweb用户和drweb
组),是因为在运行的使用,mail-queue总是报没有权限读取/usr/local/drweb/run/d
rwebd.sock的错(一个是drweb、一个是qmailq,当然要错了),但是在改动gid之后,
仍然无法解决,我一气之下,就将drwebd的uid该为qmailq。当然一些相应文件和目录的
uid也需要作改动。
drwx------ 2 qmailq drweb 12288 Jul 1 14:54 infected
drwxr-xr-x 2 qmailq qmail 512 Jun 16 16:45 run
drwxr-xr-x 2 qmailq qmail 14848 Jul 1 14:54 spool

  4、好了,你现在可以发送一封带病毒的信了,如果一切正常,通过/var/log/drwe
bd.log和/var/log/maillog可以看类似这样的信息

/var/log/drwebd.log:

Mon Jun 17 13:58:27 2002 [74137] >/usr/local/drweb/spool/drweb.tmp_i74136/h
tml.1 - Ok
Mon Jun 17 13:58:27 2002 [74137] >/usr/local/drweb/spool/drweb.tmp_i74136/o
nClick.bat infected with Win32.HLLM.Klez.4
Mon Jun 17 13:58:27 2002 [74140] /usr/local/drweb/spool/drweb.tmp_Q74139 -
archive MAIL
Mon Jun 17 13:58:27 2002 [74140] /usr/local/drweb/spool/drweb.tmp_Q74139 -
Ok

/var/log/maillog:

Jul 1 01:08:56 sgate qmail-queue: load configuration from /etc/drweb/drweb_
qmail.conf
Jul 1 01:08:56 sgate qmail-queue: Actions: infected=Q, suspicious=Q, skip=R
, mailbomb=R, scanning_error=T, processing_error=R, empty_from=C, spam_filte
r=P
Jul 1 01:08:56 sgate qmail-queue: dwlib: read_conf(/etc/drweb/drweb_qmail.c
onf): successfully loaded
Jul 1 01:08:56 sgate qmail-queue: dwlib: startup: set timeout for whole ses
sion to 60000 milliseconds (-1 means infinite)
Jul 1 01:08:56 sgate qmail-queue: drweb-qmail: [55492] started ...
Jul 1 01:08:56 sgate qmail-queue: dwlib: scan: message sent by [email protected]
3.com is passed
(呵呵,有人给我写信了)

四、更新drweb。在/usr/local/drweb/update/下有update.pl,可以在crontab中加入,
自动更新