我需要注册一些具有国家代码域扩展的域,但注意到这些 TLD 不正式支持 (A) IPv6 或 (B) DNSSEC...我应该预计会遇到哪些限制或陷阱?
(A)TLD 不支持 IPv6
我知道这意味着我无法向域添加 AAAA 记录,但这对其他支持 IPv6 的 DNS 服务器的可达性/兼容性/可见性意味着什么?
(B)DNSSEC不支持TLD
我理解 DNSSEC 对于验证 DNS 解析非常重要,但不知道它的实现(或缺乏实现)是否会对我作为应用程序开发人员的安全产生影响。
笔记:请原谅这个可能有点初级的问题,这个问题来自一个被宠坏的 LAMP、MEAN、前端和原生移动开发人员,他很少需要围绕上述问题做出网络架构决策。提前谢谢!
答案1
如果 ccTLD 没有其名称服务器的 IPv6 地址,则仅使用 IPv6 的用户可能无法解析任何该 TLD 下的名称,即使这些名称位于 IPv6 兼容区域中。解析遵循从根开始的链条,如果一个链接不起作用,整个过程就会失败。
DNSSEC 提供 DNS 数据的加密认证。与 DNS 中的所有内容一样,它遵循从根区域开始的正常树。同样,如果一个链接不起作用,整个链就会失败。因此,任何不执行 DNSSEC 的 ccTLD 下的名称都容易受到欺骗(注意:是在这种情况下,一种绕过链的技术称为 DLV。然而,它已被弃用,ICANN 对它的支持将于 2017 年结束)。
我会考虑使用更好的顶级域名:-)
答案2
IPv4 和 IPv6 解析器均可提供 AAAA 记录。您可以将 IPv6 地址添加到您的域中,它们将被提供。无论如何,只使用 IPv6 解析器的人(我认为这种情况相对较少)将无法解析您的域。
DNSSEC 的标准解决方法是使用 DLV(DNSSEC 旁路验证)。这种方法已经使用了很长时间,并且长期以来一直是验证大量 TLD 的唯一方法。随着 TLD 提供商增加 DNSSEC 支持,这些 TLD 不再需要 DLV。
IPv6 和 DNSSEC 的总体采用速度非常缓慢。在我所在的地方,我仍然需要 IPv4 隧道才能获得 IPv6 连接。
答案3
如果 TLD 不支持AAAA
名称服务器地址记录,这并不意味着您无法拥有AAAA
底层服务的记录,只是意味着人们将无法使用 IPv6对于 DNS 协议本身查找您的服务地址。
这是一个非常正常的配置(见BCP 91 又名 RFC 3901) 仅在域名注册处列出仅支持 IPv4 的域名服务器,这些域名服务器会发布AAAA
您域内条目的记录。此时,这不会破坏任何东西 - 仅支持 IPv6 的连接(没有 NAT64)几乎无法使用。
对于 DNSSEC,大多数 ccTLD 已经支持它,而那些不支持它的国家中,很多国家都有计划这样做或已经处于实施中期,尽管非洲是主要关注地区。最新的ISOC 地图几天前显示了这一点:
答案4
我知道这意味着我无法向域添加 AAAA 记录,
这是错误的。域名注册机构的无能与您可以使用的记录类型无关(除非他们强迫您使用他们的服务器作为权威域名服务器,在这种情况下我建议您远离它们)。
但这对于其他支持 IPv6 的 DNS 服务器的可达性/兼容性/可见性意味着什么?
如果 tld 的区域无法通过 ipv6 访问,则仅支持 ipv6 的解析器将无法解析该域。
如果顶级域名的区域可通过 ipv6 访问,但他们不允许您提供 IPv6 粘合记录,那么事情就会变得更加复杂。如果您的名称服务器位于相关域下,则需要 IPv6 粘合记录来支持仅 IPv6 解析器。如果您的名称服务器位于另一个域下,那么您的域就不需要粘合记录(尽管显然某些域需要它们)。
无论如何,双栈解析器应该没问题。在可预见的未来,大多数 DNS 解析器都有可能支持 IPv4(双栈或仅支持 v4)。
我理解 DNSSEC 对于验证 DNS 解析非常重要,但不知道它的实现(或缺乏实现)是否会对我作为应用程序开发人员的安全产生影响。
Dnssec 应该提供一种机制来验证您收到的记录是否真实。然而
- 目前绝大多数系统并不强制执行该规定。
- 验证记录是否合法对于 A 和 AAAA 记录来说并没有太大帮助。能够干扰 DNS 的攻击者也很可能干扰 IP 路由。
DNSSEC 和 DANE 是当前 CA 系统未来的潜在替代或补充。从安全角度来看,当前的 CA 系统存在很大缺陷,因为它实际上只会让你的安全性与最差的 CA 一样。
你没有说明你正在开发什么类型的应用程序。如果是与你拥有的服务器通信的客户端应用程序,那么你应该使用私有 CA 的 tls 来保护你的连接。
对于 Web 应用程序来说,公共 CA 系统(虽然很差劲)确实是唯一的选择。您可能需要考虑 HKP,它试图降低因证书颁发错误而带来的风险。使用有效的 DNSSEC/DANE 可以提供更好的安全性,但仅适用于少数实际支持它的客户端。
如果您正在设计自己的允许使用任意服务器的协议,您可能需要考虑包含与 hkp 等效的协议。