最佳实践:通知电子邮件发件人其反向查找已损坏

这可能应该是一个维基,不完全确定。 在开始之前,执行扫描的外部服务器是一个自定义的amavis / postfix / fortigatepipe道; build议在该环境中进行任何更改。


为了减lesspipe理员收到的垃圾邮件的stream入,我启用了反向查询拒绝服务。 是的,这是一个pipe理要求,请不要发尖的笑话。 在这方面,它是非常有效的,我们的扫描仪的工作量减less了大约2或3倍。关掉就等于专业自杀; 请不要build议放弃它作为解决scheme。

问题很简单:许多合法的发件人,无论是作为供应商还是客户,外包或最低限度地设置他们的电子邮件服务。 服务提供商希望尽可能地减less最薄的,最小的规定,所以他们确实没有给出两个让他们的服务完全兼容的窍门。 那个,或者客户/供应商从来没有听说过反向查询,也不会为修正他们的DNS区域而烦心(或者在某些情况下,他们甚至不控制他们的DNS,这是另一天的话题)。 这真的是一个简单的修复,他们只需要创build一个匹配连接IP地址的反向查找logging。 服务器的主机名或域名与发件人的域不匹配并不重要,只要服务器的查找完成从IP->名称 – > IP的“往返”即可。

我没有一整天的时间去追逐每一个人,打个电话,坦率地说,他们中的一些人不会善意地通过电话进行骚扰。 但是那里破的服务器的数量是惊人的 ,并且不是一个月通过“特别例外反向查寻旁路名单”增长与一些新的IP地址。

所以问题是通知合法的发件人他们的电子邮件基本上是否被破坏并且需要修复,而不是完全地干扰他们的最好方法什么 ? 有没有办法自动通知他们,所以他们得到他们需要的信息,而不是平淡的拒绝信息,他们将永远不会读取? (我保证,99%的客户和供应商是非技术性的,只是简单的把它看成是“ 你的电子邮件服务器坏了”)


在聊天中进一步讨论之后,我回过头来查看正在使用的configuration文件,我想我已经find了我的一部分悲伤。 正在使用以下选项:

http://www.postfix.org/postconf.5.html#reject_unknown_client_hostname

根据该页面,这个选项有严格的要求,所以我认为这会导致一些误报。

exim可以检测到Alogging的存在&&不存在ACL的PTRlogging,然后可以通过路由器执行任何操作。 $sender_host_name$host_lookup_failed$host_lookup_deferred都可以做到。

问题是垃圾邮件发送者经常使用这样的configuration不良,但仍然合法的主机提交(ISP的dynamic寻址客户端)。 所以大部分通知都会寄给垃圾邮件发送者。

避免无用stream量的最简单方法是接受这样的消息,检查它们是否对AV / SA / bayes进行检查,并且只有在它们已经通过DATA-检验时才发送通知。

$sender_host_name而言,这意味着只有$sender_host_name非空, $host_lookup_failed = 1和$spam_score_int小于阈值,您必须发出通知。 对于这些消息,可能会显着降低内容扫描容限。

不幸的是,我不熟悉postfix足以提出一个等效的解决scheme。