新闻详情

下一代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体系中的多个环节都采用了缓存机制。这可能导致当缓存数据被篡改后,返回给用户的将是错误的结果。


DNS的安全传输服务可以应用在浏览器、物联设备、网关路由等多个场景,为了提高用户的安全性和隐私性,需要对DNS查询进行加密。使用额外的DNS安全手段例如DOT和DOH技术发送DNS查询,对维护互联网安全、保护隐私和稳定解析有重要意义。


图片



DNS over TLS —— DOT介绍


DOT 即 DNS Over TLS,是基于TLS加密DNS查询并确保其私密性和安全性的标准。可以发现,在DOT中TLS是很重要的,那么TLS是什么呢?


  • TLS即Transport Layer Security,其前身是 SSL(Secure Socket Layer,安全套接层)。它位于 TCP 与应用层之间。用于对应用层的数据进行加密传输,从而保证应用层数据的安全性。


图片


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是什么呢?


  • 超文本传输协议(HyperText Transfer Protocol,简称:HTTP)是一种用于分布式、协作式和超媒体信息系统的应用层协议,是因特网上应用最为广泛的一种网络传输协议。

  • HTTP-over-TLS(简称:HTTPS ,RFC2818)是将HTTP协议数据的传输封装在TLS安全隧道中,从而保证HTTP数据传输的安全性和隐蔽性。


DOH的一大优点是其能便捷融合到HTTP生态圈,例如使用HTTP的缓存、重定向、代理、身份验证和压缩等。


DOH将DNS请求和响应封装到HTTP请求的主体,然后在客户端跟递归服务器之间建立一个TLS会话,通 过HTTPS协议传输封装DNS请求的HTTP请求。DOH的封装示意图如下:


图片


跟传统DNS相比,DOH并不会基于UDP在 53 端口上发送纯文本,而是通过加密 HTTPS 连接进行DNS查询。


因为DOH本质上是HTTP对DNS的封装,它需要具备以下关键点:


  • DoH推荐使用的最小HTTP版本是HTTP/2。

  • DoH-Server必须同时支持HTTP的GET方法和POST方法。

  • DoH 中通过 HTTPS URL 发送 DNS 请求, 服务器需要支持一个或多个 URI 模板。

  • DoH 服务器和客户端必须支持 application/dns-message 类型, 另一种广泛支持的类型是 application/dns-json, 表示JSON 格式的 DNS 消息, 但不强制要求服务器支持该格式。

  • DoH的DNS应答消息应该包含在HTTP的应答状态码为2xx的报文中。


将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 之间最重要的区别是使用的端口不同。DOH 则使用端口 443,DOT 仅使用端口 853。DOT 具有专用端口,但即使请求和响应本身都已加密,DoT 流量却是可以被发现的。DOH 则相反,DNS 查询和响应可以混淆在其他 HTTPS 流量中。下表展示了DOT的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
核心网络设备
ZDNS Cloud
顶级域名
友情互联:
_______________________________________________________________________________________________________________________________
邮箱:support@zdns.cn
7*24小时客户服务
咨询电话:400-6688-876
标签:
请输入要描述的内容进行内容补充 请输入要描述的内容
01
03
请输入要描述的内容进行内容补充 请输入要描述的内容
_______________________________________________________________________________________________________________________________
互联网域名系统北京市工程研究中心有限公司 版权所有 © 2022 
官方微信
DDI网络核心服务
顶级域名申请
IP 地址管理
DNS 安全
智能 DNS
域名资质
两地三中心
流量调度
DNS 云解析
新顶级域直通车
________________________________________________________________________________________________________________________________