处理 Postfix + Amavis 中的垃圾邮件泛滥

处理 Postfix + Amavis 中的垃圾邮件泛滥

我运行一个为几千名用户服务的邮件服务器。它使用 Postfix + Amavis(以及 SpamAssassin + Clam)。

大多数情况下,这是一个相当令人满意的设置,但有时我们会收到大量病毒/网络钓鱼电子邮件,例如来自“管理员”字段,主题为“发票附件”,然后是恶意 zip/pdf 附件。我们会在几个小时内(通常是上午晚些时候)收到大约 5,000 封这样的邮件(全部来自不同的主机),然后数量就会减少。据推测,这是从受感染的家用电脑发送的病毒。

SpamAssassin 在捕获这些邮件方面做得很好,但它并不是轻量级的,而且给我们的邮件服务器带来了很大的压力,所以我正在寻找更好的解决方案。

SA 中的短路是一种选择。它不会阻止 SA 扫描邮件,但至少会限制其检查的规则数量。但它仍然需要人工干预(例如,添加一条规则得分 +100,然后短路任何主题为 /^Incoming Fax/ 的电子邮件)。如果我编写一个 SA 插件来自动添加短路规则(例如“如果我们在 60 秒内收到超过 10 封主题相同的电子邮件,则对该主题的未来电子邮件得分 +100”),它可能会受到滥用和误报。

我想知道是否有一种好的方法可以在 SMTP 级别阻止/拒绝/丢弃这些电子邮件,从而消除通过 SA 进行扫描的开销。自动阻止 IP(例如通过 iptables 或 postfix 规则)似乎毫无意义,因为它通常来自唯一地址。通常主题会稍微随机化,例如“传入传真 #1234”、“传入传真已接收”、“#321 新传真正在等待”。

答案1

也许 policd-weight 是一个不错的选择。它通过简单地查询 DNS 服务器以获取发送 IP 地址来执行轻量级 DNSBL 查找,并且 - 如果您在黑名单上有多个命中 - 您可以简单地拒绝来自此 IP 地址的邮件投递,这样这些被阻止的邮件就不会到达您的 SpamAssassin。

与 Postfix 内置 DNSBL 查找机制相比,policyd-weight 的好处是,您可以查询多个 DNSBL 并添加 DNSBL 上的分数或减去 DNSWL 上的分数,以降低误报的风险。

一般来说,我建议使用以下 DNSBL 和 DNSWL:

  • 垃圾邮件站
  • sbl-xbl.spamhaus.org
  • 域名
  • list.dnswl.org(这是最常见的邮件提供商的白名单)

答案2

多年以来后灰色对我来说,这是一个非常好的解决方案,可以对抗垃圾邮件/恶意软件。它可以将 SA/ClamAV 中的流量负载减少高达 90%,而且几乎没有误报。一个很好的类似解决方案是policyd/cluebringer带有前端,可通过 Web 浏览器轻松处理配置。使用 cbpolicyd,您还可以在客户帐户被盗用并发送垃圾邮件的情况下处理外发邮件的限制。
还请考虑设置假 MX,它可能有助于抵御拨号僵尸发送的垃圾邮件。

相关内容