前几天我强烈地意识到不安全网站的可怕之处。
我使用 Xfinity 作为互联网服务提供商,他们会提供一个集电缆调制解调器和路由器于一体的设备。
以下是简要背景。我使用 VPN,并且我发现直接使用他们的调制解调器时,VPN 无法正常工作。我不确定为什么。我没有深入研究,因为我有一个自己更喜欢的调制解调器。所以我把它插上,它确实可以工作……但效果并不好。连接断断续续且缓慢,即使在我自己的房子里也是如此。
我认为(也许?)这是两个路由器彼此紧挨着产生的相互干扰的 WiFi 信号。不要引用我这句话。我认为这是因为,幸运的是,我能够关闭 Xfinity 设备上的路由器,并且解决了问题。速度和连接恢复正常。值得称赞的是,速度非常快。Xfinity 设备有一个名为“桥接模式”的功能,专门用于关闭路由器以便您可以使用自己的路由器。我能够启用它,使用我自己的路由器,恢复速度,并连接到 VPN。
赢了!这种情况持续了几个月。然后最近我们地区发生了一些奇怪的大规模互联网中断。Xfinity 通知了我们。他们必须向我们的设备推送一些更新或其他操作,这导致一切再次崩溃。我为此奋斗了几天,但最终奏效的是关闭桥接模式,然后再次打开它(是不是总是这样?)。
在那些中间的日子里,我唯一能想到的联网方法是连接到这个路由器似乎正在发出的 SSID“xfinitywifi”。这个“xfinity”网络不同寻常,因为它有点像咖啡店或大学热点,会在弹出一个奇怪的浏览器模态窗口,您需要使用您的(Xfinity)凭据登录。这对他们的服务来说是一种增值服务。他们的路由器遍布各地,因此,如果您是他们的客户,您可以在许多地方获得互联网(“免费”)。我的未婚妻前几天去看医生,她在那里使用了它。
如果您连接到该网络,Xfinity 会对网站执行中间人攻击以向您发送消息。以下是一个我查看(不安全)网站的示例

