我观察到有时我的 facebookhttps
连接会http
在使用该网站一段时间后更改。ISP 或介于两者之间的人是否有可能通过限制网速来做这样的事情?或者,这样的事情怎么可能?我认为 facebook 和 google 一样,总是https
. 此外,这发生在我https everywhere
为 Mozilla 安装插件时。
Facebook 有时会放弃 SSL。为什么?
并非 Facebook 中的所有应用程序都支持 HTTPS,因此如果您在 Facebook 上玩游戏或使用其他第三方应用程序,您将收到一条通知,说明这些应用程序只能通过 HTTP 访问。当您继续时,您的连接将降级为 HTTP。
Facebook 使用HTTP 严格传输安全 (HSTS)(请参见下面的屏幕截图)。这只是意味着即使有人试图将您的连接降级到 HTTP,您的浏览器也永远不会与 Facebook 建立 HTTP 连接。大多数浏览器(Chrome、Firefox、IE)现在都支持此功能。需要注意的是,您第一次需要与 Facebook 建立“安全”连接。这样,浏览器将看到 HSTS 并记住,在给定的秒数内,当前域只能通过 HTTPS 联系。Facebook HSTS 标头指示浏览器使用 HTTPS 连接 180 天。
或者,如果您使用 Chrome,它有一个预加载的 HSTS 网站列表。这意味着您的浏览器将开箱即用地与这些网站建立 HTTPS 连接。所以浏览器不需要等待 HSTS 标头。在撰写本文时,该列表包括所有 Facebook 子域。
所以回到你的问题,我可以想到几种可能性:
- 您使用的浏览器版本不支持 HSTS。
- 您的浏览器没有看到和记住 HSTS。
- 每次访问 Facebook 时,都会清除所有本地缓存,因此,您的浏览器永远不会记得始终使用 HSTS。
- 您正在使用不属于 Facebook 域且没有 HSTS 的 Facebook 应用程序。
- 干扰 Facebook 连接的恶意软件感染。
要验证这一点,请获取最新版本的 Chrome 并尝试访问 Facebook。如果问题仍然存在,请使用另一台计算机执行相同的操作。这可以给你一个线索,哪个可能更有可能。
编辑 1:Firefox 还支持HSTS 预加载列表
可能有很多事情,但是......节流与速度有关,与协议无关。
您表明自己安装了一些东西并开始了,您是否尝试将其(附加组件)关闭然后再打开?
您应该注意这可能是 MITM(中间人)的一部分,有人在窃听。如果下降到 HTTP 也触发更新或重新输入密码的请求,您应该停止并调查。
然而,最有可能的是,您安装的附加组件中存在错误或与另一个附加组件发生冲突。
网络速度与此无关。正如圣人所提到的,它很可能是附加组件。
从攻击的角度来看,这可以通过在 MiTM 期间执行“SSL 剥离”来实现。SSL 剥离是 MiTM 的原理,即“将所有 HTTPS 链接切换到 HTTP”。有一个关于这个的有趣的 defcon 讨论(点击这里查看)。
在演讲中,演讲者 Moxie Marlinspike 展示了 SSL 剥离即使在 google 上也很有效。自那次谈话以来,我相信谷歌已经加强了他们的安全性,使其只能使用 SSL。然而,这只是表明,在某一时刻,即使是谷歌也容易受到这种攻击。
编辑:我看到关于您提到 SSL Strip 的问题的另外两条评论。对于 MiTM 来说,这是一个非常有趣且有效的攻击媒介。