四、Postfix的反垃圾配置
SpamAssassin是目前成功的反垃圾框架,它是利用Perl的字符串处理来实现垃圾邮件判别。通过判断目标邮件是否符合SpamAssassin的规则配置文件中的各项规则,并给邮件进行评分,SpamAssassin就会告诉用户哪些邮件是垃圾邮件。而用户所需要做的只是配置SpamAssassin的规则集,以及评分标准。
安装SpamAssassin十分简单,请参考以下步骤:
■ 下载SpamAssassin。
■解压缩Mail-SpamAssassin-3.2.5.tar.gz。
■ 用如下命令编译安装:
#perl Makefile.PL
#make
#make install SpamAssassin安装完毕后,就开始配置SpamAssassin的local.cf文件,SpamAssassin就是通过这个配置文件来设置规则。并进行垃圾邮件评判。如果想仔细了解SpamAssassin的规则配置,可以访问http://spamassassin.apache.org。当然,简单的配置一下这个文件,也会起到一定的反垃圾效果,可以如下修改:
■ 垃圾邮件的评分标准,超过该评分即被判别为垃圾邮件。
required_hits 5.0
■ 白名单,用户可根据自己的需要配置,比如,如果认为来自本域(本文中设定的#本域是test)的都是安全邮件,那么就可以如下修改。
whitelist_from *@cec-cn.com
■ 在垃圾邮件的主体上做一个标记。
rewrite_subject 1
■ 处理垃圾邮件的方式:
#0 将信息写入邮件头。
#1 将垃圾邮件作为附件。
#2 垃圾邮件以正文形式存在。
report_safe 0
■ 是否使用贝叶斯运算:
use_bayes 1
■ 贝叶斯的存储信息,根据用户自己的实际情况而定。
bayes_path /var/lib/amavis/.spamassassin/bayes
■ 是否启用贝叶斯的自动学习。
auto_learn 1
■ 是否略过实时黑名单的检查。
skip_rbl_checks 0
■ 检查是否是本域发送的邮件,如果是,则认为是正常邮件,评分减去50。
header LOCAL_RCVD Received =~ /.*\(\S+\.test\.com\s+\[.*\]\)/
describe LOCAL_RCVD Received from local machine score LOCAL_RCVD -50
配置好的SpamAssassin完全可以由Postfix直接调用。但是,如果以服务的形式启动,即spamd的形式,则可以有效地降低服务器资源占用。
如下修改/etc/default/SpamAssassin,将ENABLED设为1,这样SpamAssassin才可以spamd的形式启动注。然后,还需要修改 /etc/postfix/master.cf,来通知Postfix去使用SpamAssassin 来扫描邮件:
Smtp inet n - n - - smtpd -v -o
content_filter=spamassassin
这样,重新启动smtpd和Postfix守护进程将启用SpamAssassin来进行垃圾邮件到扫描。 #P#
五、Postfix的反病毒配置
Clamav是一款免费的反病毒工具包,实际运用中也十分有效。大家也可以安装F-Prot Antivirus软件
下面以Clamav为例子,可以如下操作:
■ 下载clamav-0.95.tar.gz:
■ 解压缩clamav-0.95.tar.gz:
■ 用如下命令添加用户:
#groupadd clamav
#useradd -g clamav -s/bin/false -d/dev/null clamav
■ 用如下命令编译安装:
#./configure --prefix=/usr/local/clamav --with-dbdir=/usr/local/share/clamav
#make
#make check
#make install
■ 打开/usr/local/clamav/etc/clamd.conf,注释掉Example行,并进行如下配置:
LogSyslog
LogVerbose
LogFacility LOG_MAIL
LogFile /var/log/clamav/clamd.log
PidFile /var/run/clamav/clamd.pid
DatabaseDirectory /usr/local/share/clamav
LocalSocket /var/run/clamav/clamd
StreamMaxLength 10M
User amavis
ScanMail
ScanArchive
ScanRAR
■ 打开 /usr/local/clamav/etc/freshclam.conf,注释掉Example行,并使用如下命令进行配置:
DatabaseDirectory /usr/local/share/clamav
UpdateLogFile /var/log/clamav/freshclam.log
LogSyslog
LogVerbose
DatabaseOwner amavis
Checks 12
DatabaseMirror db.CN.clamav.net
DatabaseMirror database.clamav.net
NotifyClamd
■ 使用如下命令创建日志文件夹,并设置权限:
#mkdir /var/log/clamav
#chmod -R 744 /var/log/clamav
#chown -R amavis:amavis /var/log/clamav
#chown -R amavis.amavis /usr/local/share/clamav
#mkdir /var/run/clamav
#chmod 700 /var/run/clamav
#chown amavis.amavis /var/run/clamav
■ 编辑crontab,并设置自动更新病毒库
#crontab -e 0 4 * * * root /usr/local/clamav/bin/freshclam --quiet -l /var/log/clamd.log
■ 启动Clamav 如图1
#/usr/local/clamav/sbin/clamd

 
图1 Clamav 启动界面
■最后病毒检测
从网站http://www.eicar.gor/anti_anti_virus_test_file.htm下载一个测试病毒文件eicar.com编写一个邮件附件中带上eicar.com,这样就可以检验防病毒系统的作用了。
这样,Clamav就可以根据病毒库信息对邮件进行扫描了。当然,为了让Postfix能够运用Clamav去扫描邮件,实际上还需要安装Amavisd,这是比较常用的MTA和邮件扫描软件的一个接口软件,使用该软件可以让MTA方便地启用邮件扫描程序。安装Amavisd的方法请参考有关资料。


相关内容