gpt4 book ai didi

javascript - 如何检查 DNSSEC 是否符合 nodejs?

转载 作者:行者123 更新时间:2023-11-29 21:22:02 26 4
gpt4 key购买 nike

我正在构建一些网络分析工具,但我在检查 NodeJS 应用程序中的 DNSSEC 合规性时遇到了一些困难。标准库中的 dns 模块似乎不接受任何 DNSSEC 记录类型。我正在尝试查找 rrsigdsnsecnsec3docs不要将它们列为要解析的有效 rrtypes。可以用 NodeJS 做到这一点吗?

最佳答案

除非您计划在 Javascript 中实现 DNSSEC 验证(祝您好运!),否则您将依赖于某些外部验证器来指示有效、无效或不安全(DNSSEC 未配置)。世界上最大的 DNSSEC 验证器 Google Public DNS (更好地称为 8.8.8.8),他们方便地添加了一个 HTTPS-based API这应该很容易从您的 Node.js 代码中使用(API 响应是 JSON)。

您可以使用和不使用 &cd=1 参数检查是否成功解析以禁用 DNSSEC 验证:

  • 两个查询的 SERVFAIL ("Status": 2) 是错误的委托(delegate)
  • SERVFAIL only without &cd=1 是无效的 DNSSEC 配置
  • 成功(“状态”:0)但没有经过身份验证的数据(“AD”:false)是非 DNSSEC 区域
  • SUCCESS with Authenticated Data ("AD": true) 是有效的 DNSSEC 配置

唯一的缺点是这些是远程 Web API 调用,但即使使用本地验证解析器,您也依赖于远程 DNS 查询,因此没有太大区别(缓存除外)。

如果您想生成有关无效 DNSSEC 配置的特定问题的诊断,您需要直接查询特定于 DNSSEC 的记录类型(这适用于 DS、DNSKEY、NSEC、NSEC3、NSEC3PARAM 和 RRSIG - 但您将不得不自己使用 NSEC3PARAM 数据生成 NSEC3 哈希名称,这将是痛苦的)

关于javascript - 如何检查 DNSSEC 是否符合 nodejs?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38307209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com