您所在的位置:读书频道 > 操作系统 > Linux > 19.7.7 邮件扫描器

19.7.7 邮件扫描器

2007-12-06 20:26 鸟哥 机械工业出版社华章公司 字号:T | T
一键收藏,随时查看,分享好友!

《鸟哥的Linux私房菜——服务器架设篇》(第二版)第19章的主要介绍的是以Postfix为主的邮件主机架设。本文主要介绍的是邮件扫描器。

AD:

19.7.7  邮件扫描器

到目前为止,之前的设置应该可以满足一般50人以下的小企业环境了,甚至再多一点人也没有问题。不过如果人数多了,各种奇怪的信件也会跟着多起来,这是因为总是会有人不小心将它的E-mail address放在因特网上,如果被邮件地址搜索机器人捕捉到的话,您的E-mail将会出现在广告邮件发送商的名单中。

为了避免这个问题,很多朋友将它的信箱分为两个,一个直接放在Internet上,另一个则作为自己日常业务之用。另外有的朋友则使用类似下面所提供的邮件地址表示方式:

dmtsai{at}linux{dot}vbird{dot}tsai

这种格式对于网络机器人(就是一种可以自动上网搜索关键词的软件程序)的搜索会造成困扰,因为那些机器人程序用以判断是否为邮件地址是依据“@”来判别的。所以说,不要泄漏个人的E-mail是很重要的一件事。


您可以自己测试看看,如果申请了一个免费信箱,但不要将它公布,那个信箱肯定不会收到任何广告邮件。但您一旦用那个信箱来申请一些个人数据而公布在Internet上面时,不超过一个星期,该信箱肯定会收到很多广告邮件。使用上要特别留意。

既然广告邮件在短期内不可能有个长足的解决方案,那至少我们可以直接在Mail Server端就将广告邮件与病毒信给它捕捉出来,如此就可避免用户必须自己分析广告邮件与垃圾邮件等所花费的时间了。下面提供几个软件来帮忙处理主机端的信件数据。

• amavisd-new:官方网站为http://www.ijs.si/software/amavisd/,这个软件主要是介于MTA与邮件分析软件之间的一个接口,它可以将位于队列的邮件取出来,以供分析软件分析,通常是需要安装的,支持Postfix。

• f-port:官方网站为http://www.f-prot.com/,是一种防毒软件,具有自动更新病毒码的能力。

• SpamAssassin:官方网站为http://spamassassin.apache.org/index.html,具有自动学习的广告邮件分析软件,不过如果自动学习的规定太严格,有时会发生误判。

接下来就让我们的Postfix支持这三个软件。不过需要注意的是,f-port与SapmAssisin是独立运行的软件,Postfix为了使用这两个软件的分析功能,需要通过amavisd-new接口工具来传送邮件信息。详细的操作请参考上面提供的官方网站,或者是参考讨论区的几篇文章。

· TWU2兄提供的好文章:http://phorum.study-area.org/viewtopic.php?t=38649
· kevin1005提供的好文章:http://phorum.vbird.org/viewtopic.php?t=25760
· johntino提供的好文章:http://phorum.vbird.org/viewtopic.php?t=15862

当然网络上还有很多好文章,大家可以多多搜索一番。

1. amavisd-new的安装与设置

虽然您可以自行使用Tarball来安装,不过也可以在http://rpmfind.net/上找到给RHEL 4使用的版本。既然CentOS与RHEL使用的软件均相同,没有道理不能安装。所以下面的软件请先由http://rpmfind.net/网站下载,然后再开始安装。需要注意的是,由于amavisd-new是用perl编写成的,它需要很多perl的模块,且由于要分析信件内容,所以也需要很多解压缩软件来解析信件内的压缩文件,因此才会需要这么多的软件安装。

