Skip to main content
Re:Linked

Cheetsheet:启用 ECH

· #security · 约 1.4k 字 · 浏览量: 122

关于 ECH 的希介细节,我们过去的一篇文章有详细地讨论。

ECH 能做到……

tl;dr 浏览器访问的域名不会通过 SNI 泄露给 ISP 等中间人。

ECH 不能做到……

  • ECH 不能保护未加密 DNS 泄露用户访问域名的情况。
  • ECH 需要网站端支持。如果网站端不支持,ECH 无法启用。
  • ECH 需要用户端 DNS 解析 HTTP 记录的支持。如果用户系统/浏览器不支持,ECH 无法启用。
  • ECH 只支持 TLS 1.3(及更高版本?如果有的话)。

如何启用 ECH

Firefox 自 119 版本起,Chrome 自 117 版本起已默认启用 ECH。在良好的网络下,较新版本的 Firefox/Chrome 浏览器应已默认启用 ECH,并在访问支持 ECH 的网站时使用 ECH。

(Edge 的状况可能和 Chrome 相同。)

测试站点

  • https://tls-ech.dev,显示 "You are using ECH. :)" 即为 ECH 已启用。
  • https://defo.ie/ech-check.php,显示 "SSL_ECH_STATUS: success" 即为 ECH 已启用。
  • https://www.cloudflare.com/ssl/encrypted-sni/,Secure SNI 显示为打勾即为 ECH 已启用。
  • Cloudflare 免费 plan 站点的 /cdn-cgi/trace,例如 https://outv.im/cdn-cgi/trace;其中显示 sni=encrypted 即为 ECH 已启用。
  • 对于 Chrome,在 DevTools 的 "Privacy and Security" 页,左侧 Security 标签下查看所访问网站的信息时[1],使用了 ECH 的网站右侧会显示 "Encrypted ClientHello: enabled"。

如果 ECH 没有生效……

  • 如果配置了系统代理或 HTTP/HTTPS/SOCKS 等代理,需要关闭代理。
  • 如果系统 DNS 解析可能不支持 HTTPS 记录,请尝试启用 DNS over HTTPS(Chrome 的 "Secure DNS" 或 Firefox 的 "DNS over HTTPS" 并选择 "Max Protection")。
  • Safari 目前似乎尚未实现 ECH。
  • 有时在清空缓存后刷新页面后,ECH 会生效。
  • 如果用户设备解析 DNS 记录较慢,浏览器可能不会等待 ECH 所需信息获取完成,因此不会使用 ECH。
  • 对于 Firefox,可以依照此列表检查 ECH 是否被相关 about:config 配置禁用(例如 network.dns.echconfig.enabled。亦可参考 Firefox 相关知识库文章

  1. 如果列表显示 "Reload to view details“,请刷新页面。 ↩︎

评论

您可以选填邮箱地址以接收关于评论回复的邮件通知。
0 条评论
  • 最新
  • 最热
  • 最早
  • 作者
关闭评论
吐槽大欢迎~!


LIKE