Cloudflare友情提醒:使用SNI的必要性

你的浏览历史有多 私密?

当您通过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证书,从而能够加密和解密任何内容。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值