与Perl模块有关的软件如下。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Archive-Tar-1.30-1.el4. rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Archive-Zip-1.16-1.2. el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-BerkeleyDB-0.31-1.el4. rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Compress-Zlib-1.42-1. el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Convert-BinHex-1.119- 2.2.el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Convert-UUlib-1.051- 1.2.el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Convert-TNEF-0.17- 3.2.el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-IO-Multiplex-1.08-3. el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-IO-stringy-2.110-1.2. el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-MIME-tools-5.420- 1.el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Net-Server-0.94- 1.el4.rf.noarch.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ perl-Unix-Syslog-0.100- 1.2.el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ amavisd-new-2.4.3-1. el4.rf.i386.rpm。

与压缩及解压缩软件有关的软件如下。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ arc-5.21j-0.2.el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ cabextract-1.2-1.el4. rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/freeze-2.5-2.2.el4.rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ lzo-1.08-4.2.el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ lzop-1.01-1.2.el4.rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ nomarch-1.4-1.el4.rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ ripole-0.2.0-1.2.el4.rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ unarj-2.63-0.a.2.el4.rf.i386. rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ unrar-3.6.8-1.el4.rf.i386.rpm。

· FTP://rpmfind.net/linux/dag/redhat/el4/en/i386/dag/RPMS/ zoo-2.10-2.2.el4.rf.i386.rpm。

可先以yum的方式来安装ncompress、perl-Net-DNS、perl-TimeDate、perl-MailTools、perl-Digest-SHA1、perl-Digest-HMAC、perl-Time-HiRes、spamassassin等软件,然后将上列的软件全部放在同一个目录下,以rpm -Uvh *.rpm来安装上述的所有软件。但安装时如果出现如下界面:

warning:amavisd-new-2.4.3-1.el4.rf.i386.rpm:V3 DSA signature:NOKEY,key ID 6b
Preparing...                ########################################### [100%]
        package perl-BerkeleyDB-0.31-1.el4.rf is already installed
        ....

这表示某些软件已经被安装了,您不应该再安装它。那么请自行将这些已安装的软件文件移出当前目录,再执行一次“rpm -Uvh *.rpm”即可。如果还是出现某些相似属性的问题,要么就以yum来安装,要么就在http://rpmfind.net/网站搜索适当的RPM文件来安装,安装完毕后就准备来设置一下。

开始设置amavisd-new前,请务必先查阅一下/usr/share/doc/amavisd-new-2.4.3/ README.Postfix文件的内容,里面有很详尽的设置说明。这个amavisd-new的配置文件只有/etc/amavisd.conf而已,默认的情况下该文件内含有很多的病毒搜索引擎,不过我们仅有f-port这个扫毒软件而已,所以里面需要进行很多修改。基本内容的修改如下:

[root@linux ~]# vi /etc/amavisd.conf
# 1.首先是关于系统设置的部分,包括主机与领域名称等的设置
$mydomain='vbird.tsai';          <==约在第20行,填写您的领域名
$MYHOME='/var/amavis';           <==约在第22行,这是amavis的默认目录
$inet_socket_port=10024;         <==约在第51行,默认启动的端口
$myhostname='linux.vbird.tsai';  <==约在第113行,改成您的主机名称
$notify_method ='SMTP:[127.0.0.1]:10025';  <==约在第116行,设置连接的端口
$forward_method='SMTP:[127.0.0.1]:10025';  <==约在第117行

# 2. 下面这几行约在第118行之后,用来作为找到病毒或广告邮件后的操作
# 如果您害怕不小心将重要文件删除了,建议先改成D_BOUNCE预先处理
$final_virus_destiny     =D_BOUNCE;  <==找到病毒时的操作
$final_banned_destiny    =D_BOUNCE;  <==找到禁止项目的操作
$final_spam_destiny      =D_PASS;    <==找到广告邮件的操作
$final_bad_header_destiny=D_PASS;    <==找到不良信件标头的操作
# 可以处理的操作主要有
#   D_PASS    无论邮件的内容是否有问题,该邮件都会传给收件者
#   D_DISCARD 邮件被丢弃,而且不会告知收件者与寄件者
#   D_BOUNCE  邮件不会传给收件者,但无法传递的信息会告知寄件者
#   D_REJECT  邮件不会传给收件者,但寄件者会收到拒绝的信息
# 鸟哥在这里由于担心误删一些数据,所以除了病毒与禁止项目会回传错误给寄件者外
# 其他两个先默认可以通过。等到以后邮件服务器用户觉得可以接收后
# 某些部分 (如病毒) 就可以改为 D_DISCARD 来直接丢弃了

