20 多年前,Verisign 做了一件非常邪恶的事情:他们有效地对 .com 和 .net 顶级域名中的每一个未注册域名进行了拼写错误。他们之所以能做到这一点,是因为他们从注册表方面控制了那些事情,并且猛击一些可以解决问题的东西是微不足道的。
像我这样需要运行系统并阻止垃圾邮件的人的反应很快,而且普遍都是负面的,因为它造成了所有的附带损害。这是它造成的一种情况:有时,您会遇到一个认为自己很聪明的用户,他们会在电子邮件客户端的发件人地址中添加“nospam”之类的内容。因此,他们会尝试以 [email protected] 而不仅仅是 @example.com 发送邮件。
在威瑞信搞出这个垃圾之前,当时的邮件服务器只会将其视为无法解析(在 DNS 中)的无效域而拒绝。一旦上线,它就会解析,因此邮件系统会接受它。彻底混乱。
或者,那些随机输入错误内容的人又如何呢?它不会从浏览器和/或组织的 Web 代理中出现无法解决错误的情况,而是会弹出到那个愚蠢的 Verisign 网站。
没有人会感到惊讶,我们一群坏系统管理员类型在第二天左右很快就做了这件事。我当时的笔记中仍然有一些残破的片段可以放入 sendmail.cf 中。我从新闻组得到这个,显然:
本地检查邮件 R$* $: $>封圣 $1 R$*<@$*.> $: $1<@$2> 去掉尾随的 .如果存在 R$*<@$+> $: $(威瑞信 $2 $) R64.94.110.11 $#error $: "550 发件人地址需要真实域名"
顺便说一句,如果你们中的任何一个人仍然可以通过阅读来在头脑中解析该语法,我很抱歉。听我说——这种能力最终会消失,但你必须停止向它提供新数据。
不管怎样,它所做的是利用 sendmail 配置语言的无限可编程性来解析所提供的域。如果它返回到 64.94.110.11,它会立即拒绝它。这是他们用来实现由市场机器人推动的狂热梦想的 IP 地址,我敢打赌 20 年后“仍然”有系统阻止它(他们可能不知道为什么)。
接下来的几天里,还发生了很多其他的事情。 ISC 为 BIND(也称为偶尔的远程 sudo 实现)编写了“仅委托”功能。您可以用它来表示“com.”。或“网”。区域只允许向其他区域提供授权。也就是说,在“com.”的管辖范围内,它可以说“example.com.”。在 <foo> 处有一个名称服务器,IP 地址为 <bar>,但仅此而已。它不可能直接说某个东西有 A 记录。
现在,这很有效,但对他们来说回避它并不是非常困难。他们本可以将所有这些事情委托给其他某个级别,然后对任何传入的问题都有一个全面的答案。幸运的是,这并没有发生。
整个愚蠢的现象持续了大约三个星期,然后就消失了。他们再也没有这样做过,但从那时起,许多其他递归解析器操作提供商就理所当然地取消了它。为了坑广告商而搞砸 DNS 的工作方式?杰出的!
令我感到奇怪的是,自此之后的几年里,这个活动在维基百科上发表了一篇文章。希望人们永远不会忘记 2003 年 DNS 发生的事情。