NSEC和NSEC3

简介: 【10月更文挑战第18天】

NSEC和NSEC3是DNSSEC协议中用于证明域名不存在(即证明DNS区域中不存在某个查询的记录)的两种不同类型的记录。它们的目的相同,但在实现方式和安全性方面有所不同。

NSEC(Next Secure Record)

NSEC记录用于证明在DNS区域中两个连续域名之间的空隙,即证明一个域名不存在。它通过指出区域中的下一个有效记录来做到这一点。
工作原理

  • NSEC记录会列出DNS区域中的一个条目和下一个条目的域名。
  • 如果查询的域名位于这两个条目之间,那么它就不存在。
  • NSEC记录还包含了该区间内的所有类型记录,证明这些类型在该区间内不存在。
    例子
    假设区域中有以下记录:
    bar.example.com
    foo.example.com
    
    如果查询baz.example.com,权威DNS服务器将返回:
    baz.example.com NSEC bar.example.com A, AAAA
    
    这表明baz.example.com不存在,并且在这个区间内没有A或AAAA记录。
    缺点
  • NSEC记录直接暴露了DNS区域中的所有域名,这可能导致隐私泄露,使得攻击者能够枚举区域中的所有域名。

    NSEC3(Next Secure Record version 3)

    NSEC3是NSEC的改进版本,旨在解决NSEC记录中的隐私泄露问题。NSEC3通过散列(哈希)区域中的域名来隐藏实际的域名,而不是直接列出它们。
    工作原理
  • NSEC3记录使用散列算法(通常是SHA-1)对域名进行散列处理。
  • 它使用散列后的域名(称为“NSEC3链”)来证明一个域名不存在,同时不直接暴露原始域名。
  • NSEC3记录还包含一个散列后的“下一个域名”和一个“类型位图”,类似于NSEC记录。
    例子
    使用NSEC3,上述例子中的记录可能看起来像这样:
    2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rb.example.com NSEC3 1 1 12 aabbccdd (
    2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rb A RRSIG )
    
    这里,2t7b4g9c2f7kgqi7rb4g9c2f7kgqi7rbbaz.example.com的散列值,aabbccdd是下一个散列值。
    优点
  • 提高了隐私性,因为实际的域名没有直接暴露。
  • 使得攻击者更难以枚举DNS区域中的所有域名。
    缺点
  • 验证NSEC3记录需要额外的计算资源,因为解析器需要计算查询域名的散列值。
  • 如果散列算法被破解,则可能暴露原始域名。

    总结区别:

  • 隐私性:NSEC3比NSEC提供了更好的隐私保护,因为它不直接暴露域名。
  • 计算开销:NSEC3需要额外的计算资源来散列域名。
  • 安全性:NSEC3比NSEC更安全,因为它减少了域名枚举的风险。
  • 配置:NSEC3的配置比NSEC更复杂,因为它涉及到散列算法和参数的选择。
    由于NSEC3提供了更好的隐私保护,因此在DNSSEC部署中通常更受欢迎。然而,NSEC3的使用可能会导致额外的性能开销,尤其是在大规模的DNS区域中。
相关文章
|
网络协议 安全
DNS查询工具 - dig
【1月更文挑战第4天】
622 0
|
域名解析 传感器 网络协议
DNS科普系列 :被动DNS(Passive DNS)
在DNS领域有一些“专有技术名词(俗称行业”黑话“),不熟悉DNS和相关应用的人可能不容易接触和理解他们。从这篇开始,我们将帮助大家梳理一些DNS专有名词,本期的专有名词是:被动DNS(Passive DNS)。
DNS科普系列 :被动DNS(Passive DNS)
|
2月前
|
域名解析 缓存 网络协议
阿里企业邮箱如何设置域名DNS解析?
阿里企业邮箱如何设置域名DNS解析?
245 2
阿里企业邮箱如何设置域名DNS解析?
|
11月前
|
安全 Unix Linux
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
VMware Workstation 17.6.3 发布下载,现在完全免费无论个人还是商业用途
110380 65
|
网络协议 安全 网络安全
DNS放大攻击
【8月更文挑战第20天】
1094 1
|
安全 Windows
win10系统:局域网下共享文件夹设置,解决其他电脑访问不成功问题
这篇文章是关于如何在Windows 10系统下设置局域网共享文件夹,并解决其他电脑访问不成功的问题的详细指南。
52249 7
win10系统:局域网下共享文件夹设置,解决其他电脑访问不成功问题
|
Linux 数据安全/隐私保护 C语言
新手向导:轻松离线搭建最新版OpenVPN(含一键安装脚本)
OpenVPN 是常用的虚拟私有网络工具,通过 Docker 搭建非常简单。但常用的 kylemanna/openvpn 镜像已三年未更新,停留在 OpenVPN 2.4 版本。为了升级到最新版本(如 2024 年 2 月发布的 v2.6.9),可以通过官方开源社区获取最新安装包并手动编译安装。步骤包括安装依赖、下载并编译 OpenSSL 和 OpenVPN、生成证书和配置文件等。此外,GitHub 上有一键安装脚本 openvpn-install.sh,简化了安装过程,但其版本可能不是最新的。安装完成后,还需配置 iptables 以确保客户端能正常使用代理网络。
16111 1
anaconda下载安装,镜像源配置修改及虚拟环境的创建
这篇文章介绍了Anaconda的下载安装过程,包括Anaconda的简介、安装步骤、配置修改、创建虚拟环境以及一些常用命令的使用方法。文章还提供了如何修改conda的镜像源为国内镜像源以加速下载的步骤。
anaconda下载安装,镜像源配置修改及虚拟环境的创建