# 3.决定病毒扫描的引擎,下面分别是主要与次要扫毒程序
@av_scanners=(                <==大约在309行,里面的项目全部注释
…
);
# 因为所有的病毒扫描引擎都没有安装

@av_scanners_backup=(         <==大约在626行,只要剩下下面这些
  ['FRISK F-Prot Antivirus', ['f-prot','f-prot.sh'],
    '-dumb -archive -packed {}', [0,8], [3,6],
    qr/Infection: (.+)|\s+contains\s+(.+)$/ ],
…
);

现在还无法启动amavisd-new,因为要先安装f-port才行,赶紧下一操作吧。

2. 安装与设置f-port

f-port是一个扫毒软件,它的版本非常多,其中只有一个是免费的个人版本,请到下面的链接去下载:http://www.f-prot.com/download/trial_forms/linux-ws-rpm.html

建议直接下载RPM文件,然后直接安装。安装后f-port会立即主动进行在线更新,所以请在安装的时候确定网络是正常的。而所有f-port的数据都会被放置到/usr/local/f-prot/目录下。安装完毕后检查一下能否正常运行:

[root@linux ~]# f-prot -verno
F-PROT ANTIVIRUS
Program version: 4.6.6
Engine version: 3.16.14

VIRUS SIGNATURE FILES
SIGN.DEF created 29 November 2006
SIGN2.DEF created 29 November 2006
MACRO.DEF created 27 November 2006
# 若出现如上的版本宣告,这表示f-port(注意文件名)可以顺利运行

[root@linux ~]# f-prot /ec/crontab
# 如果出现扫描的字样,表示这个软件可以开始进行扫描的工作

也就是说,f-port软件的扫描程序可以在Linux上面扫描各种文件。不过,我们的重点是利用它来进行邮件的扫描。至于在线更新病毒代码部分,您可以手动在线更新,也可以进入工作日程来自动更新:

# 1. 手动实时在线更新方式
[root@linux ~]# /usr/local/f-prot/tools/check-updates.pl

# 2. 自动更新
[root@linux ~]# vi /etc/crontab
27 4,16 * * * root /usr/local/f-prot/tools/check-updates.pl -cron -quiet

这样设置后,我们的f-port每天可以进行两次在线更新的操作。

3. 测试amavisd-new与病毒扫描程序的搭配

完成上述的设置后,可以先来测试amavisd-new与f-port扫毒程序的搭配情况。直接进行如下操作:

[root@linux ~]# amavisd debug
…
# 下面在说明此软件所监听的接口、端口、执行者的UID/GID等
Nov 30 14:51:53 linux amavisd[3457]:Net::Server:
Binding to TCP port 10024 on 
host 127.0.0.1
Nov 30 14:51:53 linux amavisd[3457]: Net::Server: Setting gid to "102 102"
Nov 30 14:51:53 linux amavisd[3457]:Net::Server: Setting uid to "101"
Nov 30 14:51:53 linux amavisd[3457]:Net::Server:Setting up serialization via 
flock

# 下面在说明各个模块是否有被顺利的加载
Nov 30 14:51:54 linux amavisd[3457]: Module Amavis::Conf   2.072
Nov 30 14:51:54 linux amavisd[3457]: Module Archive::Tar   1.30
Nov 30 14:51:54 linux amavisd[3457]: Module Archive::Zip   1.16
…

