是否有人知道如何使用 Postfix 在域名尝试发送到特定收件人地址时立即阻止它?
垃圾邮件通常会发送给我所在组织的多个收件人。一些电子邮件地址处于活动状态,但许多电子邮件地址处于休眠状态,这意味着这些电子邮件地址仍然存在,但不应该收到任何合法电子邮件。如果有人向其中一个休眠地址发送邮件,那么我们可以假设来自该域的所有其他邮件都是垃圾邮件。
我想要做的是,一旦休眠电子邮件列表中的收件人地址收到电子邮件,就立即拒绝来自该发件人域的所有其他电子邮件。
查看日志,我发现以下模式。每封电子邮件大约相隔一分钟:
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
- 邮件已发送至[电子邮件保护]从[电子邮件保护]
我知道所有休眠电子邮件地址,并且知道发送给这些地址的任何邮件都是垃圾邮件,因此我想要做的就是在发送域向休眠电子邮件地址发送邮件时立即阻止它,如下所示:
阻止域名 spamdomain.com
- 邮件已发送至[电子邮件保护]从[电子邮件保护]>拒绝
- 邮件已发送至[电子邮件保护]从[电子邮件保护]>拒绝
- 邮件已发送至[电子邮件保护]从[电子邮件保护]>拒绝
- 邮件已发送至[电子邮件保护]从[电子邮件保护]>拒绝
- 邮件已发送至[电子邮件保护]从[电子邮件保护]>拒绝
一个想法是每 10 秒左右扫描一次日志尾部,并在找到其中一个休眠地址后修改 check_sender_access 文件并重新启动 Postfix,但这可能会导致我的服务器在收到真实电子邮件时关闭。因此,理想情况下,这可以在不关闭 Postfix 的情况下完成。
任何帮助是极大的赞赏。
答案1
不要这样做,有整个组织(垃圾邮件屋会是一个值得注意的例子)规模更大,能够更好地处理边缘情况,并且更容易补救以防它袭击那些碰巧被发现向休眠邮箱发送邮件的发件人不是垃圾邮件发送者。
如果这种模式很重要(对我来说这不再是常见的情况),那么你可能没有做出有效的决策。使用公共 DNSBL 提供商然而。垃圾邮件发送者会进入每个垃圾邮件陷阱……他们通常由已经被确定为很少有合法企业愿意与之交换邮件的网络的提供商托管。
还有一件事,尽管比你建议的方法简单得多,但可能会帮助你走完最后一英里:设置失败2ban暂时停止与发送方通信,从而导致多个永久性错误。三行配置,几乎没有附带损害或经常性支持义务。
我建议不要区分哪个错误(状态 5XX)(发送到休眠地址、语法错误、违反 DMARC 政策,..)只要您确保您的规则不匹配暂时的错误(状态 4XX)应该可以快速重试(例如 DNS 查找失败或其后果)。我发现,只需几分钟拒绝屡次违规者的连接就足以阻止大部分错误定向、错误配置和荒谬的垃圾邮件发件人 - 如果他们稍后回来,他们通常会击中我设置的 DNSBL 提供商的垃圾邮件陷阱,因此我会出于这个原因拒绝他们。