构建反病毒反垃圾邮件系统(七)
来源:云南设计港 时间:2007-10-10 14:39:00
SpamAssassin的打分标准见http://spamassassin.org/tests.html,默认的标准可能并不适合我们,比如SUBJ_FULL_OF_8BITS有4分多,这个比较容易误伤友军,应该降低该分值。只需在配置文件里加上:
scoreSUBJ_FULL_OF_8BITS2
那么SUBJ_FULL_OF_8BITS就只能评2分了。很多垃圾邮件内容都会有免费什么什么的,所以免费可以作为关键字,打上较高分数:
bodyCH_FREE/免费/
describeCH_FREEContainChineseFree
scoreCH_FREE3.0
建立Bayes学习知识库:
#cd/var/lib/amavis/.spamassassin
#/usr/local/bin/sa-learn--rebuild-D-puser_prefs
以后spamassassin会自动学习更新。
3、amavis相关配置
修改/etc/amavis/amavisd.conf文件启用ANTI-SPAM功能:
#@bypass_spam_checks_acl=qw(.);
运行amavisddebug,看到有如下的信息,说明ANTI-SPAM的功能已经打开了:
Jul1702:35:46debianamavisd[3082]:ANTI-SPAMcodeloaded
Jul1702:35:46debianamavisd[3082]:SpamControl:initializingMail::SpamAssassin
Jul1702:35:47debianamavisd[3082]:SpamControl:done
/etc/amavis/amavisd.conf配置文件里的$final_spam_destiny决定了对垃圾邮件的处理,是拒绝、丢弃还是通过。
也许你还需要好好调整amavisd.conf配置文件,比如发现垃圾邮件和病毒邮件的时候是否给管理员发送提醒邮件等等,每个选项上面都有详细的描述。
在一个十多个邮件用户的真实环境里,spamassassin一天大概能挡下四、五十封垃圾邮件,而且正确率非常高,在98%以上。病毒邮件比较少,但是正确率100%,包括邮件用户给其他人员发木马等软件,都会被挡下来,所以内部邮件用户要发送此类邮件必须使用加密或者压缩后加口令。
四、邮件列表
1、mailman的安装
一直听说mailman不错,于是就选用了,结果问题多多,花了很长时间才解决。
首先在apt安装的时候就有问题,mailman一定要关联apache,由于系统本身有自己编译的apache,所以导致安装不成功。没办法只能手工编译,手工编译得确定有mailman的用户和组,而且需要python2.1-dev,源码包里有INSTALL和README.POSTFIX两个帮助文件一定要好好看看。
#apt-getinstallpython2.1-dev
#wgethttp://www.XXXX..net/sourceforge/mailman/mailman-2.1.2.tgz
#tarxzfmailman-2.1.2.tgz
#mkdir/usr/local/mailman
#chmod02775/usr/local/mailman
#cdmailman-2.1.2
#./configure--prefix=/usr/local/mailman--with-mail-gid=mailman
安装完后检查权限:
#/usr/local/mailman/bin/check_perm
加上-f参数可以修复。安装很方便,可是和虚拟域的postfix结合还是比较折腾人的,直接使用虚拟域如test.org就会带来麻烦,它会查找虚拟域的用户,所以会报unknownuser的错误。
2、mailman的配置
加上mailman的cron:
#cd/usr/local/mailman/cron
#crontab-umailmancrontab.in
把mailman加到启动组里:
#cpscripts/mailman/etc/init.d/mailman
#update-rc.dmailmandefaults
修改/usr/local/mailman/Mailman/mm_cfg.py,加上:
DEFAULT_EMAIL_HOST='lists.test.org'
MTA='Postfix'
POSTFIX_STYLE_VIRTUAL_DOMAINS=['lists.test.org','test.org']
可以试着添加一个邮件列表:
#/usr/local/mailman/bin/newlistmailman