# 下面在说明加载哪些资料
Nov 30 14:51:54 linux amavisd[3457]: Amavis::DB code      loaded
Nov 30 14:51:54 linux amavisd[3457]: Amavis::Cache code   loaded
…
Nov 30 14:51:54 linux amavisd[3457]: ANTI-VIRUS code      loaded
Nov 30 14:51:54 linux amavisd[3457]: ANTI-SPAM code       loaded
Nov 30 14:51:54 linux amavisd[3457]: ANTI-SPAM-SA code    loaded
Nov 30 14:51:54 linux amavisd[3457]: Unpackers code       loaded

# 这里说明的是一些文件解压缩的功能
Nov 30 14:51:54 linux amavisd[3457]: Found $file   at /usr/bin/file
Nov 30 14:51:54 linux amavisd[3457]: No $dspam,    not using it
Nov 30 14:51:54 linux amavisd[3457]: Internal decoder for .Mail
Nov 30 14:51:54 linux amavisd[3457]: Internal decoder for .asc
…
Nov 30 14:51:54 linux amavisd[3457]: Found secondary av scanner FRISK 
F-Prot Antivirus at /usr/local/bin/f-prot <==说明有找到 f-port
Nov 30 14:51:54 linux amavisd[3457]:
SpamControl:initializing Mail::SpamAssassin
Nov 30 14:51:56 linux amavisd[3457]: SpamControl: init_pre_fork done
…
# 最后按下Ctrl+C来结束这个debug界面

看起来应该是没有问题了,接下来可启动这个服务:

[root@linux ~]# /etc/init.d/amavisd start

# 测试一下amavisd启动的端口10024是否顺利运行
[root@linux ~]# Telnet 127.0.0.1 10024
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '_]'.
220 [127.0.0.1] ESMTP amavisd-new service ready
ehlo localhost
250-[127.0.0.1]
250-VRFY
250-PIPELINING
250-SIZE
250-ENHANCEDSTATUSCODES
250-8BITMIME
250-DSN
250 XFORWARD NAME ADDR PROTO HELO
quit
221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel
Connection closed by foreign host.

如果一切都顺利的话,可以将这个服务写入开机的自动执行中。

4. 设置Postfix使其支持amavisd-new的分析工作

这个设置项目需要的信息比较多,有两个文件要修改,先改Master.cf。

[root@linux ~]# vi /etc/Postfix/Master.cf
# 这几行专门为了病毒、广告邮件作的接
# ====================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (yes)   (never) (100)
# ====================================================================
SMTP-amavis unix -      -       n        -       2    SMTP
    -o SMTP_data_done_timeout=1200
    -o SMTP_send_xforward_command=yes
    -o disable_dns_lookups=yes
    -o max_use=20

127.0.0.1:10025 inet n  -       n        -       -    SMTPd
    -o content_filter=
    -o SMTPd_restriction_classes=
    -o SMTPd_delay_reject=no
    -o SMTPd_Client_restrictions=permit_mynetworks,reject
    -o SMTPd_helo_restrictions=
    -o SMTPd_sender_restrictions=
    -o SMTPd_recipient_restrictions=permit_mynetworks,reject
    -o SMTPd_data_restrictions=reject_unauth_pipelining
    -o SMTPd_end_of_data_restrictions=
    -o mynetworks=127.0.0.0/8
    -o SMTPd_error_sleep_time=0
    -o SMTPd_soft_error_limit=1001
    -o SMTPd_hard_error_limit=1000
    -o SMTPd_Client_connection_count_limit=0
    -o SMTPd_Client_connection_rate_limit=0
    -o SMTPd_milters=
    -o local_header_rewrite_Clients=
    -o local_recipient_maps=
    -o Relay_recipient_maps=

这几行设置好之后,再来处理main.cf这个文件。

[root@linux ~]# vi /etc/Postfix/main.cf
content_filter=SMTP-amavis:[127.0.0.1]:10024

[root@linux ~]# /etc/init.d/Postfix restart

然后就能够帮您分析病毒邮件了,就是这么简单。

5. 广告邮件的抵挡

