保护网站访问安全--阿里云DNS正式支持DNSSEC

本文涉及的产品
全局流量管理 GTM,标准版 1个月
公共DNS(含HTTPDNS解析),每月1000万次HTTP解析
云解析 DNS,旗舰版 1个月
简介: 近日,云解析DNS正式发布DNSSEC(Domain Name System Security Extensions)功能。DNSSEC功能的发布,意味着云解析DNS在保护网站域名安全的方面,又前进了一大步。

近日,云解析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)介绍
  1. ZSK私钥签名RRset生成RRSIG,公钥以DNSKEY RRset的形式发布
  2. 仅权威服务器RRset签名生成RRSIG
  3. RRSIG的TTL和RRSET的TTL相同
  4. DNS解析时,查询RRset时,会同时获取RRSIG,以及DNSKEY,利用ZSK的公钥验证签名
  5. 如果权威DNS是可信的,那么验证过程到这里就可以结束了。可是如果ZSK是伪造的,那该如何处理呢?这就需要有一种方法来对ZSK进行验证

    9989c5b90f96dedb20d3e717592eeed2c54bdb86.jpeg

图3. A记录签名流程


21ebdd125aa51ba8a9e65dbe044daa60159dd5d2.jpeg


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


KSK(Key Signing Key)介绍
  1. KSK用于验证ZSK
  2. KSK私钥签名DNSKEY RRset(包含ZSK和KSK的公钥)生成DNSKEY RRSIG
  3. 本zone的信任可以建立,但KSK自己签名验证自己,不可信,所以需要建立信任链打通本zone和父zone之间的信任
    _DNSSEC_

图5. DNSKEY的签名流程


DS(Delegation Signer)介绍
  1. 子zone KSK公钥的哈希,提交到父zone上,子zone提交DS记录后,则意味着子zone的DNSSEC已经准备就绪
  2. 递归DNS在迭代查询过程中,权威DNS在返回NS记录的同时会返回DS记录
  3. 递归查到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,全力为您的域名保驾护航。

附:
阿里云DNSSEC的帮助文档

相关文章
|
18天前
|
机器学习/深度学习 安全 大数据
揭秘!企业级大模型如何安全高效私有化部署?全面解析最佳实践,助你打造智能业务新引擎!
【10月更文挑战第24天】本文详细探讨了企业级大模型私有化部署的最佳实践,涵盖数据隐私与安全、定制化配置、部署流程、性能优化及安全措施。通过私有化部署,企业能够完全控制数据,确保敏感信息的安全,同时根据自身需求进行优化,提升计算性能和处理效率。示例代码展示了如何利用Python和TensorFlow进行文本分类任务的模型训练。
54 6
|
5天前
|
机器学习/深度学习 人工智能 弹性计算
阿里云GPU服务器全解析_GPU价格收费标准_GPU优势和使用说明
阿里云GPU云服务器提供强大的GPU算力,适用于深度学习、科学计算、图形可视化和视频处理等场景。作为亚太领先的云服务商,阿里云GPU云服务器具备高灵活性、易用性、容灾备份、安全性和成本效益,支持多种实例规格,满足不同业务需求。
|
14天前
|
机器学习/深度学习 人工智能 安全
TPAMI:安全强化学习方法、理论与应用综述,慕工大、同济、伯克利等深度解析
【10月更文挑战第27天】强化学习(RL)在实际应用中展现出巨大潜力,但其安全性问题日益凸显。为此,安全强化学习(SRL)应运而生。近日,来自慕尼黑工业大学、同济大学和加州大学伯克利分校的研究人员在《IEEE模式分析与机器智能汇刊》上发表了一篇综述论文,系统介绍了SRL的方法、理论和应用。SRL主要面临安全性定义模糊、探索与利用平衡以及鲁棒性与可靠性等挑战。研究人员提出了基于约束、基于风险和基于监督学习等多种方法来应对这些挑战。
31 2
|
19天前
|
存储 弹性计算 NoSQL
"从入门到实践,全方位解析云服务器ECS的秘密——手把手教你轻松驾驭阿里云的强大计算力!"
【10月更文挑战第23天】云服务器ECS(Elastic Compute Service)是阿里云提供的基础云计算服务,允许用户在云端租用和管理虚拟服务器。ECS具有弹性伸缩、按需付费、简单易用等特点,适用于网站托管、数据库部署、大数据分析等多种场景。本文介绍ECS的基本概念、使用场景及快速上手指南。
60 3
|
21天前
|
监控 网络协议 应用服务中间件
深入解析:如何确定网站使用的端口号
【10月更文挑战第21天】 在网络通信中,端口号是识别特定服务的关键。一个IP地址可以有多个端口,每个端口可能运行着不同的服务。当我们在浏览器地址栏输入一个网址时,实际上是通过特定的端口与服务器进行通信。本文将探讨如何确定一个网站使用的端口号,以及端口号在网络通信中的作用。
26 4
|
23天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
51 0
|
30天前
|
监控 网络协议 数据挖掘
阿里云国际云解析DNS如何开启/关闭流量分析?
阿里云国际云解析DNS如何开启/关闭流量分析?
|
30天前
|
弹性计算 网络协议 网络安全
内网DNS解析&VPN网关联动实现云上访问云下资源
内网DNS解析&VPN网关联动实现云上访问云下资源
|
3天前
|
监控 Java 应用服务中间件
高级java面试---spring.factories文件的解析源码API机制
【11月更文挑战第20天】Spring Boot是一个用于快速构建基于Spring框架的应用程序的开源框架。它通过自动配置、起步依赖和内嵌服务器等特性,极大地简化了Spring应用的开发和部署过程。本文将深入探讨Spring Boot的背景历史、业务场景、功能点以及底层原理,并通过Java代码手写模拟Spring Boot的启动过程,特别是spring.factories文件的解析源码API机制。
14 2
|
1月前
|
缓存 Java 程序员
Map - LinkedHashSet&Map源码解析
Map - LinkedHashSet&Map源码解析
66 0

相关产品

  • 云解析DNS
  • 推荐镜像

    更多