文档章节

4种DNS安全协议对比:DNSSEC,DNSCrypt,DNS over TLS,DNS over HTTPS

wossl
 wossl
发布于 03/11 11:02
字数 1399
阅读 27
收藏 0

DNS域名系统(Domain Name System的缩写),是一个将域名和IP地址相互映射的分布式数据库,能够使人通过便于记忆的域名地址访问互联网(比如:沃通官网www.wosign.com),而无需记住长串毫无关联性的IP地址(比如:123.196.2.455)。DNS可以理解为“互联网的地址簿”,是互联网的一项基础服务。

DNS的重要性也让其成了黑客主要攻击对象,常见的DNS攻击包括:DNS劫持、缓存投毒、DNS欺骗等等,目的就是通过各种攻击手段将正常访问合法网站的用户,引到黑客控制的假冒服务器上,进行钓鱼欺诈、窃取用户凭证或敏感数据等非法行为。

为了防止针对DNS系统的攻击,强化域名系统的安全性,互联网诞生了4种提升DNS安全性的协议,分别是DNSSEC,DNSCrypt,DNS over TLS,DNS over HTTPS。

 

什么是DNSSEC

DNSSEC是“Domain Name System Security Extensions”的缩写,代表域名系统安全扩展,允许域名所有者对DNS记录进行数字签名,签名DNS记录的私有签名密钥通常仅由合法域名所有者持有,因此可防止未经授权的第三方修改DNS条目。

DNSSEC诞生于1997年,已经列入互联网标准化文档(参考RFC 4033RFC 4034RFC 4035),是最早大规模部署的DNS安全协议,所有的根域名服务器都已经部署了DNSSEC。

虽然DNSSEC已经诞生20年,但APNIC统计其采用率几乎不到19.3%,ICANN敦促业界普及使用DNSSEC协议。不过,DNSSEC协议仅提供真实性和完整性的校验,无法确保DNS流量通信的机密性。

 

什么是DNSCrypt

DNSCrypt是OpenDNS发布的加密DNS工具。与SSL将HTTP流量转换为HTTPS加密流量的原理相同,DNSCrypt也是将常规DNS流量转换为加密DNS流量,这样可以防止窃听和中间人攻击。它不需要对域名或它们的工作方式进行任何更改,只是提供了一种方法,安全加密客户端与DNS服务器之间的通信。在一定程度上,DNSCrypt比DNSSEC的保密性更强,因为DNSSEC只做数字签名的校验,而DNSCrypt既能加密DNS流量也能确保完整性。

不过,DNSCrypt客户端必须明确信任所选提供者的公钥,想使用哪个DNSCrypt服务器,就需要预先安装该服务器的公钥,而不是通过常规浏览器中受信任证书颁发机构列表获取信任;此外,DNSCrypt未申请列入标准化文档,在大规模的应用场景中存在一定的局限性。

 

什么是DNS over TLS

DNS over TLS(简称DoT)是一项安全协议,它可以强制所有和DNS服务器相关的链接都使用TLS,已列入标准文档(参见 RFC 7858 和 RFC 8310)。

DNS over TLS 就是基于 TLS 隧道之上的域名协议,由于 TLS 本身已经实现了保密性与完整性,因此 DoT 自然也就具有这两项特性。DoT通过TLS协议及SSL/TLS证书(如:沃通SSL证书)实现安全加密和身份验证,实现保密性和完整性。

与前述两项协议相比,DNS over TLS更具优势:和DNSSEC相比,DNS over TLS具备了保密性;与 DNSCrypt相比,DNS over TLS已经形成标准化文档。不过,目前支持DNS over TLS 的客户端还不够多,主流浏览器还没有计划增加对DNS over TLS的支持。

 

什么是DNS over HTTPS

很多人将DNS over HTTPSDNS over TLS混为一谈,事实上二者是两种不同的协议,DNS over TLS使用TCP作为基本的连接协议,而DNS over HTTPS使用HTTPS和HTTP/2进行连接;DNS over TLS有自己的端口853,DNS over HTTPS则使用HTTPS标准端口443。

