HTTP严格传输安全(HTTP Strict Transport Security, HSTS)头是一项机制:在特定域名下,网站和浏览器之间通信必须都通过https传输。这有助于保护信息从非加密请求中泄露。
考虑这个安全措施的重要意义,测试的关键在于验证网站是否使用这个HTTP头,来确保所有数据都是从浏览器加密传输到服务器端的。
HTTP严格传输安全特征使得web应用能够通过使用特别的响应头告诉浏览器不要使用HTTP与特定服务器建立连接。相对的,所有访问请求都应该自动通过HTTPS建立连接。
HSTS头使用两个指令:
下面是一个HSTS头实现的例子:
Strict-Transport-Security: max-age=60000; includeSubDomains
使用HSTS头的应用必须检查如下几个可能产生的问题:
可以使用劫持代理或者curl来测试HSTS头是否存在与服务器应答中,如下所示:
$ curl -s -D- https://domain.com/ | grep Strict
期望结果:
Strict-Transport-Security: max-age=...