Mar*_*ary 63 domain-name-system domain isp block
我正在帮助运营一个网站,该网站因政治原因被之前曾尝试阻止 Telegram (RosKomNadzor)的同一俄罗斯机构阻止。这不是第一次发生,以前我们只会更改域,但这有其自身的影响和读者流失。
他们只阻止域名,而不是 IP(无论如何我们都在使用 Cloudflare)。我们正在使用 HTTPS,但 ISP 仍然能够以某种方式从他们的客户端获取有关我们的请求的 DNS 信息。从技术上讲,我们可以建议我们的读者配置他们的/etc/hosts,但这不是一个可行的选择。
是否可以在我们的服务器端做一些事情来加密/混淆 DNS 信息,而无需用户进行任何更改/安装软件?还是等待 DNS over HTTPS 成为我们唯一的选择?
来自俄罗斯的爱。
Esa*_*nen 58
不幸的是,绕过审查最好在客户端解决,因此没有多少服务器端设置可以帮助解决这个问题。您可以建议您的用户使用 VPN、Tor和/或带有 DNS-over-HTTPS ( RFC 8484 ) 或 DNS-over-TLS ( RFC 7858 ) 的公共 DNS 。
您假设审查方法与 DNS 有关,但您是否真的对此进行了测试?您是否知道ClientHello中的服务器名称指示(SNI, RFC 6066, 3 ) 是未加密的,也可能用于阻止 TLS 连接?幸运的是,TLS 加密客户端 Hello ( draft-ietf-tls-esni-09 ) 正在开发中,可以提供帮助。关于该主题的更多阅读:
(我们通常不会在 Q/A 帖子中添加任何问候,但您的 007 参考是金子!)
dro*_*kie 19
大多数俄罗斯供应商通过拦截 DNS 流量并动态更改它来实现 Inquisition 请求(这很容易,因为它是未加密的),有效地使用了中间人方案,例如,所有 Ertelecom 附属的 ISP 都是使用这种方法。在这种情况下(只需比较客户端解析的 IP 与真实 IP,就可以轻松确定)服务器端无法做任何事情:即使您将实施 DNSSEC 并且签名答案将开始流动,所有这些技术都可以当涉及到您的域时,正在完全破坏客户端名称解析堆栈(但是,这纯粹是一个理论,但您可以轻松证明我错了;如果我错了)。
不幸的是,绕过 DNS MitM 的所有可用解决方案都需要应用于客户端,而不是服务器端。
众所周知,俄罗斯政府授权的审查使用 DNS 欺骗(这就是阻止选择色情网站的方式)。
他们还使用基于 IP 地址/范围的数据包过滤器(这就是他们试图阻止 Telegram 并失败的方式)。
一个想法:基于时间的域名!
RosComNadzor 是一个政府机构,所以他们的反应应该有点慢。
DOS他们!例子:
等等...
您每周都需要一个新域名(10 美元),而您可爱的 RosKomNadzor 官僚们并不是那么能干。
您的用户应该记住将最后一个星期日的日期添加到域名中。如果情况变得更糟,你也可以走得更快,只是更贵一点(你也可以为那么多域名协商一个更好的价格)。
在某些时候,他们也可以根据您的计划调整他们的程序。你只需要稍微改变它。
通过 IPFS 使您的内容可用! https://ipfs.io/ 这是互联网的去中心化版本。每个访问您网站的客户都将您的内容副本存储在他们的机器上。