
1. 理解DNS over https(DoH)和Server Name Indication(SNI)的基本概念
DNS over https:
DoH是一种通过加密的HTTPS协议来传输DNS查询和响应的技术。传统的DNS查询是通过UDP或TCP以明文形式发送的,容易被中间人拦截和篡改。而DoH将DNS请求封装在HTTPS请求中,利用了HTTPS的加密和身份验证机制,增强了DNS查询的安全性和隐私性。
Server Name Indication(SNI):
SNI是一种在TLS(Transport Layer Security)握手过程中使用的扩展协议。当客户端通过HTTPS连接到服务器时,服务器需要知道客户端要访问的具体域名,以便提供正确的证书。SNI允许客户端在TLS握手的开始阶段就将请求的域名发送给服务器,使得服务器能够根据域名选择正确的证书进行后续的加密通信。
2. 分析SNI阻断的原理
SNI阻断通常是通过深度包检测(DPI)技术来实现的。在一些网络环境中,防火墙或代理服务器会检查TLS握手过程中的SNI信息。如果检测到特定的被禁止的域名(例如,一些被屏蔽的网站),它可以中断TLS连接,阻止客户端访问目标网站。这种阻断是基于对SNI中域名信息的识别和过滤。
3. DNS over https抵抗SNI阻断的可能性
隐私增强方面:
DoH在一定程度上可以隐藏DNS查询的内容。因为DNS查询是通过加密的HTTPS通道进行的,对于外部观察者(如执行SNI阻断的设备)来说,无法轻易获取域名相关的DNS查询信息。例如,如果用户通过DoH查询某个被屏蔽网站的IP地址,中间人无法直接从DNS查询中获取该网站的域名,这就增加了阻断的难度。
绕过基于SNI的检测:
当使用DoH时,域名信息在DNS查询阶段(通过加密的HTTPS)就已经被获取,而不是依赖于后续TLS握手过程中的SNI来确定目标网站。这样,即使在TLS握手过程中的SNI被阻断,只要已经通过DoH成功获取了目标网站的IP地址,理论上仍然可以通过直接使用IP地址来访问目标网站。不过,这种方式也有局限性,许多网站会根据域名来配置安全策略,直接使用IP访问可能会遇到其他问题,如证书错误等。
局限性:
虽然DoH可以隐藏DNS查询,但如果网络环境对HTTPS流量进行严格的审查,例如检查HTTPS请求的目的IP地址和证书等信息,仍然可以发现并阻断与被禁止域名相关的DoH请求。另外,一些网站可能会要求完整的TLS握手过程(包括正确的SNI)才能提供正常的服务,在这种情况下,即使通过DoH获取了IP地址,绕过SNI阻断也可能无法成功访问网站。
DNS over https在一定程度上可以抵抗SNI阻断,但不能完全消除这种风险,其有效性还取决于具体的网络环境和网站的配置等多种因素。
1186

被折叠的 条评论
为什么被折叠?