中间人攻击,意思是,此网站的代码中没有此类弹出窗口。Xfinity 拦截了请求,发现它是一个网站,并强行将自己的代码注入到网站中。在这种情况下,是为了宣传一个应用程序并告诉您有关安全性的信息。真是充满了讽刺意味。
如果他们可以这样做,想象一下他们还能做什么。(强烈推荐收听:ShopTalk #250) 他们可以对广告更加强硬。用自己的广告替换现有的广告。安装键盘记录器。报告有关您正在做什么以及您在哪里以及的信息。您甚至可能根本不知道是否发生了任何事情。
这可能看起来有点像戴锡箔帽,但请意识到:他们已经获得了这样做的激励。所有激励措施都存在于继续从他们拥有的这种超级大国中榨取价值。
一些好消息:各个网站可以通过 HTTPS 阻止这种情况。这是一个非常好的步骤。使用 HTTPS,流量数据包会被加密,Xfinity 无法有效地读取或操作它们。通过元数据,他们可能能够猜测它们是什么(例如,知道您正在流式传输视频并限制速度),但他们无能为力。
这不仅仅是这一个不谨慎的行为,Xfinity 也使用此策略向您发送其他消息。
@chriscoyier @XFINITY 他们还如何警告您有关带宽或账单问题。这并不好玩。
— David Bisset (@dimensionmedia) 2017年2月24日
@chriscoyier @XFINITY 我看到一个 ISP 在必应主页上添加了广告。😕
— AKT (@itsakt) 2017年2月25日
这就是可怕的双重打击
- 真的吗?!您要求我在家里放一个广播公共 WiFi 热点的盒子
我无法关闭它?您会自动加入,但您可以关闭它。 - 真的吗?!您使用该热点对任何使用它的人执行中间人攻击?
我确定这不仅仅是 Xfinity,只是我现在正在使用它,并且亲眼看到了它。需要明确的是,我确定我签署了一些允许他们执行所有操作的文件,并且我认为他们所做的事情在技术上并不违法(再次,不要引用我这句话)。
对他们表示不满并告诉他们这件事是一个好方法。反击是另一种方法。互联网接入至关重要,因此您必须使用某些东西,但如果您有选择,是否有可供您使用的不执行此操作的 ISP?使用它们。金钱能说明一切。
再说一次,HTTPS 可以解决每个网站的这个问题。Jeff Atwood 很好地总结了这一点
您有不可剥夺的隐私权,无论是在现实世界中还是在网上。而且如果没有 HTTPS,您就没有网络隐私——来自您 WiFi 上的任何其他人、您的网络提供商、网站运营商、大公司或政府。
HTTPS 的性能损失已经消失,事实上,HTTPS arguably 在现代设备上的性能优于 HTTP。
使用 HTTPS 意味着没有人可以篡改您网络浏览器中的内容。五年前,这有点抽象的问题,但如今,越来越多的上游提供商积极地干扰通过其管道传递的数据。例如,如果 Comcast 检测到您有版权侵权,他们会在您的网络内容中插入横幅……所有您的网络内容!这就是好人场景的样子——或者至少是一家试图遵守规则的公司。想象一下,当某个人或某家大公司决定规则不适用于他们时会是什么样子?
迁移到 HTTPS 并非易事,并且会引入一些复杂的依赖项。很容易忘记续订证书并破坏整个网站。我并不是反对 HTTPS(恰恰相反),但您应该知道它需要一些前期工作和勤奋的维护。
如果您像我一样使用 WordPress,我写了一篇关于我两年前如何迁移到全 HTTPS的文章。它甚至涉及一些数据库工作,使 URL 指向正确的位置。
SSL 证书(HTTPS 的主要先决条件)也一直需要付费。现在不用了!Let's Encrypt 来了
Let's Encrypt 是一个免费的、自动化的、开放的证书颁发机构。
有一个正在开发中的 WordPress 插件。希望它能顺利进行。就在几天前,我使用 Let's Encrypt Plesk 扩展在 ShopTalk 的网站上启用了 HTTPS,这花费了我大约 5 分钟。我很快就会写一篇关于此的文章。
还可以查看非常优秀的迁移到 HTTPS 指南
一个社区网站,帮助网站所有者通过一个简单的测试流程迁移到 HTTPS。允许您根据多个平台(WordPress、Magento 等)、托管环境(cPanel、Apache 等)以及您对网站的控制/访问级别来过滤计划。

关于“要求我拥有一个盒子”——只要您的调制解调器符合他们的规格(许多 DOCSIS 3 都符合),您就可以运行自己的调制解调器。这与您的要点无关,您的要点是应该避免他们的做法,我只是想提一下。
他们让事情变得越来越困难,特别是如果您捆绑了数字语音,并且需要找到一个受支持的调制解调器。
我尝试禁用那个愚蠢的公共 WiFi 时遇到了错误,然后您的评论让我记起我正在使用自己的调制解调器。
我的移动 ISP(法国的 SFR)允许我将手机用作 WiFi 路由器。这很酷,但事实并非如此:它们执行相同的操作并修改浏览器中下载的 HTML 文件的代码。最糟糕的是,这不可见。他们没有显示任何弹出窗口,他们只是“优化”页面代码。
但他们做得非常糟糕:他们将所有 css 和 js 文件的内容内联到
<style></style>
和< script> </script>
标签中。为什么?WTF 知道,我认为是为了减少 http 查询的数量,但这样做迫使我下载每个点击的所有网站的所有 css 和 js 文件……甚至像 jQuery 这样的库!他们还更改所有
<img>
src 以使所有图像都通过一个 web 代理服务器,该服务器会压缩它们(并使它们变得丑陋,有时还会损坏)。这太疯狂了。我已经与他们为此争论了 5 年。他们没有改变任何东西。HTTPS 当然是解决这个问题的方案。为了解决“问题”,Comcast 强制用户安装“Xfinity 安全保护”根证书……
不要给他们任何想法。;P
看起来 Comcast 很可能已经有了这个想法,特别是如果他们在安装根证书的话。如果路由器被配置为代理服务器,它**可以**解密通过它的 SSL 流量。这里有一个解释:http://community.lightspeedsystems.com/lessons/ssl-explained-trusted-man-in-the-middle-proxy/
@Sam 你发布的关于解密通过的 SSL 流量的帖子真是太可怕了。我不知道网络过滤器可以拦截原始证书,然后基于原始证书创建自己的证书。肯定必须有某种保护措施,高度安全的网站和证书成本很高,我相信如果证书提供商找不到解决方法,很快就会损失金钱,幸运的是,企业比法国的吉尔斯反应更快,吉尔斯现在很可能是在那个糟糕的法国 ISP 支持中心的笑柄。这些都是一些令人担忧的发展。我依靠社区和开源、言论自由,最重要的是隐私倡导者来进行反击。网络属于我们。
真的,ISP 在 HTML 页面中注入内容是非常混蛋的行为。这应该被法律禁止。或者至少应该可选。
对于美国来说,在 Ajit Pai 领导 FCC 的情况下,这永远不会发生。在欧洲,仍然有机会。
如果你指的是“欧盟”,请记住,许多国家/地区的法律(例如除了荷兰之外几乎所有国家/地区)都将数据保留作为强制性现实。如果你指的是整个欧洲大陆,好吧,瑞士和冰岛还在。那里的法律相当不错。
但不要指望欧盟会做出非常重视隐私的决定。
嘿,Chris,感谢你支持迁移到 HTTPS 的指南!
如果你有任何改进的想法,请告诉我
有趣的故事。我也使用 Xfinity,但使用我自己的调制解调器。仅限互联网!我使用 VoIP 进行电话通信,我们没有电视。不值得为广告付费。所以用 Netflix 就好了。
但是,我有一些网站使用自己的专用服务器。大约半年以前,我使用 letsencrypt 集成了 HTTPS。它会自动更新你的证书,所以这是一个无需操作的解决方案。我为几个 WordPress 博客和 CMS 驱动的网站启用了 HTTPS。它需要一些工作,但可以在 10 分钟内完成。
另外,只需搜索 HTTPS 拦截即可。据我了解,即使这样也不安全!至于隐私……我们完蛋了!
但老实说,你以前是不是太天真了?互联网上根本不存在安全或隐私!一切都可以并且最终都会被破解或解密,这只是时间和精力的问题。
我也使用 Comcast,而且不仅 Comcast 可以注入代码,而且任何其他使用其公共 Wi-Fi 的人也可以注入代码的想法都让人有点担心。虽然只浏览安全网站可以提供帮助,但这并不能保证隐私。而且关闭路由器上的公共 Wi-Fi 热点绝对是一个好主意。
感谢分享,Chris!我使用 Xfinity,是的,他们这样做很扯淡,但并没有真正令人震惊,几乎是意料之中的。我从来都不是他们的粉丝,但在我所在的地方,我没有选择,而且我相信他们并不是唯一这么做的。HTTPS 绝不是完美的解决方案,但总比没有好。我宁愿在房门上装一把锁,也不愿不装……感谢你的指南,我已经把它转发给了几个人!
在你的网站上启用 SSL 很容易——但要控制所有那些 JS 和 CSS 资产,更不用说已经发布的内容了,例如,由于许多 CMS 存在一个糟糕的习惯,即添加绝对图像 URL 而不是相对/动态 URL……这很麻烦。
但如果这对普通开发者来说已经是陡峭的学习曲线了,他们至少应该了解一些系统管理员技巧——那么对于普通的网站所有者和“业余”程序员或网页设计师来说又会怎么样呢?随之而来的是很多“乐趣”。
再见,w0lf。