处理Postfix + Amavis中的垃圾邮件

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

大多数情况下,这是一个非常快乐的设置,但是我们会不时地收到大量的病毒/电子邮件,例如来自“pipe理员”的字段,像“发票附件”,然后是恶意的zip / pdf附件。 在几个小时的时间里(通常在上午晚些时候),我们将会收到其中的5000个(全部来自不同的主机),然后它们就会退出。 据推测,这是一种病毒从被感染的家用电脑发送。

SpamAssassin在捕获它们方面做得相当不错,但它并不是轻量级的,它给我们的邮件服务器带来了真正的压力,所以我正在寻找更好的解决scheme。

SA中的短路是一种select。 它不会停止SA扫描消息,但至less会限制它检查的规则的数量。 尽pipe如此,它仍然需要人工干预(例如,添加一条规则来获得+100,然后短路任何电子邮件,包括主题/ ^传入传真/)。 如果我写了一个SA插件来自动添加一个短路规则(例如“如果我们在60秒内收到超过10封电子邮件,同一主题,将来的电子邮件评分+100”),这将是开放滥用误报。

我想知道是否有一个很好的方法来阻止/拒绝/删除SMTP级别的这些电子邮件,消除扫描,然后通过SA的开销。 自动阻止IP(例如通过iptables或postfix规则)似乎毫无意义,因为它通常来自独特的地址。 通常,主题将被稍微随机化,例如“接收传真#1234”,“接收传真”,“#321新传真等待”。

也许policd重量是您的一个select。 它通过简单地查询DNS服务器的发送IP地址来实现轻量级的DNSBL查询,并且 – 如果您在黑名单上有几个命中 – 您可以简单地拒绝来自该IP地址的邮件传递,因此这些被阻止的邮件将无法通过您的SpamAssassin。

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

一般来说,我会build议使用以下DNSBLs resp。 DNSWLs:

  • pbl.spamhaus.org
  • sbl-xbl.spamhaus.org
  • ix.dnsbl.manitu.net
  • list.dnswl.org(这是最常见邮件提供商的白名单)

由于多年来postgrey是一个非常好的解决scheme,我打击垃圾邮件/恶意软件。 它将SA / ClamAV中的stream量负载降低了90%,几乎没有误报。 一个很好的类似的解决scheme是policyd / cluebringer前端,通过网页浏览器进行简单的configuration处理。 随着cbpolicyd,你也可以处理传出邮件节stream的情况下,客户端帐户已被泄露,并发送垃圾邮件。
还要考虑假MX的设置,这可能有助于防止拨号僵尸发送的垃圾邮件。