博客
DNSSEC:它是什么,为什么重要?
抽象形状抽象形状
加入27,000多个网络安全通讯订阅者

域名系统安全扩展(DNSSEC或DNS安全扩展)是一组Internet工程任务组(IETF)规范,用于保护Internet协议(IP)网络上使用的域名系统(DNS)提供的某些类型的信息。

DNSSEC为DNS解析器提供DNS数据的原始身份验证,已存在的已拒绝身份验证和 数据完整性,而不是可用性或机密性

DNSSEC使用基于公钥加密的数字签名对DNS进行身份验证。使用DNSSEC,它'不是签名的DNS查询或响应,而是DNS数据本身是由数据所有者签名的。

在我们深入探讨DNSSEC之前,'了解什么是DNS以及我们为什么需要DNSSEC至关重要。

什么是域名系统(DNS)?

域名系统(DNS)是用于连接到Internet的计算机,服务和其他资源的分层和分散式命名系统。 DNS将信息与域名关联。最常见的用途是将人类可读的域名(如icann.org)转换为数字IP地址,该数字IP地址用于使用基础网络协议来定位和标识服务和设备。 

DNS将责任委托给每个域的权威名称服务器,这些服务器可以分配域并将其映射到IP地址。这将创建一个分布式的,容错的服务,'t centrally hosted.

DNS还定义了DNS协议,DNS协议是DNS中使用的数据结构和数据交换的规范。 

DNS如何工作?

互联网取决于DNS是否正常运行。每个网页,发送的电子邮件和收到的图片都依靠DNS将人类友好的域名转换为服务器,路由器和其他联网设备使用的IP地址。

当您使用Internet时,一切都始于DNS。假设您在浏览器中输入example.com。浏览器将使用其操作系统的一部分存根解析器来翻译网站'的域名转换成IP地址。

存根解析器是一个简单的DNS客户端,它将对DNS数据的请求中继到更复杂的递归解析器。许多网络运营商为他们的客户或整个公众运行递归解析器,包括Google,OpenDNS和Quad9。

递归解析器收到您的请求后,它将自己的DNS请求发送到多个权威名称服务器。所有领域'DNS数据存储在Internet上的名称服务器上。一些组织甚至运行自己的组织,但是大多数组织会将此功能外包给第三方,例如注册商,Internet服务提供商或网络托管公司。

什么是DNS区域?

DNS在许多不同的区域中被分解。每个区域管理DNS名称空间中的不同区域,并由特定的组织或管理员进行管理。  

将DNS区域视为可以对DNS组件(例如其名称服务器)进行精细控制的管理空间。域名称空间是一个层次结构树,顶部是DNS根域,它控制所有其他DNS区域。每个DNS区域都从树中的一个域开始,并且可以向下扩展到子域,从而允许一个实体控制多个子域。 

树中的示例分支可能如下:

  1. 根DNS区域
  2. Com DNS区域
  3. Upguard DNS区域

请记住,DNS区域不一定与单个域名或单个DNS服务器相关联。在某些情况下,同一服务器上可以存在多个子域或多个区域。区域必须严格委派控制权,而不必在物理上分开。 

什么信息存储在DNS数据库中?

DNS数据库中存储的最常见记录是授权开始(SOA),IP地址(A和AAAA),SMTP邮件交换器(MX),名称服务器(NS),反向DNS查找(PTR)和域名的指针别名(CNAME)。 

为什么DNSSEC很重要?

DNS是Internet的电话簿,它告诉您的计算机在哪里发送和检索信息。不幸的是,DNS创建于1980年代,当时互联网很小,安全性不是主要问题。这意味着DNS将接受默认情况下没有问题的任何地址。这可能导致各种 网络攻击 并构成真正的网络安全威胁。

当递归解析器将请求发送到名称服务器时,解析器无法验证响应的真实性。它仅检查响应似乎来自与原始请求发送到的IP地址相同的IP地址。 

这是一种不良的身份验证形式,因为可以伪造或欺骗源IP。这使攻击者可以通过欺骗似乎来自他们的响应,来伪装解析器最初请求的权威名称服务器。  

简单来说,攻击者可以将用户重定向到他们原本打算去的地方,而最终用户却没有意识到。 

递归解析器缓存DNS数据以加快解析速度的事实使这一问题变得更加复杂。这意味着,如果设备上的存根解析器要求递归解析器已在其缓存中保存(保存)的DNS数据,则它可以立即答复而无需从名称服务器请求答复。

尽管这提供了速度和效率优势,但缺点很大。如果网络攻击发送了伪造的DNS响应,该DNS响应被递归解析器接受,则称该解析器具有中毒的缓存,也称为DNS缓存中毒。这意味着与该解析器进行交互的任何用户都将被发送欺诈性DNS数据,直到生存时间(TTL)到期为止。

DNSSEC试图在保持向后兼容的同时向DNS添加额外的安全性。 

DNSSEC资源记录词汇表

