下一代DNS·域知 | DNS安全层的探索——DOT和DOH的对比与展望824
发表时间:2023-12-22 16:41 来源:本文为ZDNS内部征稿,未经允许谢绝转载 作者:ZDNS 产品研发中心 关键词:DOH DOT 前言 DNS是互联网上最重要的基础服务之一,它负责将人类可读的域名解析为机器可读的IP地址。然而,传统的DNS协议存在许多安全隐患,例如DNS劫持、网络监听和缓冲区投毒等,这些问题不仅威胁到用户的隐私和安全,也影响到DNS的稳定性和可靠性。为了解决这些问题,一些新的DNS安全层技术被提出,例如DNS over TLS(DOT)和DNS over HTTPS(DOH)。本文将介绍这两种技术的原理、优缺点和应用场景,并对它们进行比较和分析。 从DNS安全层引入 首先,我们来尝试回答一个问题:为什么DNS需要额外的安全层呢? DNS解析是为了解决从机器可读的IP到人类可读的域名的映射问题,简单来看DNS就是互联网IP地址的一份超级密码本。 然而,在通常情况下,DNS的查询解析过程使用UDP协议以明文的形式发送。这对于有心之人来说,意味着他们可以读取到任意想要的信息。任何在网络上侦听数据包的人都会知道我正在尝试访问xx.xx网站。 确实,如果DNS查询是明文,这种隐私暴露的灾难使得攻击者可以轻易获取目标用户的网络行为。常见的DNS安全问题如下:
DNS的安全传输服务可以应用在浏览器、物联设备、网关路由等多个场景,为了提高用户的安全性和隐私性,需要对DNS查询进行加密。使用额外的DNS安全手段例如DOT和DOH技术发送DNS查询,对维护互联网安全、保护隐私和稳定解析有重要意义。 DNS over TLS —— DOT介绍 DOT 即 DNS Over TLS,是基于TLS加密DNS查询并确保其私密性和安全性的标准。可以发现,在DOT中TLS是很重要的,那么TLS是什么呢?
TLS内部分为2层,下层是TLS记录层,上层是TLS协议层(包括:握手协议、告警协议、密码变更协议、应用层数据)。 DOT 基于TCP协议,运行在853端口,对应标准 RFC7858。DOT使用TLS对DNS传输进行加密,以确保DNS请求和响应不会被路径上外来攻击篡改或伪造,从而保证DNS数据在网络中传输的隐蔽性。同时,因为其数据包通过专用端口发送,则网络管理者可以针对 DOT 流量进行识别、过滤或阻止。 DNS-over-HTTPS —— DOH介绍 DOH 即 DNS Over HTTPS,它使用 HTTPS协议 来传输 DNS 协议,其推荐的 HTTP 最低版本为 HTTP/2,默认采用443端口,基于TCP协议,对应标准RFC8484。 那么HTTP和HTTPS是什么呢?
DOH的一大优点是其能便捷融合到HTTP生态圈,例如使用HTTP的缓存、重定向、代理、身份验证和压缩等。 DOH将DNS请求和响应封装到HTTP请求的主体,然后在客户端跟递归服务器之间建立一个TLS会话,通 过HTTPS协议传输封装DNS请求的HTTP请求。DOH的封装示意图如下: 跟传统DNS相比,DOH并不会基于UDP在 53 端口上发送纯文本,而是通过加密 HTTPS 连接进行DNS查询。 因为DOH本质上是HTTP对DNS的封装,它需要具备以下关键点:
将DNS封装后,DOH流量与普通的HTTPS流量表现一致,也就在常规 HTTPS 流量中隐藏了DNS查询。中间人无法通过查看端口来分辨该请求是否为DNS查询请求。因此第三方监听者将无法窥探流量,则无法获悉用户的具体 DNS 查询,也就无法推断用户将要访问的网站。相比于DOT而言,DOH能够更好地隐藏DNS查询流量。 DOT 和 DOH的异同 读到这里,我们已经了解了DOT和DOH。此时可能会有一个疑问:DOT使用TLS实现DNS消息的加密和认证,DOH使用HTTPS传输DNS,而HTTPS也是应用TLS进行加密的,那么使用TLS的DOT和基于HTTPS的DOH有什么区别呢?
DOT 与DOH之间如何选择 所谓存在即合理,DOT和DOH之间各有优点: 从隐私层面来说,DOH更优秀。使用DOH时,DNS查询都被混淆进入了大量的HTTPS请求中,这使得与普通的流量无异,但这自然也会增大网络维护人员对DNS流量的可见程度。 从网络管理角度来看,DOT 更好。因为其运行在专用端口,网络维护人员可以针对DOT流量进行识别,可以监管和过滤 DNS 查询,这对于阻止恶意流量有很大帮助。另外,虽然DOH 查询与常规 HTTPS 流量混淆增加了隐蔽性但这可能导致不阻止其他 HTTPS 流量,则很难发现恶意行为。 总的来说,DOT和DOH都是为了增强DNS的安全性而提出,各自有其优点和缺点,具体可以根据我们使用场景侧重点进行设置。 结语 面对日益复杂的网络安全挑战,安全技术与DNS技术紧密结合是构筑安全防御体系的基石,提升DNS安全能力非常重要。无论选择哪种技术,都应该注意其对DNS生态系统的影响,以及其与其他DNS服务的兼容性和互操作性。因此选择专业的DNS服务机构则极为关键。 声明:此篇为ZDNS-国家工程研究中心原创文章,转载请标明出处链接:https://www.zdns.cn/h-nd-415.html
|