多达 95% 的 HTTPS 链接能被黑客劫持
由于服务器管理员没能正确设置 HTTP Strict Transport Security （HSTS），现今大量的 HTTPS 流量都能被轻松劫持。
HTTPS HSTS SSL
121.33.37.130
缺省最高安全性不就行了么
文剑一飞 [Chrome 49.0|Windows 7]
2016-03-22T09:29:51.000
60.176.28.130
为什么我设置了http没有强制跳转https
来自浙江杭州的 Chrome 49.0|Windows 8.1 用户
2016-03-22T23:03:19.000
114.253.20.90
你确认这个 HSTS 头发送了？
linux [Chrome 49.0|Mac 10.11]
2016-03-23T15:20:35.000
由于服务器管理员没能正确设置 HTTP Strict Transport Security （HSTS），现今大量的 HTTPS 流量都能被轻松劫持。

> 
> 支持 HSTS 比你想象的更容易。
> 
> 
> 


由于服务器管理员没能正确设置 [HTTP Strict Transport Security （HSTS）](/article-5266-1.html)，现今大量的 HTTPS 流量都能被轻松劫持。


HSTS 是一个被当前大多数 Web 浏览器所支持的 Web 安全策略，它可以帮助 Web 管理员保护他们的服务器和用户避免遭到 HTTPS 降级、中间人攻击和 Cookie 劫持等 HTTPS 攻击的危害。


![](/data/attachment/album/201603/22/052822i80cb38nb6imb08i.png)


### 95% 的 HTTPS 连接处于风险中


据最近的 [Netcraft study](http://news.netcraft.com/archives/2016/03/17/95-of-https-servers-vulnerable-to-trivial-mitm-attacks.html) 报告数据显示，当前多达 95% 的服务器所运行的 HTTPS 没有正确地设置 HSTS 或其它配置，以至于将 HTTPS 连接暴露于上述攻击风险之中。


更值得注意的是，Netcraft 在三年前进行的同样扫描，不正确配置的 HSTS 比例仍同现在一样。这表明 Web 管理员们并没有学会或被告知如何正确地设置 HSTS。


针对这些不安全的站点的最容易的攻击场景是 HTTPS 降级攻击，攻击者可以选择多种方式来迫使一个看起来安全的 HTTPS 连接根本不使用数据加密或使用更弱的算法，这样攻击者就可以进行数据窃取了。


据安全研究人员称，在这 95% 的没有正确设置 HSTS 的站点中，有很多银行和金融机构的网站。


### 你可以通过下面一行配置激活你的 HSTS


不需要费脑筋，你只需要将下述的一行配置添加到你的 HTTPS 服务器配置中即可实现 HSTS。



```
Strict-Transport-Security: max-age=31536000;
```

这一行可以让服务器告诉浏览器仅通过 HTTPS 连接来访问其内容，其策略有效期为长达一年的最大有效时间。


当上述配置生效后，即便用户在他的浏览器中输入 URL 时写了 “http://”前缀，浏览器仍将会自动切换“https://”。


更多关于 HTTPS 及 HSTS 的技术实现细节，请参阅以下文章：


* [跑步进入全站 HTTPS ，这些经验值得你看看](/article-6723-1.html)
* [增强 nginx 的 SSL 安全性](/article-5374-1.html)
* [如何配置使用 HTTP 严格传输安全（HSTS）](/article-5266-1.html)
* [作为 HTTPS 的骨灰粉，怎么可以不加入 HSTS 预载入列表](/article-6754-1.html)
* [大型网站的 HTTPS 实践（三）：基于协议和配置的优化](/article-5393-1.html)
* [SSL/TLS 加密新纪元 - Let's Encrypt](/article-6565-1.html)