spamassassin这个自动抵挡广告邮件的机制,主要是通过分析信件内容,只要信件内容的某一部分符合spamassassin(简称SA)的规范,则该信件可给予一个分数。将该信件的所有分数加起来,若分数高于所规定的默认分数,则该信件可以被视为广告邮件。这个分数如果设置太低,则很多合法的信件都会不小心被视为广告邮件,如果设置太高,可能又会捕捉不到广告邮件,真是两难。这个分数默认的设置值如下:

[root@linux ~]# vi /etc/amavisd.conf
$sa_tag_level_deflt =5.0;             <==大约在第61行,将2改成5

[root@linux ~]# vi /etc/Mail/spamassassin/local.cf
required_hits 5                         <==它就是这个分数
report_safe 0
rewrite_header Subject [SPAM]         <==如果是广告邮件,标头会被改写

[root@linux ~]# /etc/init.d/amavisd restart

每个人的主机都不太一样,所以这个分数需要您多方的尝试才能找出最佳的数值。就是因为害怕误判,所以希望在/etc/amavisd.conf里不要将spam的规则设置为D_DISCARD。至于这个文件的处理方式,您可以参考下面的网页来改写local.cf文件。

· <http://spamassassin.apache.org/full/2.6x/dist/doc/Mail_SpamAssassin_ Conf.html>。
· http://www.yrex.com/spam/spamconfig.php

需要注意的是,local.cf里很多的设置值已经被/etc/amavisd.conf所取代了,所以您的local.cf部分设置可能会失效,这是要特别先说明的。可以开始稍微测试一下。下面将利用CentOS本身的spamassassin提供的一封广告邮件来测试:

[root@linux ~]# Mail -s 'spam test' dmtsai <  \
> /usr/share/doc/spamassassin-3.0.6/sample-spam.txt
# 假设您的系统有个用户名为dmtsai ,您寄出广告邮件给它
# 然后用dmtsai收信,您会发现到该封信件的内容

[dmtsai@linux ~]$ Mail
>N 1 dmtsai@linux  Thu Nov 30 23:18  54/2065  "**SPAM** spam test"
#标头多出了一些东西。没错,信件标头会被改写
& 1
From dmtsai@linux.vbird.tsai  Thu Nov 30 23:18:24 2006
X-Original-To: dmtsai@linux.vbird.tsai
Delivered-To: dmtsai@linux.vbird.tsai
X-Quarantine-ID: 
From dmtsai@linux.vbird.tsai Thu Nov 30 23:18:24 2006
X-Original-To: dmtsai@linux.vbird.tsai
Delivered-To: dmtsai@linux.vbird.tsai
X-Quarantine-ID: 
X-Virus-Scanned: amavisd-new at vbird.tsai
X-Spam-Flag: YES
X-Spam-Score: 1001.148
X-Spam-Level: ***********************************************
X-Spam-Status: Yes, score=1001.148 tagged_above=5 required=6.31
        tests=[AWL=-2.025, DNS_FROM_RFC_ABUSE=0.374, GTUBE=1000,
        NO_RELAYS=-0.001, UNWANTED_LANGUAGE_BODY=2.8]
# 上面的特殊字体部分,第一行就是病毒扫描的证据
# 后面这几行则是运算广告邮件总结分数的结果,有趣吧

6. 自动学习阻止广告邮件

在spamassasin提供的功能中,有两种使用spamassassin的方式,一种是通过spamd这个spamassassin的服务,另一种则是通过spamc这个可以让MTA呼叫来批次执行的程序。在鸟哥的范例中,是通过amavisd-new软件来呼叫spamc以处理广告邮件的。所以您的spamassassin的daemon功能不用启动。

另外,广告邮件可是千变万化的,谁也搞不清楚下一次出现广告邮件的情况会是如何,所以说,制订固定的广告邮件过滤规则是没有多大的效果的。所以,能够自动学习广告邮件的内容数据,然后自动学习更新数据库,这才能够适应因特网的现实残酷的状态。我们的spamassassin提供一个程序与一个称为bayes(贝式)的机制来处理自动学习的功能,可以通过这个功能来进行分类。

