Winmail 和垃圾邮件过滤

      目前由于垃圾邮件的泛滥,绝大多数邮箱每天都会收到大量的垃圾邮件,深受垃圾邮件骚扰。如何有效的防止垃圾邮件已经成了摆在当前邮件系统面前的最为严峻的问题。下面就 winmail 如何来防止垃圾邮件作几点归纳和建议。

参考文档: Winmail 反垃圾邮件指南

一、对发送垃圾邮件 IP 地址进行限制
1)过滤指定的发送地址
如果在“系统日志”->“SMTP”日志看到经常有相同的陌生的 IP 地址向本系统发垃圾邮件,可以对其 IP 地址直接过滤,阻止其发送垃圾邮件。
如果出现这种情况,可以在“系统服务”->“SMTP”->“存取控制”中设置过滤发信 IP 的地址,也可以屏蔽一段地址,如果输入 119.119.1. 代表屏蔽 119.119.1.0 - 119.119.1.254。
winmail

2)限制发信频率与发信并发数
Winmail 可以对每个 IP 的同时连接服务器的最大连接数,每分钟每个 IP 允许连接的最大数进行限制,来防止过高发信频率,占用太高的网络带宽。在“系统服务”->“SMTP”->“频率控制”中设置。
winmail

二、设置 SMTP 过滤限制
1)防止无限制转发
所谓无限制转发,就是任何人都可以使用您的服务器发送邮件。邮件系统安装完成后,一定要检查是否已经启用了发信认证功能,以防止别人借用您的机器来转发邮件。在“SMTP 设置”->“基本参数”中设置。
winmail

发件人和认证用户必须一致:发件人和认证用户必须是同一邮箱帐号。可以有效防止系统内没有权限外发的用户借用有权限外发的帐号来发邮件。
以本系统中域名发邮件时必须认证:以包含本系统中域名的邮件地址来发邮件时必须认证。可以防止发垃圾邮件者伪造发件人来发垃圾邮件。

2)发件人过滤
发件人黑名单和发件人白名单列表地址内容可以是:邮件地址、域名。这个地址一般应该从 “系统日志”->“SMTP”中分析出的邮件地址,而不是从收到的邮件头中看到的邮件地址。因为邮件头中发件人地址与实际发邮件命令中的发件人( SMTP 协议中的 MAIL FROM 命令)的地址可以不一样。 如果需要过滤或允许 demomail.com 域名所有用户发过来的邮件,可以将 @demomail.com 增加到黑名单或白名单列表中。
winmail

发件人黑名单:禁止列表中邮件地址发过来的所有邮件。
如果想过滤发件人的 IP 地址时,请在“系统服务”中,对“SMTP 服务”和“Secure SMTP 服务”的“存取控制”进行设置。

发件人白名单:允许列表中邮件地址发过来的所有邮件。
如果信任发件人的 IP 地址时,请在“反垃圾设置”->“黑白名单设置”->“IP 地址过滤”中“发信 IP 白名单”是指此列表中主机地址发过来的邮件,不过其进行“反垃圾设置”中设置的检查(邮件地址的合法性检查,对域名的 DNS 反查,HELO/EHLO 主机检查等),但需要进行发信认证。

3)收件人过滤
收件人黑名单和收件人白名单列表地址内容可以是:邮件地址、域名。这个地址一般应该从 “系统日志”->“SMTP”中分析出的邮件地址,而不是从收到的邮件头中看到的邮件地址。因为邮件头中收件人地址与实际发邮件命令中的收件人( SMTP 协议中的 RCPT TO 命令)的地址可以不一样。如果需要过滤或允许 demomail.com 域名所有用户发过来的邮件,可以将 @demomail.com 增加到黑名单或白名单列表中。
winmail

收件人黑名单:为了防止垃圾邮件发送者的攻击,始终给系统中的某些用户发邮件。
管理员如想过滤一些系统中所有不存在的用户的邮件地址,请选择“SMTP 设置”->“SMTP 过滤”中选择“给本系统内用户发邮件时,检查邮箱是否存在”。

收件人白名单:如果需要对某些收件人不作过滤规则的检查,请增加到白名单的列表中。

4)SMTP 过滤
winmail
允许 MAIL FROM 命令中出现空地址 (MAIL FROM: <>): 允许 MAIL FROM 命令中出现空地址(MAIL FROM: <>)。在有的邮件系统,发送退信时为了防止邮件循环,MAIL FROM 地址是作为空地址。因此就有一些垃圾邮件发送软件在发垃圾邮件将发件人地址设置为空地址。
remote sent 'mail from' = FROM:<> SIZE=40832

检查邮件地址有效性: 在 SMTP 通讯过程中,有一些邮件地址,如邮件发送者,邮件接收者等,有些垃圾邮件地址不符合 RFC822 规定,可以通过启用检查邮件地址的有效性来过滤。如果经常在 SMTP 日志中看到类似的信息下面的信息,可以启用此功能。在“SMTP 设置”->“SMTP 过滤”中设置。
remote sent 'mail from' = FROM:</////////////////////@.x>
remote sent 'mail from' = FROM:<//www.yahome.com.cn/hr@yahome.com.cn>
remote sent 'mail from' = FROM:<> SIZE=40832

检查系统内用户是否存在:如果经常在 SMTP 日志中,经常看到给本系统中不存在的用户发邮件,可以启用此功能。在“SMTP 设置”->“SMTP 过滤”中设置。

