频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

19.7.5 基础的邮件过滤机制

作者: 鸟哥 出处:机械工业出版社华章公司  2007-12-06 20:15    砖    好    评论   进入论坛
阅读提示:《鸟哥的Linux私房菜——服务器架设篇》(第二版)第19章的主要介绍的是以Postfix为主的邮件主机架设。本文主要介绍的是基础的邮件过滤机制。

19.7.5  基础的邮件过滤机制

在整封信的传送流程中,客户端若通过主机的重重限制后,最终应该可以到达邮件队列中。而由队列中要送出去或者是直接送到Mailbox就要通过MDA的处理。MDA可以加载很多机制,尤其是它可以过滤某些特殊字眼的广告邮件或病毒信件。MDA可以通过分析整封信件的内容(包括标头以及内文)来捕获有问题的关键词,然后决定这封信的命运。

Postfix已有内建可以分析标头或者是内文的过滤机制,即/etc/Postfix/目录下的header_checks以及body_checks这两个文件。在默认的情况下这两个文件不会被Postfix使用,您必须利用下面的设置来启用它:

[root@linux ~]# vi /etc/Postfix/main.cf
header_checks=regexp:/etc/Postfix/header_checks
body_checks=regexp:/etc/Postfix/body_checks
# regexp代表的是“使用正规表示法”的意思

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

接下来您必须自行处理header_checks以及body_checks的规则设置,在设置前先确认对于正规表示法是否熟悉。因为很多信息都必须通过正规表示法来处理。开始设置的依据如下。

· “#”代表该行为注释,系统直接略过。
· 在默认的规则中,大小写是视为相同的。
· 规则的设置方法为:“/规则/操作 显示在日志文件里面的信息”。

请注意,要使用两个斜线“/”将规则包起来。举个例子来说明:例如想要抵挡掉标题为“A funny game”的信件,并且在日志文件里显示“drop header deny”,则可在header_chekcs文件中这样写:

/_Subject:.*A funny game/   DISCARD  drop header deny

有如下几个操作。

· REJECT:将该封信件退回给原发信者。
· WARN:将信件收下来,但是将该封信的基本数据记录在日志文件内。
· DISCARD:将该封信件丢弃,并不给原发信者回信。

鸟哥自己做过一些规则的比对,只不过性能不好。如果您有兴趣的话,可以自行下载来看看,使用的结果请自行评估,因为每个人的环境都不一样。

· header: http://linux.vbird.org/linux_Server/0380Mail/header_checks
· body: http://linux.vbird.org/linux_Server/0380Mail/body_checks

如果您自行修改过这两个文件后,务必要检查一下语法才行。

[root@linux ~]# postmap -q - regexp:/etc/Postfix/body_checks \
>  < /etc/Postfix/body_checks

如果没有出现任何错误,那就表示您的设置值应该没有问题了。

除了这两个设置之外,还有基础过滤方面的MDA机制呢,即procMail。procMail基本上与上面提到的body_checks相似,同样是用来分析邮件之用的,所以您也需要设置规则。首先需要安装procMail,CentOS已经有内建的软件了,请使用yum install procMail自行安装。

那么procMail的过滤规则在哪里呢?默认为/etc/procMailrc。这个文件的设置方式如下:

1. 一组规则设置至少含有三行,如下所示
:0b                              <==设置过滤机制所要检查的信件部分
* _Subject:.*A funny game   <==检查的规则部分
/dev/null                      <==如果符合上述规定,则进行的操作

参数说明
a. 关于检查邮件的部分(第一行),flags 包含如下
H : Header的检查
B : Body的检查
h : 提供Header的数据,进入pipe、file及Mail等的检查
b : 提供Body的数据进入pipe、file 及Mail等的检查
b. 关于检查内容的部分
! : 这是反向选择的意思
< : 检查Mail的总长度是否小于设置值 ( bytes )
> : 与<相反的选择
c. 关于操作的部分
| : 开始启用后续的shell程序
d. 其他的环境变量部分
PATH:搜索执行文件的路径
SENDMAIL:/usr/sbin/SendMail 
LOGFILE:日志文件。通常设置在/var/log/procMail.log
e. 与 Regular express相关的部分
_ : 开始(同一行最左边)字符
$ : 本行的结束字符(最右边)的比对
. : 除了新增一行之外的任何字符
\ : 跳脱字符
更详细的内容请参考
man procMailrc
man procMailex

网络上已经有很多人提供了他们自行分析的规则,如卧龙大师:

FTP://FTP.tnc.edu.tw/pub/Sysop/MAIL/procMailrc

您可以将上述的网页数据捕捉到您的/etc/procMailrc中,然后在main.cf里增加以下代码:

[root@linux ~]# vi /etc/Postfix/main.cf
Mailbox_command=/usr/bin/procMail

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

通过这种基础的邮件分析可以捉取一些有问题的邮件,不过对于目前垃圾邮件的抵挡方面还是很有限。此外,由于这些分析机制都直接读取信件来处理与分析,这些机制通常都很耗系统资源。您的信件越大、流量越大,那么您的系统花费在分析邮件上面的时间会越多,所以您的硬件要很好,否则当有大型邮件进来时,邮件主机会跑得很吃力。所以,目前要不要启动这些过滤机制,那便视情况而定了。

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

回书目   上一节   下一节
专题
Linux——从菜鸟到高手
垃圾邮件新对策:远程定制托管服务
全面抵御垃圾邮件
Linux/Solaris服务器的安全配置
电子邮件安全
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用