如何检查 DNSSEC 是否符合 nodejs?
How can I check DNSSEC compliance with nodejs?
我正在构建一些网络分析工具,但我在检查 NodeJS 应用程序中的 DNSSEC 合规性时遇到了一些困难。 None 的 DNSSEC 记录类型似乎被标准库中的 dns
模块接受。我正在尝试查找 rrsig
、ds
、nsec
、nsec3
,但 docs 没有将它们列为要解析的有效 rrtypes。可以用 NodeJS 做到这一点吗?
除非您计划在 Javascript 中实施 DNSSEC 验证(祝您好运!)您将依赖于某些外部验证器来指示有效、无效或不安全(DNSSEC 未配置). Google Public DNS (better known as 8.8.8.8), and they conveniently have added an HTTPS-based API 中世界上最大的 DNSSEC 验证器应该很容易从您的 Node.js 代码中使用(API 响应是 JSON)。
您可以使用和不使用 &cd=1 参数检查是否成功解析以禁用 DNSSEC 验证:
- 两个查询的 SERVFAIL ("Status": 2) 都是错误的委托
- SERVFAIL only without &cd=1 是无效的 DNSSEC 配置
- 成功("Status":0)但没有经过身份验证的数据("AD":false)是非 DNSSEC 区域
- SUCCESS with Authenticated Data ("AD": true) 是一个有效的 DNSSEC 配置
唯一的缺点是这些是远程 Web API 调用,但即使使用本地验证解析器,您也依赖于远程 DNS 查询,因此没有太大区别(缓存除外)。
如果您想生成有关无效 DNSSEC 配置的特定问题的诊断,您将需要直接查询特定于 DNSSEC 的记录类型(这适用于 DS、DNSKEY、NSEC、NSEC3、NSEC3PARAM 和 RRSIG -但是你必须自己使用 NSEC3PARAM 数据生成 NSEC3 哈希名称,这会很痛苦)
我正在构建一些网络分析工具,但我在检查 NodeJS 应用程序中的 DNSSEC 合规性时遇到了一些困难。 None 的 DNSSEC 记录类型似乎被标准库中的 dns
模块接受。我正在尝试查找 rrsig
、ds
、nsec
、nsec3
,但 docs 没有将它们列为要解析的有效 rrtypes。可以用 NodeJS 做到这一点吗?
除非您计划在 Javascript 中实施 DNSSEC 验证(祝您好运!)您将依赖于某些外部验证器来指示有效、无效或不安全(DNSSEC 未配置). Google Public DNS (better known as 8.8.8.8), and they conveniently have added an HTTPS-based API 中世界上最大的 DNSSEC 验证器应该很容易从您的 Node.js 代码中使用(API 响应是 JSON)。
您可以使用和不使用 &cd=1 参数检查是否成功解析以禁用 DNSSEC 验证:
- 两个查询的 SERVFAIL ("Status": 2) 都是错误的委托
- SERVFAIL only without &cd=1 是无效的 DNSSEC 配置
- 成功("Status":0)但没有经过身份验证的数据("AD":false)是非 DNSSEC 区域
- SUCCESS with Authenticated Data ("AD": true) 是一个有效的 DNSSEC 配置
唯一的缺点是这些是远程 Web API 调用,但即使使用本地验证解析器,您也依赖于远程 DNS 查询,因此没有太大区别(缓存除外)。
如果您想生成有关无效 DNSSEC 配置的特定问题的诊断,您将需要直接查询特定于 DNSSEC 的记录类型(这适用于 DS、DNSKEY、NSEC、NSEC3、NSEC3PARAM 和 RRSIG -但是你必须自己使用 NSEC3PARAM 数据生成 NSEC3 哈希名称,这会很痛苦)