我有一个客户,垃圾邮件泛滥。现在是每月 15 号,POP3 带宽几乎达到 100 GB。此域中只有 7 个电子邮件帐户。我安装了 SpamAssassin,将其设置为 5,并设置了 10-20 个过滤器以拒绝大多数垃圾邮件。我没有看到 POP3 带宽有太大变化。如果我错了,请纠正我,服务器仍然使用带宽接收消息以分析确定垃圾邮件分数。
我偶然发现了伪造的 MX 记录,对于那些不知情的人来说——基本上你将一个虚假的服务器设置为最低和最高的 MX 记录,而工作服务器的 MX 记录位于中间。
例如:
fake.example.com 1
realmx.example.com 2
fake2.example.com 3
理论上讲,由于大多数垃圾邮件都是由基于 Windows 的僵尸服务器生成的,而且相当一部分垃圾邮件会查询最高的 MX 记录来发送垃圾邮件,因为它们通常是不过滤垃圾邮件的备份服务器。最低的假 MX 记录是针对其余垃圾邮件发送者的……而且一般来说,垃圾邮件发送者在失败后不会重试。
有人试过这个吗?有用吗?它会延迟或导致邮件投递问题吗?还有人有更好的解决方案吗?
答案1
帮自己一个忙,为他们安装一个网关反垃圾邮件服务,比如 Postini。每个邮箱每月只需几美元,没有理由不这样做,而且您不仅可以消除 99% 的垃圾邮件,还可以享受他们的假脱机服务(方便计划内或计划外的停机时间),更不用说通过让其他人在垃圾邮件到达您的网络边缘之前接收和处理所有垃圾邮件来节省带宽。
并不是 Postini 的员工,只是一个快乐的用户,并且已经用它设置了几十个客户端。
答案2
我已经尝试过了,我强烈推荐你不要这样做!当时这似乎是个好主意,但在各种发件人的邮件开始消失后,我意识到这是一个错误。我没有意识到的是,有很多编写糟糕的 SMTP 服务器,它们不遵循规范,处理错误的能力也相当差,人们不知道或不在乎,因为“这个人收到了我的电子邮件,所以一定是你”。
我赞同其他一些处理垃圾邮件的建议。Postini 是一项很棒的服务,甚至免费 Google 应用程序中内置的反垃圾邮件功能也不错。如果您想要更多的控制权,您可以购买 IronPort 或其他设备,或者自己动手。
答案3
我以前从未听说过这种方法,我可以想象它可能会将合法电子邮件延迟几个小时。最终,smtp 协议需要传递您的合法电子邮件。有效的服务器将访问虚假的 mx 记录并尝试传递到该服务器...我不知道您可能在那里运行了什么(如果有的话),但他们会继续尝试,直到被接受。
正确的服务器会不断尝试 MX 记录,直到邮件送达。垃圾邮件发送者越来越聪明,如果这种方法现在对某些垃圾邮件软件有效,我怀疑它能否长期有效。我不推荐这种方法。
我的建议是除了现有的垃圾邮件过滤器之外,还可以考虑使用 smtp tarpit。目前有许多这样的过滤器。我认为您会发现它比伪造 mx 记录方法有效得多。
BSD 上的 smtpd 附带了此类 tarpit。sendmail 8.13 中也有一些 tarpitting 功能。
基本上,tarpit 的工作原理是占用垃圾邮件服务器资源。它们通过延迟收到的响应来实现这一点。例如,垃圾邮件服务器每秒连接并接收大约 1 个字节。
一些 tarpit 服务器会寻找垃圾邮件模式并识别垃圾邮件服务器。合法服务器将准备等待缓慢的响应。在一些 tarpit 服务器中,它们会自动将合法识别的服务器移至白名单,以便将来不会出现延迟。
谷歌 SMTP Tarpit 并查看一下。
答案4
我使用这个假MX(未上市),而且效果非常好。
我使用了带有所有常用过滤器的 Postfix MX,在一些垃圾邮件机器人设法使服务器超载 2 到 3 次后,我决定尝试一下...结果如下:
猜猜我什么时候实现了 fake-mx!8)
结果与 postgrey 相同,但与 postgrey 不同的是,您不需要更改邮件服务器
垃圾邮件机器人现在将尝试高 MX 或低 MX,从而将真正的 MX 从尝试过滤的负载中解放出来(即使使用 DNSBL,负载也很高),并且真正的电子邮件将以最小的延迟到达。
但请注意,存在风险:
某些服务器的重试次数可能很高。大多数服务器会在第一个 MX 超时后重试下一个 MX,其他服务器会在几分钟后重试,但我已经看到服务器仅在一小时或一天后重试。这种情况非常罕见,对于我能发现的那些,这是一个糟糕的配置。与其他邮政局长交谈解决了这个问题
所有电子邮件都会有延迟。实际上我根本看不到延迟,几乎所有真正的邮件服务器都会在第一次超时后重试下一个 MX,所以我们说的是 30 秒的延迟。他们通常会至少尝试 3 个 MX,然后再将消息排队等待更长的延迟。但您可能接触过一个损坏的邮件服务器,它可能不会这样做,并且会将每条消息延迟几分钟。所以这是部署此解决方案时需要监控的事情。
网站损坏。一些网络服务器发送电子邮件以获取密码、通知等,但它们并不通过内部真实邮件服务器发送,而是试图成为“假”邮件服务器并直接发送。由于它是网络服务器,它们永远不会重试,电子邮件会丢失。这又是网站管理员/网站开发人员的错误配置,因为只有真正的电子邮件服务器才能发送电子邮件。每次我发现这些问题时,我都会与网站管理员讨论该问题,通常问题就会得到解决。
没有日志。由于假 MX 指向未连接的 IP,因此您没有尝试传送的日志。只有当有人投诉时,您才知道出了问题。但这也很好。您可以随时声称您没有尝试传送任何电子邮件,因此这是一个远程问题。另一方必须检查他们的日志并解决问题。我可以证明与我的真实服务器根本没有连接,将解决问题的压力转移到另一方。如果另一方无法解决问题,它看起来就不可信、不可靠。
没有白名单。这适用于通过 DNS 的所有服务器,因此您无法将一台服务器列入白名单……实际上这只是半真半假,但更难。白名单解决方案是最低 MX 指向运行 smtp 的 IP,但防火墙会过滤所有 IP。您想要列入白名单的服务器需要在防火墙中被允许。这样,所有服务器都将被防火墙拒绝,列入白名单的服务器将能够向邮件服务器发送邮件。它有效,但仅适用于 IP 白名单,不适用于电子邮件白名单。
与 postgrey 不同,在 postgrey 中,远程发送者有“拒绝”交付的日志(因此可以将问题归咎于我们),而假 MX 将显示 Web 服务器甚至无法连接并且没有重试,这让远程端无法找到问题的原因。与 postgrey 相比,故障 MX 更容易被接受,因为我们总是可以声称存在“路由问题,但备份 MX 运行正常,我们收到了所有其他电子邮件”
话虽如此,我收到的投诉很少(大约每 3 个月 1 次),所以我认为它足够安全(每个垃圾邮件过滤器都有风险)。
请注意,我对所有 MX 都使用有效的 ipv4 地址,但对于假 MX,我使用我控制的未使用的 IP(因此它在任何连接上都给出超时/主机无法访问)。即使您不使用它,此规则也适用。有些 dns 和 smtp 服务器需要完全有效的 dns 配置才能使电子邮件正常工作。假 MX 也必须有效,它们应该无法访问。
不要使用私有 IP 或您无法控制的 IP 作为虚假 MX(如果您添加 ipv6 地址,也请添加 ipv4 地址)。这样可以避免 DNS 和邮件服务器损坏的问题以及其他人意外收到您的电子邮件(通过在您无法控制的 IP 上安装 smtp 服务器)。此外,MX 禁止使用 CNAME,因此也不要使用它,只需使用普通的 A 记录即可
最后,应该为假 MX 发送 tcp-reset,以提高性能(主机或端口不可达)而不是简单的超时(通过丢弃数据包),因此建议将其添加到防火墙中。
无论如何,不仅我仍然使用它,我还推荐每个人都使用它