Postfix (3) 反垃圾邮件的措施(1)

本文介绍了Postfix如何应对网络中的垃圾邮件,包括当场拒收、存疑邮件处理和打标记等方法。重点讨论了Postfix的客户端判别规则、语法检查、内容检查和自定义规则,例如通过smtp_client_restriction、smtp_helo_restriction、smtp_sender_restriction和smtp_recipient_restriction等进行限制。同时,文章提到了内置条件、自定义条件和通用条件的处理方式,并提供了调试新规则的建议。

我们知道在现在网络环境中, 存在大量的spam。

就笔者目前负责的一个在线邮件安全系统,每天为客户挡掉的spam就有200M 这么多, 而且这还是已经下降了60%的结果,一年前, 大概每天spam的数量在1B左右。


庞大的垃圾邮件, 浪费的大量的网络带宽与磁盘空间。 如何来处理垃圾邮件呢。


一般来说, 有以下几种选择

1. 在SMTP对话中,当场拒收垃圾邮件。 这也在第一时间将垃圾邮件拒之门外, 但是也有可能会有合法邮件被认为是垃圾邮件而被处理掉, 如果客户不能接收这样的损失, 可以采用方法2

2. 暂时将可疑的邮件存储在另外的专用的邮箱中, 再研究可选的程序来处理他们。 比如定期检阅被 集中起来的可疑邮件, 确定没有合法邮件之后,一并删除。

3. 将可疑的邮件打上某种特殊标记, 投递到用户的邮箱, 让用户收下后自行判断。 (microsoft的outlook exchange就使用的这种方法)


Postfix的挡信机制

1) 客户端判别规则

2)语法检查参数

3)内容检查

4)自定义规则


一、客户端判别规则

smtpd_client_restrictions
smtpd_helo_restrictions
smtpd_sender_restrictions
smtpd_recipient_restrictions
smtp_dta_restrictions

如下:


让我们来简单看一个完整的SMTP对话过程

一、数据前过滤   数据前过滤是指在smtp会话中,data指令发送前进行的过滤。在这个阶段,有四种不同子阶段的过滤:smtp连接时过滤、helo/ehlo指令过滤、mail from指令过滤和rcpt to指令过滤。根据这四个子阶段接收到的信息的不同,他们也分别称作smtp客户端限制、helo/ehlo主机名限制、发送者地址限制和接收者地址限制。   过滤默认是在rcpt to指令后生效的,这是因为一些windows上的邮件客户端不处理在rcpt to指令前的过滤动作。能通过将smtpd_delay_reject设置为no来使过滤动作即时生效。这个参数还影响了在不同的指令上能使用的过滤规则参数。   1、过滤规则   这四个子阶段的过滤是分别通过四个设置语句来指定过滤规则的。他们都接收一系列的规则参数列表,参数间能用空格或逗号分隔开。在默认状态下smtpd_delay_reject的值是yes,他们能接受所有支持的规则,不过需在rcpt to指令后才能全部生效;如果把smtpd_delay_reject设置为no,他们只能接受五个公共的规则参数、之前子阶段的过滤规则参数和该子阶段的规则参数。   他们接受的公共的规则参数如下: o permit 允许该连接进行。该规则通常置于规则列表的最后面使规则更清晰。 o defer 通知客户端目前不能继续会话,稍后再进行smtp连接请求。这常用于服务器需要进行一些dns检查,不过(由于dns查询超时)没有及时获得结果时,通知客户端稍后再进行连接。该规则通常置于规则列表的最后面使规则更清晰。 o reject 拒绝该连接请求。在这个阶段就断开了连接,有效的节约了垃圾邮件造成的带宽和处理能力的浪费。该规则通常置于规则列表的最后面使规则更清晰。 拒绝动作默认不会在匹配了拒绝规则后就即时断开连接,而是在rcpt to指令处理完之后再断开的,这是由于一些windows上有缺陷的邮件程式不处理在rcpt to指令前的发回的拒绝状态码。能通过smtpd_delay_reject设置为no来即时发送拒绝状态码断开连接。 reject_code指定了拒绝的返回状态码(默认是554)。 o warn_if_reject 改动其后规则的拒绝动作为警告,即如果其后存在满足拒绝的条件,并不实际拒绝,而是发出一条警告信息(reject_warning)到日志文件中(通常是/var/log/maillog)。他常用于在实际运行的邮件服务器上测试邮件过滤规则。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值