在概述DNSSEC的工作原理之前'了解新的DNS资源记录类型已创建或适用于DNSSEC使用非常重要:

  • RRSIG(资源记录签名): 包含记录集的DNSSEC签名。 DNS解析器使用存储在DNSKEY记录中的公钥来验证签名。
  • DNSKEY: 包含DNS解析器用来验证RRSIG记录中的DNSSEC签名的公钥。
  • DS(委托签署人): 保留委派区域的名称并在子委派区域中引用DNSKEY记录。它与委派的NS记录一起放在父区域中,这通常是域的顶级域(TLD)。
  • NSEC(下一个安全记录): 包含指向该区域中下一个记录名称的链接,并列出该记录存在的记录类型'的名字。 DNS解析器使用NSEC记录来验证记录名称和类型的不存在,作为DNSSEC验证的一部分。
  • NSEC3(下一个安全记录版本3): 包含指向区域中下一个记录名称的链接(按哈希名称排序),并列出NSEC3记录的第一个标签中哈希值所覆盖的名称所存在的记录类型'自己的名字。解析程序使用它们来验证记录名称和类型的不存在,作为DNSSEC验证的一部分。它们类似于NSEC记录,但使用加密的哈希记录名称以避免枚举区域中的记录名称。 
  • NSEC3PARAM(下一个安全记录版本3参数): 权威DNS服务器使用该记录来计算和确定要响应DNSSEC对不存在的名称/类型的请求的NSEC3记录。

DNSSEC如何运作?

使用DNSSEC时,除请求的记录类型外,对DNS请求的每个答复还包含RRSIG DNS记录。 RRSIG记录是所请求DNS数据的数字签名。通过找到在DNSKEY中找到正确的公共密钥来验证数字签名。 NSEC和NSEC3记录用于提供任何请求都不存在的加密证据。这也称为经过验证的拒绝存在。

委托签署者(DS)通过使用所谓的信任链用于DNSKEY的身份验证。 NSEC和NSEC3还用于提供强大的抵抗欺骗的能力。 

信任链以DNS根区域(即受信任的第三方)的一组经过验证的公共密钥开始。域名所有者生成自己的公钥/私钥对,并使用其域名注册机构中的DNS控制面板上传它们,这将通过secDNS将密钥推送给区域运营商(例如com区域的Verisign),后者进行签名并将它们发布在DNS中

这可防止解析程序将伪造或操纵的DNS数据缓存,并防止缓存中毒。 

简而言之,DNSSEC为DNS提供了两个安全功能:

  1. 数据来源认证: 允许解析器以密码方式验证来自请求区域的数据。
  2. 数据完整性保护: 允许解析器知道数据为空'已在运输过程中进行了修改,最初由区域所有者签署's private key.

这两个安全功能都具有所有递归解析器的功能,可以在区域中查找数据并检索区域'的公钥,然后用于验证所提供的DNS数据的真实性。然后,解析程序确认收到的数字签名与他们期望的匹配,并将其返回给最终用户。如果签名无效,则解析器将遭受网络攻击,丢弃数据并返回错误。

解析器如何知道何时信任DNSSEC密钥?

每个区域都发布其公用密钥,解析器可以使用其公用密钥来验证区域中的数据。可以像该区域中的其他数据一样确定公钥的完整性,因为它也是经过签名的。区别在于其公钥由其父区域签名's private key. 

例如,UpGuard.com区域的公共密钥由其父com区域签名。每个区域的父级负责保证其子区域的真实性'的公钥。您可以一直遵循此逻辑,直到DNS树到达负责所有子级的DNS根区域。根据定义,它没有父级来签名其密钥,并且天生就受到信任。

DNS根区域是验证所有DNS数据的起点,因此,如果解析器信任DNS根区域'的公钥,它信任由其私钥签名的所有顶级区域,例如com区域的公钥。

并且由于解析程序信任com区域的公钥,因此它信任已由其私钥签名的公钥,例如UpGuard.com的公钥。

这是我们上面提到的信任链。信任链的第一个公钥称为信任锚。最初设计DNSSEC时,只有一个信任锚(DNS根区域)。这些天,信任锚通常是从操作系统或另一个受信任的来源获得的。解析程序隐式信任信任锚的公钥,并且不进一步检查树。

大多数解析器对每个区域(com,net,org等)只有一个信任锚,这使他们可以对DNS名称空间中任何位置建立信任链,只要对路径中的每个区域都进行了签名即可。

DNSSEC密钥如何更换?

为了允许替换密钥,需要密钥翻转方案。这涉及首先在新DNSKEY记录中与现有密钥一起推出新密钥。然后,当可以安全地假设生存时间(TTL)值导致旧密钥的缓存通过时,将使用新密钥。

旧密钥的缓存过期后,将删除旧的DNSKEY记录。对于用作信任锚的密钥,此过程变得更加复杂,但这影响的人很少。

DNSKEY记录有两种不同用途:

  1. 密钥签名密钥(KSK): 用于签署其他DNSKEY记录。
  2. 区域签名键(ZSK): 用于签署其他记录。 

ZSK受完全控制,可以更轻松,更频繁地切换一个特定DNS区域的使用。结果,ZSK可以比KSK短,并提供相似的保护级别,同时减小了记录的大小。

