DNSSEC 验证应该在递归 DNS 服务器还是客户端软件中完成?

DNSSEC 验证应该在递归 DNS 服务器还是客户端软件中完成?

正如标题所说。

DNSSEC 的设计及其在 Bind(以及 Unbound 之类的东西)中的实现显然允许这两种用途。它们可以选择进行 DNSSEC 验证,如果验证失败则返回 SERVFAIL。或者,它们可以设置为“支持”DNSSEC 但不进行实际验证,从而允许客户端软件使用“DO”位(使用 EDNS)来请求 DNSSEC 记录并自行进行验证。

值得注意的是,谷歌自己的公共 DNS 服务器似乎遵循后者,允许 DNSSEC 请求通过它们,但不自己进行 DNSSEC 验证。

DNSSEC 设想以这两种方式中的哪一种运行?如果您需要上下文,想象一下您有几个小型 Web 应用程序服务器和一个缓存递归 DNS 服务器,供它们通过它们执行 DNS 请求。

答案1

我不知道“设想”是什么;也许时间会告诉我们什么才是最好的。

但是如果你已经有了缓存服务器,我会让它进行验证。主要原因是:这样你就有了一个可以记录验证失败的地方(并且,如果有必要,还可以配置例外情况——当你访问的网站到达已破坏的 DNSSEC 记录)。

在众多客户端上这样做是不可扩展的。

相关内容