本文编写于2487天前,其中某些信息可能已经过时了

日期: 栏目:文章分享 浏览:841 评论:0

请注意,本文编写于 2487 天前,最后修改于 726 天前,其中某些信息可能已经过时。

概述

国际互联网工程组织IETE正在推行一种新的Web安全协议HTTP (HSTS)

采用HSTS协议的网站将保证浏览器始终连接到该网站的HTTPS加密版本,不需要用户手动在URL地址栏中输入加密地址。

该协议将帮助网站采用全局加密,用户看到的就是该网站的安全版本。

HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。服务器开启HSTS的方法是,当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含--字段。非加密传输时设置的HSTS字段无效。

比如, 的响应头含有--: max-age=; 。这意味着两点:

在接下来的一年(即秒)中,浏览器只要向或其子域名发送HTTP请求时,必须采用HTTPS来发起连接。比如,用户点击超链接或在地址栏输入 ,浏览器应当自动将 http 转写成 https配置burpsuit谷歌浏览器证书及HSTS问题处理,然后直接向 发送请求。

3k引擎免费登陆器配置器 非连击0627版_herom2登陆器配置器下载_配置burpsuit谷歌浏览器证书及HSTS问题处理

在接下来的一年中,如果 服务器发送的TLS证书无效,用户不能忽略浏览器警告继续访问网站

作用

HSTS可以用来抵御SSL剥离攻击。SSL剥离攻击是中间人攻击的一种,由Moxie 于2009年发明。他在当年的黑帽大会上发表的题为“New For SSL In ”的演讲中将这种攻击方式公开。SSL剥离的实施方法是阻止浏览器与服务器创建HTTPS连接。它的前提是用户很少直接在地址栏输入,用户总是通过点击链接或3xx重定向,从HTTP页面进入HTTPS页面。所以攻击者可以在用户访问HTTP页面时替换所有开头的链接为http://,达到阻止HTTPS的目的。

HSTS可以很大程度上解决SSL剥离攻击,因为只要浏览器曾经与服务器创建过一次安全连接,之后浏览器会强制使用HTTPS,即使链接被换成了HTTP。

herom2登陆器配置器下载_3k引擎免费登陆器配置器 非连击0627版_配置burpsuit谷歌浏览器证书及HSTS问题处理

另外,如果中间人使用自己的自签名证书来进行攻击,浏览器会给出警告,但是许多用户会忽略警告。HSTS解决了这一问题,一旦服务器发送了HSTS字段,用户将不再允许忽略警告。

不足

用户首次访问某网站是不受HSTS保护的。这是因为首次访问时,浏览器还未收到HSTS,所以仍有可能通过明文HTTP来访问。解决这个不足目前有两种方案,一是浏览器预置HSTS域名列表, 、、 和实现了这一方案。二是将HSTS信息加入到域名系统记录中。但这需要保证DNS的安全性,也就是需要部署域名系统安全扩展。截至2014年这一方案没有大规模部署。

由于HSTS会在一定时间后失效(有效期由max-age指定),所以浏览器是否强制HSTS策略取决于当前系统时间。部分操作系统经常通过网络时间协议更新系统时间,如每次连接网络时,OS X Lion每隔9分钟会自动连接时间服务器。攻击者可以通过伪造NTP信息配置burpsuit谷歌浏览器证书及HSTS问题处理,设置错误时间来绕过HSTS。解决方法是认证NTP信息,或者禁止NTP大幅度增减时间。比如 8每7天更新一次时间,并且要求每次NTP设置的时间与当前时间不得超过15小时。

浏览器支持

和 从4.0.211.0版本开始支持HSTS

4及以上版本

Opera 12及以上版本

从OS X 起

从 10技术预览版开始支持

配置(nginx为例)

在中添加如下配置

add_header Strict-Transport-Security "max-age=63072000" always;

标签:

评论留言

我要留言

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。发布前请先查看评论规则:点我查看