【问题标题】:How to list all DNS records including DANE TLSA如何列出所有 DNS 记录,包括 DANE TLSA
【发布时间】:2018-03-22 14:58:04
【问题描述】:

我想列出所有/任何 DNS 记录,包括 DANE TLSA。

dig mailbox.org ANY

我得到了所有记录,包括 DNSSEC 等,但没有关于 DANE 的记录。为什么?

dig _443._tcp.mailbox.org. ANY

我得到了 DANE TLSA 记录。

我读过有人想查询所有子域的问题 How can I list ALL DNS records? 并且我知道这只能通过区域转移来实现。

但是'_443._tcp.'不是一个真正的子域,是吗?我以为这只是一个 SRV 记录。那么如何查询包括 DANE TLSA 在内的任何内容?

【问题讨论】:

    标签: dns lookup dig dnssec dane


    【解决方案1】:

    命令dig mailbox.org ANY 询问名称mailbox.org. 的所有记录。

    命令dig _443._tcp.mailbox.org. ANY 询问名称_443._tcp.mailbox.org. 的所有记录。

    mailbox.org._443._tcp.mailbox.org. 名称不同。

    查询其中一个的所有记录不会显示另一个的任何记录。如果有帮助,您可以将 DNS 中的(完全限定)名称视为数据库中的主键(因为实际上它们就是这样)。如果您向数据库询问密钥 FOO 的数据,它不会为您提供密钥 FOOBAR 的任何数据(除非它被严重破坏)。 完全这里也发生了同样的事情。你要求一件事,却得不到另一件不同的事情的答案。

    【讨论】:

      【解决方案2】:

      你会在Section 3 of RFC 6698找到答案:

      TLSA 资源记录存储在带前缀的 DNS 域名中。前缀的准备方式如下:

      1. 假定存在基于 TLS 的服务的端口号的十进制表示前带有下划线字符 (“_”),以成为准备好的域名中最左侧的标签。此数字没有前导零。
      2. 假定存在基于 TLS 的服务的传输协议名称前面带有下划线字符 (“_”),以成为准备好的域名中最左侧的第二个标签。为此协议定义的传输名称是“tcp”、“udp”和“sctp”。
      3. 将基础域名附加到步骤 2 的结果中,以完成准备好的域名。基础域名是 TLS 服务器的完全限定 DNS 域名 [RFC1035],附加限制是每个标签必须符合 [RFC0952] 的规则。后一个限制意味着,如果查询是针对国际化域名的,它必须使用 [RFC5890] 中定义的 A-label 形式。

      基本上,由于您可以在不同的端口上拥有不同的“基于 TLS 的服务”(例如 DTLS),并且此数据不包含在 TLSA 记录集中,因此命名约定可以找到所需的正确信息协议/端口组合。

      【讨论】:

        猜你喜欢
        • 2019-11-04
        • 2013-10-19
        • 1970-01-01
        • 1970-01-01
        • 2020-03-29
        • 1970-01-01
        • 2017-05-13
        • 1970-01-01
        • 2013-11-11
        相关资源
        最近更新 更多