不过,两种协议都是通过TLS加密和SSL/TLS证书(如:沃通SSL证书)来实现保密性与完整性。目前,DNS over HTTPS已经形成相应的草案,但还没有形成RFC标准化文档正式发布,但已经受到主流浏览器的青睐,Mozilla 已经决定在Firefox Nightly中测试DNS-over-HTTPS协议。

Web服务器使用HTTPS加密已经得到广泛的普及和认同,而加密DNS服务器流量其实也是同等重要的。但实现DNS流量加密仍然需要DNS服务器、客户端浏览器等生态环境的支持。在DNS加密生态尚未完整建立的初期,沃通CA推荐网站服务器部署超安EV SSL证书,在浏览器上直观显示绿色地址栏及单位名称,网站显示名称具有唯一性,让假冒服务器难以复制仿冒,有效降低用户被假冒网站钓鱼欺诈的风险。此外,也建议域名所有者敦促服务商尽快支持DNS加密,建立安全可信的DNS域名系统使用环境。

 

 

 

© 著作权归作者所有

wossl
粉丝 1
博文 89
码字总数 74244
作品 0
东城
私信 提问
在 Debian Linux 中使用 DNSSEC 和 DNSCrypt

尽管有一个实时项目正在推进消除不安全的HTTP信息流量,DNS基本上还是一个依赖于未授权明文的网络服务。然而,还是有一些努力可以来尝试和修复这个问题的。这篇文章就是我使用Debian笔记本来...

oschina
2016/04/27
3.4K
3
使用DNSCrypt来加密您与OpenDNS之间的通信

正如SSL能将HTTP通信变为加密过的HTTPS通信,DNSCrypt, 物如其名, 是一款能加密您电脑与OpenDNS之间的通信的小神器。 DNSCrypt刚问世的时候,官方公布它只是一款Mac才能用的工具,但根据最近...

oschina
2014/06/23
4K
17
dnscrypt-proxy 1.4.0 发布,DNS 代理

dnscrypt-proxy 1.4.0 发布,修复了 dnscrypt 0.11 中的 DoS 漏洞;改进 Windows 下以服务运行代理的模式,可自动创建注册表条目;无需手工指定 provider 和 resolver;引入新的配置文件,包...

oschina
2014/04/27
4.5K
1
dnscrypt-proxy 1.0 发布

dnscrypt-proxy 是一个 DNS 代理,实现类似 DNS 缓存和操作系统解析器。 dnscrypt-proxy 1.0 是正式版哦。

oschina
2012/07/22
1K
0
dnscrypt-proxy 1.3.0 发布

dnscrypt-proxy 1.3.0 包含 Sodium 库,带来显著的性能提升,新的命令行 switch,增加 --loglevel 参数。 dnscrypt-proxy 是一个 DNS 代理,实现类似 DNS 缓存和操作系统解析器。...

oschina
2013/04/23
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

setState() called after dispose() flutter

# 在setState前加入以下判断if (!mounted) return;

zdglf
22分钟前
3
0
docker和docker-compose二种方式安装mysql8.0

Docker方式安装 在命令行下运行 docker run -d -p 3306:3306 --restart always --privileged=true--name mysql-e MYSQL_USER="test" -e MYSQL_PASSWORD="test" -e MYSQL_ROOT_PASSWOR......

小白的成长
31分钟前
7
0
五大网络威胁应对挑战

既然如此,那么威胁的检测和响应过程是否像生产瑞士手表那样高效运行呢?答案远非如此。据ESG报告显示,威胁检测和响应过程充满各种各样的问题。来自372名企业网络安全和IT专家的数据,以下是...

linuxCool
32分钟前
5
0
jQuery 选择器使用大全(标签选择器,ID选择器等)

jQuery的选择器是CSS 1-3,XPath的结合物。jQuery提取这二种查询语言最好的部分,融合后创造出了最终的jQuery表达式查询语言。如果你了解CSS(绝大部分WEB开发者都用到的),那么你学起来就很...

前端老手
38分钟前
4
0
HBase四种部署模式和基本操作

本文主要包括两部分的内容,第一部分主要包HBase的四种安装方法,分别是:① 单机版模式,② 伪集群模式,③ 使用HBase自带的zookeeper构建分布式集群,④ 使用独立安装的zookeeper构建分布式...

繁荣3000
46分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部