既然有过滤机制的数据库,那么数据库在哪里?其实数据库主要有两个,分别是个人的与系统的。我们这个案例的系统数据库放置在/var/amavis/.spamassassin/里,个人数据库则是在“~/.spamassassin/”里。基本上,建议由系统管理员直接修订系统数据库的内容即可。那么如何处理新的广告邮件呢?您必须这样做。

(1)手动处理广告邮件数据

需要先手动将没有被spam的广告邮件抽出来,例如,鸟哥将我所收到的广告邮件放置到/root/Mail/spam文件中,它是一个mbox的格式,也就是Mailbox的格式。您也可以建立一个用户名为spam,将您所收到的广告邮件转寄给这个用户即可。

(2)利用sa-learn学习广告邮件

接下来需要更新广告邮件的数据库,这个操作主要是通过sa-learn指令来处理的。您最好先以“man sa-learn”来了解一下所有的参数。假设您的广告邮件放置在/root/Mail/spam这个mbox格式的文件中,那么您可以这样做:

sa-learn --spam --mbox --dbpath /var/amavis/.spamassassin/ /root/Mail/spam

如此一来,过滤广告邮件的内容就被更新了。

(3)正常信件被误判的处理

如果有正常信件却被分析为广告邮件呢?没关系,您同样将这些信件独立出来成为一个文件,例如/root/mail/nospam,然后这样做:

sa-learn --ham --mbox --dbpath /var/amavis/.spamassassin/ /root/mail/nospam

通过这个学习机制,您的广告邮件抵挡会越来越精确。等到累积了足够的广告邮件学习后,就能够修改/etc/amavisd.conf里针对广告邮件命运的处理方式了(由D_PASS变成D_DISCARD看看)。

7. 不要丢弃exe文件名的附件

使用了amavisd-new作为病毒处理与广告邮件抵挡真是不错的方案,不过,默认amavisd-new会丢弃附件名为*.exe、.bat、.com等的邮件,而且如果您将某个.exe文件压缩成为.rar或者是.zip的压缩文件时,由于我们的Linux有安装解压缩软件(如unrar),结果该封邮件还是会被丢弃,而不论是否有病毒存在。

这样实在不太人性化,因为有些时候我们需要传送一些附件名为.exe的执行文件,如果默认会被丢弃,那如何传送出该文件?必须使用FTP吗?没关系,可以通过修改amavisd-new的配置文件来放行。处理的方式很简单,只要这样做即可:

[root@linux ~]# vi /etc/amavisd.conf

找到下面这一行,大约在166行左右:

  qr'_\.(exe-ms|dll)$',

将它改成这样:
  qr'_\.(dll)$',

找到下面这两行,大约在187行附近:
qr'\.[_./]*[A-Za-z][_./]*\.(exe|vbs|pif|scr|bat|cmd|com|cpl|dll)\.?$'i,
  qr'.\.(exe|vbs|pif|scr|cpl)$'i,
将它改成这样:
  qr'\.[_./]*[A-Za-z][_./]*\.(vbs|pif|scr|cmd|com|cpl|dll)\.?$'i,
  qr'.\.(vbs|pif|scr|cpl)$'i,

[root@linux ~]# /etc/init.d/amavisd restart

删除含有exe的关键词设置,如此一来,除非您的.exe文件含有病毒,否则就不会被丢弃了。

【责任编辑:董书 TEL:(010)68476606】

回书目   上一节   下一节

分享到:

  1. Linux服务器配置全程实录
  2. 揭秘--优秀PPT这样制作

热点职位

更多>>

热点专题

更多>>

读书

精通Spring 2.x——企业应用开发详解
本书深刻揭示了Spring的技术内幕,对IoC、AOP、事务管理等根基性的技术进行了深度的挖掘。读者阅读本书后,不但可以熟练使用Spri

最新热帖

更多>>

51CTO旗下网站

领先的IT技术网站 51CTO 领先的中文存储媒体 WatchStor 中国首个CIO网站 CIOage 中国首家数字医疗网站 HC3i 51CTO学院