当我们的 *主要* 外部 DNS 提供商受到 DDOS 攻击时,是否可以快速委托给二级托管 DNS 提供商?

当我们的 *主要* 外部 DNS 提供商受到 DDOS 攻击时,是否可以快速委托给二级托管 DNS 提供商?

因此,我们的 DNS 提供商的系统时不时会遭受 DDOS 攻击,导致我们的前端网站瘫痪。

在减少对单一外部托管 DNS 提供商的依赖方面,有哪些选择?我的第一个想法是使用较低的过期 TTL 和其他 SOA TTL,但感觉这些对辅助 DNS 服务器行为的影响比其他任何事情都大。

即,如果您遇到 DNS 中断(在此示例中是由于 DDOS 导致的)并且持续时间超过 1 小时,请将所有内容委托给辅助提供商。

当谈到外部 DNS 并使用另一个托管 DNS 提供商作为备份时,人们会怎么做?

请注意我们友好的版主:这个问题比“一般缓解 DDOS 攻击”问题更加具体。

编辑:2016-05-18(几天后):首先感谢 AndrewB 的精彩回答。我还有一些信息要在这里补充:

因此,我们联系了另一家 DNS 服务提供商并与他们进行了交谈。经过思考和进一步研究,我发现选择两家 DNS 提供商实际上比我想象的要复杂得多。这不是一个新的答案,它实际上为问题提供了更多实质性信息!以下是我的理解:

-- 许多 DNS 提供商提供专有功能,如“智能 DNS”,例如使用 Keepalive 的 DNS 负载平衡、用于配置如何返回响应的逻辑链(基于地理位置、记录的各种权重等)。因此,第一个挑战是保持两个托管提供商同步。客户必须让这两家托管提供商保持同步,以便自动与其 API 进行交互。这不是什么难事,但持续的运营成本可能会很痛苦(考虑到双方在功能和 API 方面的变化)。

-- 但这是我的问题的一个补充。假设有人确实使用了两个托管提供商,正如 AndrewB 的回复。我说的对吗?根据规范,这里没有“主要”和“次要”DNS?即,您在域名注册商处注册了四个 DNS 服务器 IP,其中两个是您的 DNS 提供商之一,两个是另一个的 DNS 服务器。因此,您实际上只是向全世界展示了您的四个 NS 记录,它们都是“主要”的。那么,我的问题的答案是“否”吗?

答案1

首先,我们来解答一下标题中的问题。

是否有可能有一个辅助托管 DNS 提供商来快速委托给

当我们谈论顶级域名的授权时,“快速”和“授权”不应该放在同一句话里。顶级域名 (TLD) 注册机构运营的域名服务器通常提供以天为单位的 TTL 的引荐。NS您服务器上的权威记录可能具有较低的 TTL,最终会取代 TLD 引荐,但您无法控制互联网上的公司选择删除其整个缓存或重新启动其服务器的频率。

简化一下,最好假设互联网至少需要 24 小时才能获取您域名顶部的名称服务器更改。由于域名顶部是最薄弱的环节,因此您最需要为此做好计划。

在减少对单一外部管理 DNS 提供商的依赖方面,有哪些选择?

这个问题更容易解决,而且与普遍的看法相反,答案并不总是“找到更好的提供商”。即使您使用一家拥有良好记录的公司,近年来也证明没有人是绝对可靠的,即使是 Neustar 也不例外。

  • 大型、知名且声誉良好的 DNS 托管公司更难被摧毁,但目标更大。它们不太可能因为有人试图接管而关闭你的域名下线,但更有可能被下线,因为它们托管的域名更具吸引力。这种情况可能不经常发生,但仍会发生。
  • 另一方面,运行自己的名称服务器意味着您不太可能与比您更有吸引力的目标共享名称服务器,但这也意味着如果有人决定专门针对您,您会更容易被击倒。

对于大多数人来说,选项 1 是最安全的选择。断电可能每隔几年才会发生一次,而且如果真的发生了攻击,也会由更有经验和资源的人来处理。

这给我们带来了最后一个最可靠的选择:采用两家公司的混合方法。这可以抵御将所有鸡蛋放在一个篮子里所带来的问题。

为了论证的目的,我们假设您当前的 DNS 托管公司有两个名称服务器。如果您将另一家公司管理的两个名称服务器添加到组合中,那么只需对两家不同的公司进行 DDoS 攻击即可使您下线。这将保护您免受 Neustar 等巨头突然倒闭的罕见事件的影响。挑战反而变成了找到一种可靠且一致地向多家公司提供 DNS 区域更新的方法。通常,这意味着拥有一个面向互联网的隐藏主服务器,允许远程合作伙伴执行基于密钥的区域传输。其他解决方案当然是可能的,但我个人不喜欢使用 DDNS 来满足此要求。

不幸的是,最可靠的 DNS 服务器可用性的代价是更复杂。现在,您的问题更有可能是由导致这些服务器不同步的问题引起的。破坏区域传输的防火墙和路由更改是最常见的问题。更糟糕的是,如果区域传输问题长时间未被发现,则SOA可能会达到您的记录定义的到期计时器,远程服务器将完全放弃该区域。在这种情况下,广泛的监控是您的好帮手。


总而言之,有很多选择,每个都有缺点。您需要权衡可靠性和相应的利弊。

  • 对于大多数人来说,将您的 DNS 托管给一家在处理 DDoS 攻击方面享有盛誉的公司就足够了……每隔几年出现一次宕机的风险已经足够简单了。
  • 第二个最常见的选择是选择一家在处理 DDoS 攻击方面声誉不太好的公司,尤其是当人们寻找免费解决方案时。请记住,免费通常意味着没有 SLA 保证,如果确实发生问题,您将无法向该公司提出紧急请求。(或者如果您的法律部门需要这种事情,您可以起诉某人)
  • 讽刺的是,最不常见的选择却是使用多家 DNS 托管公司,这是最可靠的选择。这是由于成本、操作复杂性和可预见的长期利益。
  • 至少在我看来,最糟糕的是决定自己托管。很少有公司拥有经验丰富的 DNS 管理员(他们不太可能造成意外中断)、处理 DDoS 攻击的经验和资源,也不愿意投资于符合以下标准的设计:16号作战计划,并且在大多数情况下是三者的组合。如果您想使用仅面向公司内部的权威服务器,那是一回事,但面向互联网的 DNS 则完全是另一回事。

答案2

显然,DNS 服务提供商应该做一些事情,还可以做更多的事情,以确保服务尽可能可靠。

如果服务提供商似乎存在不合理的问题,那么考虑将其全部替换掉​​可能是有意义的,但是也存在一些类别或问题,在这些类别或问题中,单独运营的服务本身是有帮助的。

作为客户,我认为超越对一个提供商的依赖的最明显的选择可能是通过将您的域名始终委托给来自多个 DNS 服务提供商的名称服务器来对冲您的风险(而不是在出现问题时更改委托)。

为了实现该功能,需要处理的基本上只是保持这些不同提供商的名称服务器之间的区域数据同步。

对此的传统解决方案是简单地使用作为 DNS 协议本身一部分的主/从区域传输功能(这显然需要允许您使用这些功能的服务),要么让其中一个服务提供商作为主服务器,要么运行您自己的主服务器。

相关内容