多达 95% 的 HTTPS 链接能被黑客劫持
支持 HSTS 比你想象的更容易。
由于服务器管理员没能正确设置 HTTP Strict Transport Security (HSTS),现今大量的 HTTPS 流量都能被轻松劫持。
HSTS 是一个被当前大多数 Web 浏览器所支持的 Web 安全策略,它可以帮助 Web 管理员保护他们的服务器和用户避免遭到 HTTPS 降级、中间人攻击和 Cookie 劫持等 HTTPS 攻击的危害。
95% 的 HTTPS 连接处于风险中
据最近的 Netcraft study 报告数据显示,当前多达 95% 的服务器所运行的 HTTPS 没有正确地设置 HSTS 或其它配置,以至于将 HTTPS 连接暴露于上述攻击风险之中。
更值得注意的是,Netcraft 在三年前进行的同样扫描,不正确配置的 HSTS 比例仍同现在一样。这表明 Web 管理员们并没有学会或被告知如何正确地设置 HSTS。
针对这些不安全的站点的最容易的攻击场景是 HTTPS 降级攻击,攻击者可以选择多种方式来迫使一个看起来安全的 HTTPS 连接根本不使用数据加密或使用更弱的算法,这样攻击者就可以进行数据窃取了。
据安全研究人员称,在这 95% 的没有正确设置 HSTS 的站点中,有很多银行和金融机构的网站。
你可以通过下面一行配置激活你的 HSTS
不需要费脑筋,你只需要将下述的一行配置添加到你的 HTTPS 服务器配置中即可实现 HSTS。
<span class="typ">Strict</span><span class="pun">-</span><span class="typ">Transport</span><span class="pun">-</span><span class="typ">Security</span><span class="pun">:</span><span class="pln"> max</span><span class="pun">-</span><span class="pln">age</span><span class="pun">=</span><span class="lit">31536000</span><span class="pun">;</span>
这一行可以让服务器告诉浏览器仅通过 HTTPS 连接来访问其内容,其策略有效期为长达一年的最大有效时间。
当上述配置生效后,即便用户在他的浏览器中输入 URL 时写了 “http://”前缀,浏览器仍将会自动切换“https://”。
更多关于 HTTPS 及 HSTS 的技术实现细节,请参阅以下文章:
- 跑步进入全站 HTTPS ,这些经验值得你看看
- 增强 Nginx 的 SSL 安全性
- 如何配置使用 HTTP 严格传输安全(HSTS)
- 大型网站的 HTTPS 实践(三):基于协议和配置的优化
- SSL/TLS 加密新纪元 - Let's Encrypt