如何用自签证书绕过SNI阻断?

https://2049bbs.xyz/t/708
 14楼说用自签证书可以解决SNI, 但没说具体怎么操作.
komorebi 旧品,id已改,反正就是渣渣。
SNI干扰(或者说是检测/重置)的原理是读取SNI中包含的明文的域名,因为目前TLS的SNI扩展标准中SNI信息是不加密的。

自签名证书,准确地说是本地自签名证书,基本思路非常简单,就是不发送SNI,也就是使用了TLS标准订立但SNI扩展还没有提出时的策略:服务器对其所托管的所有域名签在一个证书里。

但是现在SNI的广泛普及导致了大多数TLS客户端(下载工具/浏览器等)不会不发送SNI。所以就有了本地做反向代理把客户端的SNI“剥掉”的方法。

  1. 将目标域名的IP指向本地搭建的反向服务器;
  2. 本地反向服务使用对目标域名进行签名的证书;
  3. 在本地服务的上游访问中关闭发送SNI。


这个方法成立的前提是目标服务器的IP提供了无SNI兼容,wikipedia和tumblr等都可以,但托管在cloudflare反向代理的网站基本上是不行的。
在浏览器中访问
https://<目标域名的IP>/

如果显示证书错误就说明可行,而如果是SSL_ERROR_NO_CYPHER_OVERLAP就不行。

P.S. cloudflare意图推广的是现在仍处于草案阶段的ESNI,即加密SNI,目前正逐步在其DNS服务器(1.1.1.1)及其托管的域名启用该方案。就是从它的DNS服务器获得它的IP访问它提供的数据。说得难听点,被骗了都不知道。

要发言请先登录注册

发起人

8oso 新注册用户

状态

  • 最新活动: 2019-03-05
  • 浏览: 5505