如果 TLD 未使用 DNSSEC 进行保护,即使子域名使用了 DNSSEC,可能存在哪些安全问题?

如果 TLD 未使用 DNSSEC 进行保护,即使子域名使用了 DNSSEC,可能存在哪些安全问题?

我们正在开发一个稳定的网络,其中运行着一个 BIND9 服务器(以及许多其他服务)。我正在学习并尝试重新组织旧的配置文件以符合当今时代(许多死机、未使用的名称、反向映射等)。

与此同时,我希望遵循最佳实践并使用 DNSSEC 保护 DNS。在检查配置时,我偶然发现我们使用的 TLD 未使用 DNSSEC 保护。

我的问题:如果楼上(超级域)没有人这样做,那么使用 DNSSEC 保护我们的 DNS 是否有意义(我敢打赌是有意义的)?

我们的区域/域名空间位于我们大学的域名下,直接位于ve.空间(委内瑞拉 TLD)下。也就是说,像example.university.ve.Neitherve或我们大学的 DNS 这样的域名都是不安全的。

如果我们无论如何都要保护我们的子域名,我仍然想知道如果有攻击者入侵,不安全的 TLD 会引起什么问题。

PS:我使用了类似的工具http://dnsviz.net/https://dnssec-debugger.verisignlabs.com/检查 DNSSEC confs。

答案1

DNSSEC 的安全性源于拥有一个经过加密验证的委托链,委托链从某些给定数据(如一组 A 记录)到已知且受信任的公钥(称为“信任锚”)。对于当今的 DNSSEC,通常使用的信任锚是根区密钥如果您的父区域未签名,则从您的区域到根区域的链将被破坏,DNSSEC 的安全保证将完全失效。您是否签署了您的区域并不重要,因为没有其他人有理由信任您用于签署该区域的密钥。正如您可以创建密钥并使用该密钥签署区域一样,坏人也可以创建密钥并使用该密钥签署您的(可能略有修改的)数据。如果没有到信任锚的签名链,第三方就无法知道他们应该信任您的密钥还是坏人的密钥。

现在,如果您希望某些特定的人能够信任您的签名,您可以向他们提供密钥,他们可以将其用作您域的信任锚。这称为“旁观验证”,自根区域签名以来,它就很少使用,但标准和实现仍然存在。如果您对此感兴趣,请查看RFC 5074

但一般来说,如果您的父区域尚未签名,那么您签名自己的区域就没有意义了。

答案2

您的目标(启用 DNSSEC)值得称赞,但是

  • 正确执行 DNSSEC 需要做大量工作;更重要的是,由于它不是一次性的,因此你需要对其进行维护(轮换密钥等)和监控
  • 由于你一开始就遇到了很多其他问题,我建议在开始新项目之前,先清理所有东西,并让一个良好的区域运行几周/几个月,比如启用 DNSSEC
  • 正如 Calle 所说,事实上,.VE 似乎完全偏离了 DNSSEC 的任何路线图,没有所有级别的 DNSSEC(而且现在你不能再使用 DLV,正如我在评论中所说),将它添加到你的区域是没有意义的

您应该尝试搜索 .VE 为何不这样做:它可能决定不这样做,或者决定启动但仍处于初步阶段。当然,您与注册商之间也会遇到同样的问题。

您可以自己使用并向他们指出这些应该提供充足数据和文档的资源:http://www.internetsociety.org/deploy360/dnssec/

顺便说一下,https://stats.labs.apnic.net/dnssec我发现委内瑞拉有超过 10% 的解析器会验证 DNSSEC 记录。这可能有助于 .VE TLD 决定激活 DNSSEC。

相关内容