与此形成对比的是,KSK需要将委托签署人(DS)记录转移到父区域并在该区域中发布。 DS记录使用KSK的消息摘要而不是完整密钥来使记录的大小保持较小。这不是'对于许多区域来说这是一个问题,但对于诸如com域之类的区域非常有用。  

DNSSEC可以防止什么?

尽管DNSSEC的主要关注点是防止 网络威胁 由于DNS欺骗,导致将用户定向到错误的位置,DNSSEC提供了保护文本记录(TXT)和邮件记录(MX)的其他好处。 DNSSEC也已用于引导其他 网络安全 会发布存储在DNS中的加密证书的系统,例如证书记录,SSH指纹,IPSec公钥和TLS信任锚。

也就是说,DNSSEC与 SSL证书,请勿提供数据机密性。 DNSSEC响应经过身份验证,但未加密。 DNSSEC也无法防御诸如分布式拒绝服务攻击(DDoS攻击)之类的网络攻击。

请记住,DNSSEC提供的主要保护措施是防止第三方伪造记录并保证域名'通过防止以下行为的身份:

  • DNS缓存中毒: 中间人攻击的一种形式,攻击者使用错误的DNS信息向DNS解析器泛洪。有时,这些攻击可以通过大数定律进行匹配,并将错误结果植入DNS解析器的缓存中。然后,DNS解析器将此错误或恶意网址提供给任何寻求该网站的人,直到生存时间(TTL)到期为止。
  • 错误区域: DNSSEC还可以防止恶意DNS攻击 利用 DNS系统并为不存在的区域提供伪造结果'甚至不存在,本质上是利用区域之间的差距。 DNSSEC保护整个区域并提供防止未签名区域中的漏洞利用的机制。这也被称为经过验证的拒绝存在。  

其他标准用于保护在DNS服务器之间发送的批量数据的安全,例如DNS区域传输。即使使用DNSSEC,某些用户仍然会对DNS名称做出错误的假设,例如假设一家公司's common name plus ".com"始终是其域名。 

DNSSEC不能防止错误的假设,它只能验证域所有者的真实数据或不可用的数据。

为什么不'每个人都使用DNSSEC吗?

众所周知,确保DNS的安全是整个Internet的至关重要的部分,但是DNSSEC的部署遇到了许多困难:

  • 向后兼容性: 设计一个可以扩展到Internet规模的向后兼容标准非常困难
  • 防止区域枚举: DNSSEC的重要部分是权威断言给定名称不存在的能力。 
  • 部署困难: 在各种各样的DNS服务器和解析器上部署DNSSEC需要花费时间。
  • 所有权分歧: 对于谁应该拥有顶级域根密钥,存在分歧。
  • 感知的复杂度: 难以克服DNSSEC和DNSSEC部署的复杂性。

DNSSEC摘要

DNSSEC构成了广泛的Internet安全的基本部分,或者至少在被广泛采用的情况下会如此。现在,需要由递归解析器和域名所有者专门启用它。 

用户应确保在输入域时,它们会到达所需的目的地,而这正是DNSSEC所能保证的。

UpGuard如何帮助您监视DNSSEC

UpGuard helps companies like 洲际交流泰勒·弗莱纽约证券交易所,IAG,First State Super,Akamai,Morningstar和NASA保护他们 信息安全 and 防止数据泄露.

无论您的组织有一个域还是数千个域,我们的平台都可以监视您的组织's 和 its vendor'的DNSSEC网站, 抢注 和易感性 中间人攻击 and other 漏洞UpGuard BreachSight 也可以帮助预防 数据泄露 and 数据泄漏 of 敏感数据 and 个人身份信息(PII),保护您的客户'通过网络安全等级和持续暴露检测获得信任。 

我们也可以为您提供帮助  持续监控,评估安全问卷并将其发送给您的供应商 to control 第三方风险 and 第四方风险 并改善您的安全状况,以及 自动创建清单,执行策略并检测对IT基础架构的意外更改。帮助您扩大规模 供应商风险管理第三方风险管理 and 网络安全风险评估 processes.

立即预订演示。

自由

白色UpGuard徽标
可供下载的UpGuard免费资源
学到更多

下载我们的免费电子书和白皮书

关于网络安全和供应商风险管理的见解。
白色UpGuard徽标
电子书,报告& Whitepapers
可供下载的UpGuard免费资源
UpGuard客户支持团队UpGuard客户支持团队UpGuard客户支持团队

观看UpGuard的实际应用

与我们的一位网络安全专家预订免费的个性化入职电话。
抽象形状抽象形状

相关文章

了解有关网络安全的最新问题的更多信息。
传送图标

注册我们的时事通讯

每周在收件箱中获取最新精选的网络安全新闻,漏洞,事件和更新。
抽象形状抽象形状
免费即时安全评分

您的组织有多安全?

索取免费的网络安全报告,以发现您的网站,电子邮件,网络和品牌上的主要风险。
  • 检查图标
    您可以立即采取行动的即时见解
  • 检查图标
    13个风险因素,包括电子邮件安全,SSL,DNS运行状况,开放端口和常见漏洞
网站安全扫描结果网站安全扫描等级抽象形状