今天早上我发现我们的域名和子域名在 4.2.2 和 4.2.2.1 DNS 服务器上被毒害了,我认为还有其他的,不过我还没有确认其他的。使用 OpenDNS 解析可以正常工作。我已经更新了我们的本地 DNS 服务器并清除了它们的缓存,这已经在内部修复了问题。
问题是该域名面向公众,客户遇到了问题。我们是该域名的权威 DNS 服务器,一切都在我们的控制之下。我不知道该怎么做才能修复我们无法控制的名称服务器。
我们能做些什么吗?目前我能想到的唯一解决方法是要求客户将他们的 DNS 更改为 OpenDNS,但这不太实用。另一个解决方法是更改我们的 TLD,但这不太实用。
答案1
听起来你需要实现DNSSEC。
由于您没有提供有关设置的许多详细信息,因此很难推荐软件解决方案,但使用您当前的设置谷歌搜索 DNSSEC 应该会为您提供一些关于如何执行此操作的好教程。
答案2
您是否绝对确定这是一次缓存中毒攻击?
互联网上所有广泛使用的递归 DNS 服务器早已实施了修复CVE-2008-1447,使得你所描述的大规模中毒几乎不可能发生。
并非完全不可能,因为源端口随机化只会使攻击需要多 2^16 倍的尝试才能成功中毒。同时对多个具有高交易量的权威名称服务器发起攻击?这真是了不起。如果我错了,请纠正我,但您的域名在互联网上可能不够重要,不足以成为该攻击的最佳目标;具有这种能力的攻击者只会进行攻击google.com
。
更合理或更可能的解释是域名委派发生了变化,OpenDNS 服务器由于缓存而尚未发现。域名是否已过期,或者是否有人对注册商进行了不明智的名称服务器委派设置更改?
答案3
更改 TLD?这太极端了。您的 TTL 是多少?在其他 DNS 服务器查找新的非缓存条目之前,您的记录就会过期,您只能听天由命。如果您将 A 记录设置为一周,那么如果更改被缓存,一周内没有人会看到这些更改。对于这种情况,我总是将 A 记录设置为最低设置,或者使用 CloudFlare,这样我就可以随时更改它们。
4.2.2.2 和 4.2.2.1 是 Level 3 的网络 DNS 服务器,它们实际上不应该被整个互联网使用。因此它们不能代表整个互联网 DNS 基础设施。我使用 DNSStuff.com 进行所有测试/查找,因为它们是非缓存结果。
此外,与 OpenDNS 相比,输入 Google 的 (8.8.8.8, 8.8.4.4) 更容易,无论您个人如何看待这两者。
答案4
您无法对不在您控制范围内的服务器做太多的事情。
尝试了解事情是如何发生的 - 如今中毒并不容易,应该存在一些漏洞。检查父 NS 委派。检查所有身份验证服务器。联系 Level3,告诉他们他们的服务器中毒了 - 要求他们刷新您域的缓存,但他们希望调查原因。也许他们的服务器受到了损害,而不仅仅是您的域。
另外,查看 TTL。如果是故意投毒,TTL 应该非常大(除非 Level3 设置了一些最大 TTL)。您将看到它何时过期,然后检查它是否不会再次发生。
并将其放在街上,以便人们最终开始实施 DNSSEC。