|
Cloudflare友情提醒:使用SNI的必要性
楼主
来源:相思陶醉@kr12751666 10/30/2021 9:45:00 AM
你的浏览历史有多 私密?
当您通过HTTPS访问一个站点时,您希望没有人您和您的连接终止的位置之间的操作的。某种程度上来说,这是HTTPS能做到的。如果您访问您的银行网站,HTTPS可以有效地防止发送到或从该网站发送的内容(例如,您的用户名和密码或您的银行帐户余额)泄露给ISP或监视您网络连接的任何人。 尽管发送到HTTPS站点或从HTTPS站点接收的内容是受到保护的,但是还有两种方式可以很容易地观察到您访问过该站点。传统上,其中一种是通过DNS。默认情况下,DNS查询是不加密的,因此您的ISP或任何其他人都可以看到您要到达网络上的哪个地方。Cloudflare 1.1.1.1——一个免费的(而且速度很快的)公共DNS解析器,支持DNS over TLS和DNS over HTTPS。 1.1.1.1已经取得了巨大的成功,我们显着提高了通过加密连接发送DNS查询的百分比。然而,批评人士正确地指出,你访问的网站的身份仍可能以其他方式泄露。最有问题的是所谓的服务器名称指示(SNI)扩展。 为什么使用SNI 从根本上说,SNI的存在是为了允许您在一个IP地址上托管多个加密的网站。早期的浏览器没有包含SNI扩展。因此,当发出建立HTTPS连接的请求时,web服务器没有太多信息来继续进行,并且只能回收web服务器正在的每个IP地址的单个SSL证书。 这个问题的一个解决方案是,创建具有多个主题备用名称(SANs)的证书。这些证书将加密多个域的流量,这些域都可以托管在同一个IP上。Cloudflare就是这样处理来自不支持SNI的旧浏览器的HTTPS流量的。然而,我们限制这一功能仅供我们的付费客户使用,这和SANs不是一个很好的解决方案的原因一样:它们是一种黑客攻击,管理起来很麻烦,如果包含了太多域,可能会降低性能。 最具弹性的解决方案是SNI。Cloudflare认为的一个合理的类比是,把它想象成一个邮政信封。信封里的东西是受保护的,邮差是看不到的。而信封外面是街道地址,邮差根据它来将信封送到正确的建筑位置。在互联网上,web服务器的IP地址就相当于街道地址。 然而,如果你住在一个多单元的大楼里,仅仅通过一个街道地址是不足以把信封送到正确的收件人手中的。为了补充街道地址,你要写上一个公寓号码或收件人的名字。这相当于SNI。如果web服务器承载多个域,SNI可以确保将请求路由到正确的站点,以便返回正确的SSL证书,从而能够加密和解密任何内容。 |