邮件系统的选型与架构专题(上篇)(6)
来源:asp之家 发布时间:2010-03-12 18:31:00
2.对远程主机提供的SMTP会话信息进行确认
另一个阻挡垃圾邮件的有效方法是在SMTP会话期间对远程主机所使用的SMTP信息进行验证。很多MTA程序允许配置对进入的SMTP信息进行严格的检查。两个经常被检查的SMTP命令是HELO(对于ESMTP为EHLO)和MAIL FROM。
HELO命令用来找出远程服务器的真实身份。通过执行DNS主机名查找时,对由HELO命令所提供的无效信息进行过滤。
MAIL FROM命令用于确定邮件发送者。正常的MAIL FROM命令包括接收邮件地址的正式域名(Fully Qualified Domain Name,FQDN)格式,不符合要求的将拒绝接收。
如果使用Qmail的SMTP信息检查,必须使用一些Qmail的补丁程序,包括qmail-badhelo_diff.patch、 qmail-badmailfrom-wildcard.patch、qmail-badrcptto_diff.patch、 qmail-reject_percent_diff.patch、qmail-limit-bounce-size.patch和 qmail-smtpd-auth-0.31.patch。
3.通过查找已知的垃圾邮件记号过滤进入的信息
通过以上的一些措施,有相当一部分的垃圾邮件会被阻止连接。但只是从发送邮件服务器的特征,如主机地址、IP和连接数量等来杜绝垃圾源还远远不够,还需要仔细检查邮件本身是否包含有垃圾内容。所以,需要在应用层上做内容过滤。
(1)使用qmail-qfilter过滤带有特定词语的邮件
qmail-qfilter是一个允许在Qmail队列程序前加入基于Perl的过滤器脚本。此脚本可以定义多条过滤规则,针对邮件中的任何数据进行扫描和过滤,不论数据信息是在邮件头还是邮件体中。例如:
这种方式的优点是简单,缺点是不够智能,且对中文过滤不起作用。由于它是置于qmail-queue程序前执行,因此它的效率直接对邮件系统产生影响,加上过滤效果并不显著,因此不建议使用。
(2)使用SpamAssassin软件分析邮件是否为垃圾邮件
SpamAssassin是一个非常优秀的、基于贝叶斯算法、功能强大的反垃圾邮件开源软件。
SpamAssassin的判断是一种给邮件进行评分的系统。根据邮件的各种特征可以给出符合条件的正或负的评分,加在一起就是总的评分,这个分值越高就越有可能是垃圾邮件。
通常可以设置一个区别的分值,比如默认是5分,等于或高于此分值的邮件会被判断为垃圾邮件,从而让邮件系统选择进行何种处理。SpamAssassin也可以在调用Razor及DCC等数据库的基础上,再采用人工加权或scored的方法进行垃圾邮件识别。在本例邮件系统中使用了以下技术减少垃圾邮件的侵入。
◆ 下载并安装DCC和Razor的Perl源码包,使用DCC和Razor的特征数据库,为SpamAssassin的评分提供更准确的信息。
◆ 下载互联网上由中国反垃圾邮件联盟提供的垃圾邮件信息,分别放在SpamAssassin的特征库中。如chese_diy.cf文件内容为:
如果邮件内容包括以上这些词语,SpamAssassin评出的分值就会高出区别分值,邮件系统就会认为这是一封内容超标的垃圾邮件而拒绝接收。这种方法的优点是可以根据实际情况灵活调整对应的分值,使之更符合要求,有效降低误报、误杀率;缺点是查杀效率较低,影响邮件系统的性能。建议在硬件配置比较高的机器上采用。
其它的方法还包括使用Maildrop过滤及分类投递邮件等。
最后,简单地说一下防止病毒。如果想使用免费的防毒软件可以考虑基于个人版的Linux杀毒软件,如BitDefender公司的BitDefender-Qmail工具,再配合Qmail-Scanner(原名scan4virus)。这是一个专门为Qmail开发的邮件扫描脚本程序,用Perl编写,可以支持多个Unix下的专业查毒软件,安装和使用比较简单。需要注意的是,它需要最新的Perl 5.8版本支持,因此使用此程序需要升级系统的Perl版本。
如果是构建商用邮件系统,建议购买商业版杀毒软件。这样,无论是在查杀病毒的效率上,还是病毒特征库的更新速度上都会更有保证。


猜你喜欢
- 话不多说,直接开始$ cat /proc/scsi/scsi Attached devices:Hos
- dedecms5.1sp1 一个tag只能对应一篇文章 其它文章添加TAG相同时不显示不添加文章到TAG目录解决办法:在后台的【SQL命令运
- 最近用dedecms做了个网站 www.iiseo.com 找了半天终于知道了一个简单的生成sitemap的方法,好东西不敢独享
- 首先我说明的我的主题很细,这里只以IT类的个人博客为例推广来说,如果您不属于这个范畴就权当做个参考吧。博客的推广显然不能和大型网站的推广相提
- 近日有不少人问虚拟主机好还是服务器合租好?其实,各有各的市场优势,两者将长期并存下去。大家都知道虚拟主机技术在起初刚发展的时候都被看作是个很
- 我就从我是谁以及我做gg adsense多久了开始这篇文章吧。我名叫Chris,是澳大利亚Brisbane的一名21岁的大学在校学生。200
- Godaddy主机用户可以为其Linux共享托管帐户里的每个目录设置多个不同的目录许可。这样就可以控制哪些人能访问你的文档,他们在这些目录里
- SEO博客建了也有半年了,也了解了一些SEO的手段和方法,但本人认为SEO最基本还是以下六点暂时就叫SEO的六大重点和难点吧(仅代表本人的S
- Git pull命令与fetch命令的区别今天在公司碰到个问题,公司不使用master分支作为主分支,而使用release分支作为主分支,这
- 准备工作推荐使用anaconda进行python环境的管理,因python环境容易出现各种版本冲突问题安装anaconda:wget htt
- 能看到这篇文章的大概都是建网站或爱好做网站的朋友,注册域名、买虚拟主机、选择建站CMS无疑是一个站长经常接触的事情,但是在建站的过程中有很多
- 给文件夹设置权限一删除所有的Everone权限,包括:所有磁盘根目录C:\WindowsC:\Documents and SettingsC
- 一、什么是XSS攻击XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web页面里插入恶意htm
- 应用实例我校1#学生公寓,PC拥有数量大约1000台。采用DHCP分配IP地址,拥有4个C类地址,实际可用地址数约1000个。由于楼内经常存
- 我在访问网站和论坛的时候,我发现每天都会碰到一些滥用Adsense的情况,所以这里就列举一些使用Google Adsense的小技巧,你可能
- 高效管理服务器一直离不开有效的服务器管理技巧,尽管你已经掌握了不少这方面的技巧,但服务器还有许许多多的技巧在等着你的总结,等着你的挖掘;这不
- 1.停库[oracle@testdb ~]$ sqlplus / as sysdbaSQL> shutdown immed
- v5shop为“一伍一拾”提供企业电子商务解决方案记者近期从v5shop获悉,广受网民欢迎的“公民记者”部落——一伍一拾已授权上海威博网络技
- diskperf.exe > Starts physical Disk Performance counters 磁盘性能计数器dll
- 1、一台主机上部署zookeeper集群下面这个是官方给出的docker-compose的部署方案(这个是都在一台主机上部署的):versi