您好,欢迎访问上海聚搜信息技术有限公司官方网站!
24小时咨询热线:4000-747-360

阿里云最新优惠券:阿里云DNS正式支持DNSSEC

时间:2020-02-28 23:34:03 点击:

  阿里云最新优惠券:阿里云DNS正式支持DNSSEC

  近日,云解析DNS正式发布DNSSEC(Domain Name System Security Extensions)功能。DNSSEC功能的发布,意味着云解析DNS在保护网站访问安全的方面,又前进了一大步。那到底什么是DNSSEC,这项技术的给我们带来了什么好处呢。接下来我们一一道来。

  DNS的工作原理

  在讲DNSSEC这个功能之前,让我们先来看看DNS的工作原理。我们每个用户,在进行网页浏览的时候,都会输入域名,来打开相应的网页,比如要打开淘宝,我们在浏览器中输入www.taobao.com,浏览器就会将淘宝的页面呈到我们的眼前。当电脑在访问某一个页面的时候,是需要指定IP地址才能进行访问,那么输入域名后,到页面展示中间,发生了一些什么事情呢?首先会去本地DNS服务器去查询,是否存在www.taobao.com这个域名的解析记录,如果能查到,那么就直接将结果返回给用户了。可是如果没有查到怎么办,就需要本地DNS进行递归的流程,依次去根服务器、.com服务器、taobao.com服务器、www.taobao.com服务器上查询,最终获得www.taobao.com 的IP地址,从而浏览器可以展示出淘宝页面。

  DNS并非无懈可击

  (1)递归链路有被劫持的风险

  通过工作原理中的例子我们可以看出,在进行一次递归查询的时候,需要对链路上每一个权威服务器进行请求,接收到应答后再去下一个权威服务器进行查询。有攻击者利用了其中的漏洞:当本地DNS去请求某一个权威DNS服务器的时候,中间的请求很容易就被攻击者冒充或伪造,返回给本地DNS一个错误的解析结果。而由于没有验证手段,此时本地DNS就会拿到错误的解析结果去进行后续的解析,从而网站被重定向到可能有潜在危险的恶意网站。

  (2)Local DNS有被投毒的风险

  递归解析器可以从权威服务器中接收到DNS数据,并将其进行缓存,当有后续请求时,可以使用缓存数据进行应答,从而加速解析流程。当缓存数据被攻击者模拟权威DNS响应而被递归解析器接收后,缓存中的数据就会变为攻击者的数据。那么后续再进行解析的时候,就都是具有危险性的解析结果了。比如此地址指向了一个钓鱼网站,用户就会在在不知情的情况下丢失了用户密码,给用户和企业带来损失。

  如何来确定解析结果是真正权威的结果呢?DNSSEC技术顺势而生,有效保障了解析结果的正确性。

  什么是DNSSEC?

  (1)DNSSEC的介绍

  DNS安全扩展是Internet工程任务组(IETF)提供的一系列DNS安全认证的机制。它是DNS提供给DNS客户端的DNS数据来源进行认证,保证Local DNS(resolver)和权威之间的数据不被篡改(中间人攻击)。当解析数据被篡改后,开启DNSSEC功能的域名,会对获取到的解析数据上的签名进行验签,在验签的过程中,如果失败,则说明获取的解析数据是异常的,则不会使用此解析结果,从而保证用户拿到的解析结果一定是真实可信的。

  (2)国内DNSSEC的使用情况

  DNSSEC的提议在2009年12月1日宣布,目前正在逐渐普及起来。根据亚太网络信息中心(APNIC)提供的数据显示,全球DNSSEC验证目前为 24.12%。如下图白框内所示,在我国目前只有1.03%的域名使用了DNSSEC功能,如今阿里云云解析DNS已支持了DNSSEC功能,可以为广大用户提供更加稳定的域名解析服务。

  b420d9ff1726598a79dc2e83c803046382d5f766.jpeg

  图1. 我国DNSSEC占比图

  (3)DNSSEC的原理介绍

  DNSSEC 的记录类型

  ? RRSIG(Resource Record Signature): RRset的加密签名

  ? DNSKEY(DNS Public Key): 公钥,包含KSK(Key Signing Key)和ZSK(Zone Signing Key)公钥两种

  ? DS(Delegation Signer): KSK公钥的摘要

  ? NSEC/NSEC3(Next Secure): 用来证明否定应答(no name error, no data error, etc.)

  ? CDNSKEY和CDS: 子zone用来自动更新在父zone中的DS记录

  一个域名,多个相同类型的资源记录的集合成为资源记录集(RRset) ,RRset是DNS传输的基本单元。我们先了解下RRset(esource Record Set)的原理。

  RRSET介绍

  -即相同owner,type,class的若干RR的集合。如图所示:当有一个域名(example.taobao.com.)下有3个A记录,那么这3个A记录都将绑定到单个 A RRset 中。

  a51d847a53752aa76cea6d7e9a2065fe4055badd.jpeg

  图2. RRset介绍

  知道了rrset之后,接下来我们来看下签名的工作原理。

  ZSK(Zone Signing Key)介绍

  ZSK私钥签名RRset生成RRSIG,公钥以DNSKEY RRset的形式发布

  仅权威服务器RRset签名生成RRSIG

  RRSIG的TTL和RRSET的TTL相同

  DNS解析时,查询RRset时,会同时获取RRSIG,以及DNSKEY,利用ZSK的公钥验证签名

  如果权威DNS是可信的,那么验证过程到这里就可以结束了。可是如果ZSK是伪造的,那该如何处理呢?这就需要有一种方法来对ZSK进行验证

  9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

  图3. A记录签名流程

  21ebdd125aa51ba8a9e65dbe044daa60159dd5d2.jpeg

  图4. A记录签名的验签流程

  KSK(Key Signing Key)介绍

  KSK用于验证ZSK

  KSK私钥签名DNSKEY RRset(包含ZSK和KSK的公钥)生成DNSKEY RRSIG

  本zone的信任可以建立,但KSK自己签名验证自己,不可信,所以需要建立信任链打通本zone和父zone之间的信任

  _DNSSEC_

  图5. DNSKEY的签名流程

  DS(Delegation Signer)介绍

  子zone KSK公钥的哈希,提交到父zone上,子zone提交DS记录后,则意味着子zone的DNSSEC已经准备就绪

  递归DNS在迭代查询过程中,权威DNS在返回NS记录的同时会返回DS记录

  递归查到KSK公钥后进行哈希,和父zone里的DS记录进行比较,如果能匹配成功,则证明KSK没有被篡改

  _DS_

  图6. DS记录的工作原理

  解决众多DNSSEC技术难题,只为保护你的域名安全

  DNSSEC目前是一个更加安全可靠的DNS解决方案,可以保证用户的解析不被劫持和投毒所影响,使得解析更准确。

  这种安全可靠的背后,又有哪些技术挑战需要去克服呢?

  (1) 计算量 & 存储量

  DNSSEC的拥有两种签名模式:a.在线签名; b.离线签名

  在线签名,可以实时的返回最新的签名结果,不需要将签名结果存储在权威DNS上,节省了存储空间,可因为其需要进行实时计算,对CPU的性能带来了很大的考验。

  离线签名,可以返回稳定的签名结果,签名结果存储在权威DNS上,节约了计算消耗的时间以及CPU的使用,但对磁盘空间有不小的负担。

  云解析DNS在技术上,利用本身的高容量,高性能的优势,解决了DNSSEC功能所带来的计算和存储的压力,保证了用户域名的解析稳定

  (2) 签名算法的选择

  DNSSEC的签名有多种算法可以选择:

  密钥类型编码 密钥类型

  1 RSA/MD5

  2 Diffie-Hellman

  3 DSA/SHA-1

  4 Elliptic Curve

  5 RSA/SHA-1

  6 DSA-NSEC3-SHA1

  7 RSASHA1-NSEC3-SHA1

  8 RSA/SHA-256

  10 RSA/SHA-512

  13 ECDSA Curve P-256 with SHA-256

  14 ECDSA Curve P-384 with SHA-384

  252 Indirect

  253 Private DNS

  254 Private OID

  ECDSA与类似的RSA签名相比,生成ECDSA签名的计算成本要低10倍,对于云解析DNS现在每天有海量的DNS解析请求,我们解决了高性能的签名计算难题,使得DNSSEC在技术上拥有了可行性。

  使用ECDSA实现128位签名需要一个256位密钥,而类似的RSA密钥则需要3072位。

  综合多种因素,云解析DNS采用的是算法 13: ECDSA Curve P-256 with SHA-256,这种算法签名得到的结果安全性高,并且字符长度适中,在兼顾了安全性的同时,也降低了传输时数据的大小。

  (3) 密钥安全性的保障

  DNSSEC拥有两种密钥,一种是ZSK,一种是KSK。

  其中ZSK是用于对域名的解析记录(例如A记录、CNAME记录等)进行签名使用的。

  而KSK是用于对域名的DNSKEY记录进行签名的。

  众所周知的Root KSK Ceremonies,就是ICANN为了保证根密钥的安全性,定期轮转ZSK的仪式。

  在密钥安全性方面,云解析DNS下了非常大的功夫。为了保证这两种密钥的安全性,云解析使用了全托管的密码机,将密钥托管在密码机中,密钥运算也是在密码机内部进行,从而保证任何人无法看到密钥明文。同时云解析DNS也会定期对密钥进行轮转,通过减少每个密钥加密的数据量,再次提高了密钥的安全性。

  DNSSEC 通过使用公钥加密来为授权区域数据进行数字签名,给用户的域名带来稳定的保障,避免解析记录被人篡改和投毒。阿里云云解析DNS已支持DNSSEC,全力为您的域名保驾护航。


标签

收缩
  • 电话咨询

  • 4000-747-360
微信咨询 获取代理价(更低折扣)
更低报价 更低折扣 代金券申请
咨询热线: 15026612550