云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名备案_主机屋云主机_返利

小七 141 0

DNSSEC简介

在CloudFlare,我们的使命是帮助建立一个更好的互联网。这项工作的一部分包括使网站更快、更可靠、更值得信赖。显然,帮助网站更安全的协议首选是HTTPS。CloudFlare的最新产品Universal SSL通过免费提供网站HTTPS支持,帮助网站运营商为网站访问者提供值得信赖的浏览体验。在这篇博文中,我们研究了另一个协议DNS,并探讨了一个提高其可信度的建议:DNSSEC。域名系统是互联网权威的支柱之一。DNS用于翻译域名(如网站)对于数字互联网地址(如198.41.214.163),它通常被称为"互联网电话簿"。DNSSEC是DNS的一组安全扩展,它提供了对DNS记录进行身份验证的方法。CloudFlare计划在未来6个月内引入DNSSEC,并将DNSSEC的发明人之一Olafur Gudmundsson引入DNSSEC,以帮助领导该项目。Eric Fischer编写的CC BY 2.0介绍域名系统(DNS)是现代互联网最古老、最基本的组成部分之一。作为将域名映射到Internet协议(IP)地址的机制,它提供了一个人类可读的层来导航互联网上数百万台机器和设备。在20世纪80年代早期,当DNS被设计时,协议中没有考虑到强大的安全机制。当时的计算机与今天的机器相比动力不足,公钥密码术是一个相对较新的概念,受到高度管制,而且网络规模小得多,相对知名和值得信任的参与者较少。随着网络的发展和发展,DNS作为一种不安全和未经验证的协议保持不变。1993年,IETF开始了一场关于如何使DNS更加可信的公开讨论。最终,一组名为域名系统安全扩展(DNSSEC)的DNS扩展得到了解决,并于2005年正式发布。这些扩展取代了先前的提议,成为保护DNS的最终方法。虽然这本书出版已经将近十年了,但是DNSSEC还远远没有被主流接受。有几个催化剂推动DNSSEC的采用,其中之一就是2008年Dan Kaminsky的缓存中毒攻击。这一攻击突出了传统DNS中的重大信任问题,以及DNSSEC如何能够很好地解决这些问题。然而,即使在大量的工作之后,采用仍然是滞后的——有几个因素阻碍了DNSSEC的采用。其中包括网络运营商,他们更喜欢稳定性而不是复杂性(这是有充分理由的)。采用DNSSEC的另一个困难是,对于DNSSEC是否是保护DNS的正确工具,还没有一个普遍的共识。在这篇文章中,我们将探讨DNS固有的不安全性,以及DNSSEC如何被用来提高对互联网这一基本部分的信任。DNS:一个分布式的键值存储DNS的概念很简单:它是一个关于域名信息的全球数据库。这是互联网的电话簿。如果客户机希望连接到诸如'www.example.com网站'并且需要知道哪个IP地址对应于这个地址,他们可以询问DNS。通常,所有DNS消息都通过UDP发送。有几种类型的资源记录(RR),DNS可以回答有关的问题。其中一个最重要的rr被称为"A记录",它存储与域相关联的IPv4地址。要找出给定域的任何记录的值,可以询问DNS解析程序。例如,你想要的IP地址网站,你可以问的问题是:"域的A记录是什么?"原始DNS请求是一个UDP包,如清单1所示。这个请求包含一个ID(0x27e1)、一些表示它是请求的标志以及问题本身。原始DNS请求的响应如清单2所示。这个响应带有匹配的ID(0x27e1)、回显原始请求的副本、一些标志(1/0/0)和问题的答案:93.184.216.119。它还包含一个有效期,称为生存时间(TTL),用来指示记录的有效期。原始DNS请求:0x0000:5ad4 0100 0001 0000 0000 0000 0765 7861'………exa0x0010:6d70 6c65 0363 6f6d 0000 0100 01mpe.com网站.....Wireshark的解释:DNS原始响应:0x0000:51d4 8180 0001 0001 0001 0000 0000 0765 7861'………exa0x0010:6d70 6c65 0363 6f6d 0000 0100 01c0 0C0mpe.com网站........0x0020:0100 0100 0031 f500 045d b8d8 77…..1…]…wWireshark的解释:DNS的工作原理DNS是一个分布式密钥/值数据库。返回的值在理论上可以是任何值,但实际上需要适合于已知的类型,如地址、邮件交换、服务器列表、自由格式文本记录等。键由名称、类型和类组成。名称空间是分层的(见下文),DNS信息由权威服务器"发布"。DNS解析程序将通过从一个权威DNS服务器到下一个DNS服务器的命名层次结构来定位请求的信息。ISP通常提供一个递归解析器,它将代表客户执行解析。您还可以使用像Google(8.8.8.8,8.8.4.4)或OpenDNS(208.67.222.222.208.67.220.220)提供的公共解析器。支持Web的应用程序(如浏览器)使用称为存根解析程序的东西与DNS交互。一旦应用程序或浏览器获得了网站的IP地址,他们就可以使用HTTP或HTTPS协议访问它。DNS命名空间DNS名称空间的层次结构定义良好:DNS名称由点分隔的标签组成。因此"www.example.com。"由4个标签组成"www"(leaf)"example"(域)"com"(TLD)和"."即根。解析器通过从标签的最长匹配处开始搜索,也就是说,如果它只知道根,则从那里开始搜索。如果他们知道.com,他们就从那里开始。有13个根服务器由12个不同的组织维护。根区域由IANA维护,IANA是ICANN的一部分,由Verisign发布,后者操作两个根服务器。根区域的内容是每个TLD的权威服务器的列表,但其他内容不多。因此,如果根DNS服务器接收到对"www.example.com网站它将以一个被称为".com"解析程序的引用来回答。来自根服务器的答案包含一组名为NS(Name server)的记录。这些记录列出了名称服务器,这些服务器应具有有关所请求区域的更多信息,即".com"服务器。每个TLDs权威名称服务器都知道其下域的权威名称服务器(example.com网站, cloudflare.com网站, 谷歌等等)。接下来,您将最终到达服务器,该服务器可以回答有关您正在查找的名称的记录的查询。DNS是世界上最大的分布式委托数据库。委派意味着每个名称都可以有一个不同的权限来维护信息,任何更改都会反映在DNS中。因此,重要的是,解决者不要永远保留他们所学的东西。同样,繁忙的解析器可以重用它们获取的信息,这一点很重要。这种信息的重用是通过在每个DNS记录上放置一个TTL来完成的,它告诉解析程序他们可以重用这些记录多长时间来回答问题。当解析器返回一个缓存值时,它向下调整TTL,反映数据在其缓存中的驻留时间。DNS上的路径攻击者攻击2014年3月,土耳其政府决定在国内封锁推特。他们通过指示土耳其ISP返回twitter.com把它们发到土耳其政府网站上。人们很快意识到发生了什么,并且,通过使用外国递归解析器,他们可以绕过限制,继续获得Twitter的真实地址。这激发了市民在建筑物和公共空间上喷涂谷歌的公共DNS服务器地址。土耳其的这起事件说明了DNS的第一个主要安全问题:没有身份验证。具有特权网络位置的任何一方(例如,他们控制位于连接两侧之间的路由器)都可以修改DNS记录以指向他们选择的任何位置。这就是所谓的"路径攻击者攻击",而DNS是易受攻击的。卡明斯基的攻击2008年,dankaminsky揭露了对DNS系统的攻击,它可以欺骗DNS递归解析程序存储不正确的DNS记录。一旦名称服务器存储了不正确的响应,它会很高兴地将它返回给每个请求者,直到缓存项过期(通常由TTL指定)。这种所谓的"DNS中毒"攻击可以让任意攻击者欺骗DNS,并将web浏览器(和其他应用程序)重定向到不正确的服务器,从而使它们能够劫持流量。DNS中毒攻击描述简单,但很难成功。按照事件顺序:客户端查询递归解析程序递归解析器查询权威服务器权威服务器对递归解析程序的响应递归解析程序用对客户端的响应进行响应卡明斯基的攻击依赖于这样一个事实:UDP是一个无状态协议,源IP地址是盲目信任的。这里描述的每个请求和响应都是一个单独的UDP请求,包含to和from IP地址。理论上,任何主机都可以伪造UDP消息上的源地址,使其看起来像来自预期的源。位于不过滤出站数据包的网络上的任何攻击者都可以构造一个UDP消息,该消息表示它来自权威服务器并发送到递归解析程序。在上述请求中,3号消息是一个很好的攻击目标。这是因为递归解析器将接受与其查询匹配的问题的第一个答案。所以,如果你能比