我有兴趣让我的域名 getvalid.com 获得 NSEC3 支持,这样我就可以防止名称遍历。
动态似乎不支持 NSEC3,很明显BIND和DNS服务器需要支持NSEC3的能力......但我不确定底层注册商是否对NSEC3支持有任何影响。
我需要向 NSEC3 注册商做些什么吗?
答案1
在 DNSSEC 中,根名称服务器和中间名称服务器的作用是提供信任链,直到到达您所在区域的权威名称服务器。除了托管DS
与您的签名区域相关的公钥外,它们在 NSEC3 验证中没有任何作用。
要使 NSEC3 正常运行,您需要使用强制支持该功能的算法对您的区域进行签名。较旧的算法通过包含标识符的变体得到支持-NSEC3-
。除非以这种方式宣传支持,否则解析器不会尝试使用较新的功能。如果区域已正确签名,您需要做的就是按照常规步骤将密钥DS
摘要发布到授权链中紧接在您之前的名称服务器。
从RFC5155:
为了帮助部署,该规范使用信令技术来防止不了解 NSEC3 的解析器尝试验证来自 NSEC3 签名区域的响应。
本规范为此分配了两个新的 DNSKEY 算法标识符。算法 6,DSA-NSEC3-SHA1 是算法 3,DSA 的别名。算法 7,RSASHA1-NSEC3-SHA1 是算法 5,RSASHA1 的别名。这些不是新算法,而是现有算法的附加标识符。
根据本规范签名的区域必须仅将这些算法标识符用作其 DNSKEY RR。由于这些新标识符对于现有的、不支持 NSEC3 的解析器来说是未知算法,因此这些解析器会将来自 NSEC3 签名区域的响应视为不安全的,如 [RFC4035] 第 5.2 节所述。
答案2
只要注册商允许您DS
向区域委派中添加任何您想要的有效记录,注册商就不会成为一个因素。
注册商可能采取的一些会导致问题的行为包括:
如果他们不允许您添加
DS
任何记录,那么您根本无法获得签名的委托(作为DLV
一种潜在的解决方法),这不是 NSEC3 的问题,而是 DNSSEC 的问题如果他们对记录的值
DS
(特别是算法字段)施加限制,可能会迫使您使用早于 NSEC3 的算法。
我没有遇到过算法的局限性,但至少从理论上讲,有人可能会使用过时的验证代码或类似的东西。