HTTPS Everywhere是一个浏览器扩展,是 The Tor Project 和 Electronic Frontier Foundation 之间的合作项目,它可以自动将 HTTP URL 请求重写为安全的 HTTPS 替代方案(如果有)。它显然已经存在了大约十年,但直到最近有人问到它才出现在我的雷达上。试图研究它产生了一个混合的信息包。
无论需要如何,都不清楚它“开箱即用”有多大用处。各种文章提到需要用白名单和规则来补充默认值以获得全部好处。因此,实施它似乎不是一项微不足道的任务。
至少有一次,很大一部分网站仅支持 HTTP,因此使用此类软件只能提供有限的好处。似乎处理敏感个人数据的网站几乎已经转向仅使用 HTTPS。Google 实施了各种措施来激励网站转换为 HTTPS。目前尚不清楚 HTTP 仍然存在多大的问题(或者如果仍然存在,问题是否正在迅速消失)。
也不清楚转换为 HTTPS 的网站是否仅为旧版访问者保留 HTTP 链接,并自动重定向到他们的 HTTPS 网站。
主流浏览器似乎都包含了在可用时首选 HTTPS 站点的逻辑,或者正在实施它的过程中。至少谷歌(还没有看到任何关于其他搜索引擎的信息)有一个同名的程序(不清楚它是否实际上是同一个产品),可以自动尝试搜索时的 HTTPS 连接。
三年前,有一篇文章是关于“为什么需要安装 HTTPS Everywhere”。最近的一些文章建议人们应该停止建议人们安装此软件。要点似乎与已经复制该功能的浏览器有关。
因此,目前尚不清楚 HTTP 是否仍然是一个需要解决的实质性问题,如果是,那么首先尝试 HTTPS 链接的软件是否可以解决剩下的问题。这整个问题是否已被事件所取代?
我正在寻找上下文而不是意见(即,描述当前情况的事实而不是关于它好坏的意见,或者我是否需要该软件)。例如,现在主流浏览器是否提供了 HTTPS Everywhere 所针对的补救措施?HTTP 现在实际上是否仅限于没有个人数据的站点?是否有旨在使这成为非问题的政府或行业法规?换句话说,使我(和其他人)能够了解当前事态以形成我自己的观点并确定对我自己的相关性的客观信息的种类。
在混合内容和半心半意的网站配置的日子里,HTTPS Everywhere 过去肯定更加必要。现在的网络肯定更加成熟,任何网站都可以使用像HSTS这样的技术,并且为更大的玩家提供公钥固定(现在不赞成使用证书透明度- 感谢贾斯汀通知我)。
因此,扩展是否有用在很大程度上取决于您的个人用例。为同时提供 HTTP 和 HTTPS 服务的网站制定自定义规则是该扩展程序擅长的事情,我不知道有任何其他人做类似的工作。即使在网站不支持 HTTPS 的情况下,扩展也将确保对第三方域(例如 CDN)的任何引用都将升级到 HTTPS,即使原始引用是协议中立的。
作为 HTTPS Everywhere 之前的规则集贡献者,我可以提供以下内容。
HTTPS Everywhere 项目会定期测试所有重写规则并禁用那些因任何原因而失败的规则。这确保了对更改的网站配置的相对快速响应,但可能导致大部分规则集被禁用,除非花费大量维护工作。应该补充中央规则集的建议主要源于对这些中央规则集可以而且应该被纠正的无知。这是志愿者可用性的问题。
在将 Web 迁移到纯 HTTPS 方面取得了重大进展,但许多站点仍然配置错误,还有更多站点没有实施防止首次连接攻击所需的关键 HSTS 预加载保护。此后不久,实施此保护的站点将从 HTTPS Everywhere 的规则集中删除。
Web 浏览器技术非常有用,但它们在 HSTS 预加载列表之外所做的任何事情都只是很高兴拥有。HTTPS Everywhere 为尚未通过浏览器启用 HSTS 并且本质上需要自定义社区维护的 HSTS 配置的站点提供权宜之计。
总之,安装它并没有什么坏处。再忍受几年,希望这一切都会变得多余。
虽然 HTTPS 和 HSTS 意识的提高确实推动了安全标准的发展,但 HTTPS Everywhere 扩展仍有用处:
HSTS 非常擅长防止 HTTP 降级攻击,但需要注意的一点是它基于首次使用模型的信任。这意味着您必须通过 HTTPS 首次连接到该站点,否则 HSTS 保护可能会受到损害(例如,HTTP 到 HTTPS 301 重定向是攻击的机会之窗)。
HSTS 通常使用 HTST 预加载列表来防止这种情况,这是一个内置在浏览器中的域列表,它强制第一个连接对这些站点仅使用 HTTPS。然而,进入列表(并等待在浏览器中应用更改)需要一些时间,而且并非每个站点都费心注册自己。这是浏览器扩展通过确保所有第一个连接仅通过 HTTPS 来提供帮助的地方。
另一个较小的情况是网站的 HTTPS 位于与通常路径不同的路径上。例如,一个网站可能有http://www.example,而他们的安全站点位于https://secure.example上。HTTPS Everywhere 保留一个域数据库,以确保您访问正确的 HTTPS URL。
脚注:公钥固定也有帮助,但即使是 Chrome 也决定将其删除,因为采用率低并且有可能成为脚枪。
我注意到仍然有几个网站支持 https,但不将 http 流量重定向到 https。但是,该扩展程序几乎没有以前那么有用了。几年前,youtube、wikipedia 和 reddit 等网站支持 https,但默认为 http。无处不在的 HTTPS 解决了这个问题,并且仍在为少数仍然默认使用 http 但支持 https 的网站解决问题。
这肯定会引起争议,但尽管如此,这就是我的看法......
HTTPS 的必要性存在一些误解,这很可能是故意传播的。就像每一个半真半假的事实一样,论点中有一些真理,但也有很多谎言。
HTTPS(或 TLS)确实具有一些非常有用和理想的属性(身份验证和机密性),这些属性对于某些(想想银行)是绝对必需的,并且对于相当多的,也许是大多数服务来说可能是必需的。基本上任何包含个人身份数据的东西。
在这种情况下,有很多事情完全不需要 HTTPS,另一方面,HTTPS 使用不当,即混合内容,可能非常不安全(几乎就像没有 HTTPS),这就是 HTTPS 无处不在的理由第一名。是的,鉴于某些网站确实提供了具有混合内容的强制性 HTTPS服务,它确实有一些优点。
当然,还有一些人有大量的偏执狂,并且正在积极推广,关于整个世界实际上对每个人不重要的小生活中的每一件小事、不重要的事情都感兴趣。果然,在将您今天所做的一切(包括照片和地理标签!)发布在 Instagram 上之后,全世界都可以阅读它,做得很好,通过加密渠道安全地完成了。此外,重要的是没有人知道您在互联网上所做的一切。那个,还有这个阴谋,他们改变新闻文章并向你提供虚假信息,呃......我不知道是为了什么(实际上,有一些事实也是如此,因为这正是谷歌所做的——只是在不同的层面上,改变的不是实际的内容,而是你所显示的内容,但这与使用的 HTTPS 无关) . 灵丹妙药 HTTPS 可以防止所有这些坏事!很明显,一切都需要 HTTPS/TLS。
无论如何,即使使用得当,HTTPS 仍然无法提供您想要的服务。出于一个原因,整个证书链的工作假设是您可以“信任”通过销售证书赚钱的人(例如 Comodo),而实际上没有理由信任他们。然后,不仅是政府,还有大型企业(还有学校、防病毒软件,还有谁知道还有谁……)通过安装根证书来积极颠覆证书链,其唯一目的是有效地破坏系统。
所以,不,不能保证通信是保密的,不,它们不是以可靠的方式进行身份验证。反正没有你想的那么多。使用雇主的笔记本电脑?用你孩子的电脑?丢失的原因。您的计算机上安装了防病毒软件?所有赌注都是开放的。
但至少你知道一个网站是安全的,你浏览器上的绿色小东西告诉你,它会警告有风险的网站。是的,每个人都可以免费获得非绿色证书(避免可怕的警告),以及花很少的钱获得绿色徽章证书。它完全没有任何意义。
我非常希望您也启用 TLS 以访问您的 gmail 帐户。因为,你知道,这使它安全,你不希望有人在网上阅读你的邮件,是吗。果然,谷歌不会当它们存储在他们的服务器上时,阅读您完全未加密的邮件。果然,作为一家美国公司,他们不会将内容提供给特定的政府组织。
现在,您必须在任何地方都使用 HTTPS 的真正原因是 Google、Microsoft 或 Amazon 等公司以及所有出售带宽的供应商都希望这样做。
他们不希望每个人和他们的祖母都将信用卡计算机设置为透明的网络代理,这不仅可以通过缓存资源来减少带宽消耗,还可以过滤掉他们的广告和跟踪内容。当然,你总是可以添加一个做同样事情的浏览器插件。除了,您必须在家里的每台计算机上维护它,并且在某些(Fire TV)上,如果不使设备无法使用,这是完全不可能的,或者您必须根植它(想想 Android 手机),这也不一定是破坏- 免费(非常感谢三星诺克斯,太棒了)。
幸运的是,您可以针对所有设备在全球范围内减少废话在您的网络中通过在您的有线/DSL调制解调器后面安装一个透明代理,这将花费您 20 欧元和 3 分钟的设置时间。哎呀,真是一场灾难!您将准确下载他们想要的版本(包括“个性化”),以及他们想要的时间,包括所有信标和诸如此类的东西。所以这就是你到处都需要 HTTPS 的真正原因。
具有讽刺意味的是,那些推广 HTTPS 并强调例如 TLS 不仅隐藏实际内容的公司,而且还隐藏您单击的确切 URL(如
http://somesite.com/dirty_porn_pic.jpg
)等等......实际上,他们正是那些不遗余力地指纹的公司您的系统,识别您的身份,保留无限的历史记录,跟踪您所做的每一次点击,并收集所有可能的信息,包括您去哪里、何时以及您的心跳。或者,您计算机上任何文件的内容。有没有想过亚马逊是如何做到的,所以在你五分钟前在手机上搜索谷歌 XYZ 后,他们偶然在你的电脑上推荐了 XYZ?不同的公司,不同的设备,一个人不可能知道这两种设备都属于同一个人。我实际上确实想知道它是如何完成的,因为据我所知,他们为实现这一目标而需要做的任何事情都肯定不符合法律(至少在欧盟)。但显然,这不是障碍。HTTPS 实际上有助于做所有这些边界合法的事情,既通过提供虚假的安全感,通过掩盖正在发送的内容,也不再让人们问:“嘿,无论如何来自我的设备的加密流量是什么!? " . 因为,您知道,所有流量都应该加密,这是一件好事。加密的东西并不可疑,它可能是无害的。没有人在隐瞒什么。
我一直认为HTTPS Everywhere是为了防止SSL-strip攻击而开发的,但也许这只是一个副作用。SSL-strip 仍然是一个问题,使用 HTTPS Everywhere 可以阻止它。
如果攻击者可以欺骗用户对第一个请求使用 HTTP,他可以拦截通信,使用 HTTPS 联系服务器,修改响应并将其返回给用户。例如,可以修改结果中的所有链接,使它们不再使用 SSL,或者可以重写它们以联系受攻击者控制的 HTTPS url。
这是 HTTPS-everywhere 介入的地方,第一个 HTTP 请求将作为 HTTPS 执行,因此攻击者没有机会拦截流量。
截至 2021 年 8 月,Firefox 已将其嵌入到他们的浏览器中,Chrome 将在未来几个月内拥有它。在 Firefox 中,您需要进入其首选项以激活它(默认情况下它是关闭的)。
所以你不再需要这个扩展。
但你可能应该研究像这样的扩展
ublock起源和
痕迹
为了更好的保护。