通过 DNS 检查发送者的邮件地址:通过 DNS 来查询发送者邮件地址中域名来判断发送者是否有效。如果经常在 SMTP 日志中看到类似的信息下面的信息,可以启用此功能(如果 DNS 服务器不是稳定的话,建议不要采用)。在“SMTP 设置”->“SMTP 过滤”中设置。
remote sent 'mail from' = FROM:<000050bf@zc-mail.zoomcommerce.net>
remote sent 'mail from' = FROM:<20040309045350.9969.qmail@www.51job.com>
remote sent 'mail from' = FROM:<n959594825243.23026@pub3.inner-21cn.com>
remote sent 'mail from' = From:<b.HardCoreDeals.0-330f44b-6b0.anyka.com.-ZOU_MAI@09.moosq.com>

检查 HELO/EHLO 的主机名:在 SMTP 通讯过程中,发送端会发送 HELO/EHLO 命令,标准的协议中是跟随主机名或域名,可以直接过滤主机名和检查 HELO/EHLO 主机名的 A 记录或 MX 记录与连接的 IP 地址是否匹配。这样能有效的过滤垃圾邮件。如果经常在 SMTP 日志中看到类似的信息下面的信息,可以启用此功能(如果 DNS 服务器不是稳定的话,建议不要采用)。
remote ehlo = 51job
remote ehlo = microsfdvfdoft.com
remote ehlo = 959594825243.23026
remote ehlo = b.HardCoreDeals.0-330f44b-6b0.-ZOU_MAI@09.moosq.com

直接过滤 HELO/EHLO 主机:有些垃圾群发软件,采用的固定 HELO/EHLO 主机来发送垃圾,这样可以在不进行反查 IP 地址之前直接将其拒绝。在“SMTP 设置”->“HELO/EHLO 过滤”中增加要过滤的主机。
匹配类型(比较 IP 是否匹配):
A Class,B Class,C Class,D Class,并不是 IP 地址划分时的IP地址类的定义
A Class:比较 IP 地址前面一段数字,如:119.119.119.119 与 119.51.127.156 是匹配的
B Class:比较 IP 地址前面两段数字,如:119.119.119.119 与 119.119.127.156 是匹配的
C Class:比较 IP 地址前面三段数字,如:119.119.119.119 与 119.119.119.156 是匹配的
D Class:比较 IP 地址所有段数字,如:119.119.119.119 与 119.119.119.119 是匹配的

检查 MAIL FROM 命令与信头中的 FROM 字段地址一致:检查发信时,SMTP 命令中的 MAIL FROM 命令的发件人地址与发信内容中信头的 FROM 字段中发件人地址一致。在有些垃圾邮件的发送过程中, MAIL FROM 命令的发件人地址与实际邮件的内容中发件人地址(FROM 字段)内容是不一致。启用此项检查,可以有效的防止此类情况。

检查 RCPT TO 命令与信头中 TO/CC/Delivered-To/Received 字段中的地址一致:检查发信时,SMTP 命令中的 RCPT TO 命令的收件人地址与邮件内容中信头的 TO/CC/Delivered-To/Received 字段中收件人地址一致。启用此项检查,发送时将不能使用密送(BCC)来发送邮件,因为密送的收件人地址不会出现在实际邮件内容的收件人地址中。

5)RBL 过滤
RBL(Real-time Blackhole Lists) 过滤是当发送邮件时检查发送邮件来的客户端或其它邮件服务器的地址是否已被防止垃圾的组织禁止。 目前应用比较广泛的 RBL 服务器有:dnsbl.njabl.org; bl.spamcop.net
国内有 CBL 反垃圾邮件组织, 请看 http://www.anti-spam.org.cn, CBL 服务器地址有:cbl.anti-spam.org.cn; cdl.anti-spam.org.cn; cblplus.anti-spam.org.cn

三、邮件附件过滤与病毒邮件过滤
Winmail 能与操作系统上装的杀毒软件(支持几乎所有的杀毒引擎)进行整合,扫描来往邮件,有效的隔离和清除带毒邮件。

1)病毒邮件防护
在“防病毒设置”->“防病毒引擎”中设置使用何种方式来检测试病毒邮件。有关各个防病毒软件的配合设置请见: antivirus.php
winmail

2)附件类型过滤
Winmail 也支持附件类型过滤,可以过滤邮件中含中指定特征的附件和最多允许邮件中的附件数。
winmail

"防病毒动作"设置注意:
    1.如果病毒爆发的时候,建议不要设置发送通知邮件,这样管理员每天会收到很多的通知邮件。同时很多病毒邮件的发件人实际是不存在的,发通知信给发件人时会影响系统运行效率,同时最终也会退信给系统管理员。
    2.如果设置“发送病毒通知信给接收者”,当接收者很多的时候可能会比较影响效率。

四、系统级邮件过滤
在邮件递送过程,可以通过分析邮件中发件人,收件人,抄送,主题,Received,邮件头,邮件内容是否满足设定的规则,来决定是否过滤此邮件。
winmail
管理员可以在“邮件过滤”中定义和管理系统级过滤规则。这里定义对除“收件人白名单”以外的所有收件人都有效。

注意:在邮件量比较大,大邮件收发比较多时,请慎用邮件内容过滤,此种类型的过滤规则对系统要求比较高。

五、用户级邮件过滤
过滤规则过滤
用户可以根据实际收到的邮件情况,来决定对某些邮件进行过滤。可以通过分析邮件中发件人,收件人,抄送,主题,Received,邮件头,邮件内容是否满足设定的规则。 用户可以通过 Webmail 来增加,删除及修改自己的过滤规则。在用户 Webmail 的“配箱箱”->“邮件过滤”中设置。
winmail