利用 Postfix 抵挡垃圾信参考文件
SPAM 一直以来是邮件管理人员心中的痛,就算设定了再强的过泸规则,SPAM 还是有办法如洪水般的涌进来。当然,大部份的 SPAM 都是不遵守网路规则的。以下,有一些小小方法来抵挡“基本”的来源。
这应该是最常用的过泸方法,但是随著网路上乱丢垃圾的人手段越来越高明,会逼得我们只好一条一条的去新增规则,当然,在常见的 SPAM 下,使用 header_checks 及 body_checks 还是有很大的作用。 要使用 header_checks 或 body_checks 请在 main.cf 加上去就可以了。如果在指定的档上是不存在的,则请手动建立。
在 2004 年开始,台湾各大 ISP 已把动态 IP 的反解改成 dynamic.*.net.tw,因此,对於此资讯,我们可以设定出一套规则,记录在 access 里,把来自动态 IP 的信都挡掉。 要使用这个机制,在 main.cf 加一笔设定既可。
而 access 的内容为:
设定好之后, 要记得使用 postmap 产生 access.db 档, 然后再重新载入 postfix, 这样才会生效.
这个机制是查寻寄件者的主机位址,再使用这个位置去做 DNS 查寻,一般在 SPAM 新手会随意造一个主机名称以企图蒙骗过关,对於这种手法实只要使用一个设定既可。 要使用这种机制,在 main.cf 加上一笔:
随著科技的进步,可能到处撒垃圾的 SPAM 发送者已知道我们可以从 DNS 去做查寻工作,因为就随意去申请一个 domain name,如此就可以通过 reject_unknown_sender_domain 的检查了。 接下来,既然使用 DNS 的正向查寻 OK,那么我们就来检查一下反解的动作,一般良好的 DNS 管理者,应该要把 DNS 正、反解都设定好,做个遵守规范管理员,然而 SPAM 发送者确经常不设定好,以致於在反查的时候会找不到连线主机的 IP 反解。我们可以利用这一点来过泸这种手法。
这种过滤方法不是参考寄件者的主机名称,而是利用 Client 连过来时的 IP 位置。 在 main.cf 加上一笔:
当然,这种方式非常的有效,但也“超乎你所想像”的有效,为什么这么说呢?一些合法的信件、也许不是垃圾信,会因为查不到 DNS 的 PTR 记录而被挡到外面。像这种“例外的案子”就必需把他们加入到 mynetworks 这个项目里以便收到他的“例外信件”。 因此,您的 mynetworks 必需加一个段落,以 11.22.33.44 来说,我们就必需使用如下方法:
再把他加到 smtpd_sender_restrictions 里,配合 reject_unknown_client 一起使用。
因为 permit 的项目如果验证通过,就会离开整个 smtpd_sender_restrictions 的规则,所以当使用者从 11.22.33.44 连上来的时候,就会被视为合合的来源,而不会被 reject_unknown_client 所过滤。 DNS & Mail在防堵别人的 mail 之前,一定要把自家的设定都弄得很完善才行,如此才可以跟对方说“那是你的问题”尤其是在 DNS 方面。 DNS 里必需指定最少一个 MX record 到你正解设定,如:
这样,才算遵守规则。在反解方面,也必需设定完全。
做测试
以上,如果在手工测试 OK 之后都有结果,那么就可以确定你的 DNS 致少是好的。 很多机关已把垃圾信的过滤规则定得相当严仅,比如出现三个惊叹号 (!!!) 就马上退信,当然在一般的做法上是不用如此的严格,选出适用的条件既可。
|
|||||||||||||