【问题标题】:Do all DNS root servers and top-level-domain servers (TLD) support DNSSEC?是否所有 DNS 根服务器和顶级域服务器 (TLD) 都支持 DNSSEC?
【发布时间】:2023-03-30 20:56:01
【问题描述】:

我知道 DNSSEC 自 2010 年以来已广泛实施。对于权威名称服务器,是否要支持 DNSSEC 取决于管理员。但是,我想知道是否所有根名称服务器和所有 TLD 服务器都支持 DNSSEC?

如何使用 dnspython 或 dig 等工具检查根名称服务器和 TLD 服务器上的 DNSSEC 支持,或者我不需要检查,因为它们都已经支持 DNSSEC?

【问题讨论】:

    标签: python dns dig dnspython dnssec


    【解决方案1】:

    所有根服务器?是的。

    所有 TLD 服务器?不可以。所有 gTLD(自 2013 年以来推出的)都必须具有 DNSSEC,但 ccTLD 没有这样的保证。

    检查特定服务器是否处理 DNSSEC 的一种方法是向其发送带有 DO 标志集的查询,请求该服务器对其具有权威性的域的 DNSKEY RRset。如果响应包含 RRSIG 记录,则服务器会适当地处理 DNSSEC。如果您想了解详细信息和/或实现测试的 Perl 代码,请参阅 here

    【讨论】:

    • 如果我可以在 DNS 响应消息“edns 0”和“eflags DO”中看到这两行,那么名称服务器是否支持 DNSSEC?另外,您是否有任何参考如何使用 dnspython 来测试服务器是否支持 DNSSEC 并使用其公钥验证响应的消息?
    • 不,这是不正确的。如果他们在那里,则服务器确实支持 DNSSEC,但不幸的是它不会反过来。您必须按照所述查看服务器行为。我所有的 DNS 代码都使用 Perl、C、Erlang 或 Go,但从来没有使用 Python。所以我对dnspython一无所知。
    • 另一种可能的方式:在根服务器中查询 TLD 名称上的 DS 记录。但是,无论您对这样或这样的 DNS 记录进行测试的任何查询都不能完全证明 DNSSEC 有效。证明它的唯一方法是做一个完整的查询来验证它,例如用delv专门测试你是否完全验证了DNSSEC,所以比dig更好。或者在线使用dnsviz.net 以获得等效测试的漂亮图形显示。
    猜你喜欢
    • 2013-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-22
    • 2015-10-06
    • 1970-01-01
    • 2013-10-02
    相关资源
    最近更新 更多