DNS over TLS 如何防止您的 ISP 看到您访问的网站?

信息安全 tls dns 匿名 网络服务商
2021-09-04 06:55:21

例如,我在 Android Pie 中使用 DNS over TLS。有时候是这样的:

  1. 我访问了一个网站 (google.com)。

  2. 我向 DNS 服务器发送一个 DNS 查询,响应是 google.com 的 IP 地址。ISP 知道我联系了 DNS 服务器,但不知道查询或响应。

  3. 接下来,我连接到 google.com 的 IP。ISP 知道我现在联系了 google.com 的 IP。

然而,新闻文章(以及本网站中的一些问题)表示,如果您使用基于 TLS 的 DNS,ISP 将看不到您访问的网站。我在这里错过了什么吗?

2个回答

它没有。DNS over TLS 并非旨在保护您的隐私免受 ISP 的侵害。与 HTTP 一样,DNS 也容易受到 MITM 的攻击。DNS over TLS 提供与 HTTPS 相同级别的安全性。

由于基于 TLS 的 DNS 已加密,因此您的 ISP 看不到您查询的域,但他们不必这样做。TLS 使用服务器名称指示,这是一种TLS 扩展,出现在HTTP 主机标头的外部SNI 字段包含您要与之交谈的服务器的域名。访问该站点后,您的 ISP 可以看到,除非您使用 VPN。

Cloudfare 最近为 Cloudfare 托管的网站发布了对加密 SNI(ESNI) 的支持如果您也使用 DNS over TLS,这实际上可以防止您的 ISP 看到您访问的站点。但是要让 ESNI 工作,浏览器必须原生支持它。Mozilla 在 Firefox Nightly 中获得了对 ESNI 的支持,因此您现在可以浏览 Cloudflare 网站,而不会将纯文本 SNI TLS 扩展泄露给在途观察者 ISP、咖啡店老板、防火墙

使用基于 TLS 的 DNS 将阻止 ISP 读取/更改您的 DNS 流量。

使用未加密的 DNS,ISP 可以监控您的 DNS 流量或将流量重定向到他们自己的 DNS 服务器。(我不确定这是否在实践中做过)

要隐藏您正在访问的网站,您需要使用 VPN,这将阻止 ISP 看到您流量的真实目的地。