HSTS

HSTS 是 HTTP 严格传输安全(HTTP Strict Transport Security) 的缩写。 这是一种网站用来声明他们只能使用安全连接(HTTPS)访问的方法。 如果一个网站声明了 HSTS 策略,浏览器必须拒绝所有的 HTTP 连接并阻止用户接受不安全的 SSL 证书。 目前大多数主流浏览器都支持 HSTS (只有一些移动浏览器无法使用它)。



在 2012 年的 RFC 6797 中,HTTP严格传输安全被定义为网络安全标准。 创建这个标准的主要目的,是为了避免用户遭受使用 SSL stripping(剥离) 的 中间人攻击(man-in-The-middle,MITM)。 SSL stripping 是一种攻击者强迫浏览器使用 HTTP 协议连接到站点的技术,这样他们就可以嗅探数据包,拦截或修改敏感信息。 另外,HSTS 也是一个很好的保护自己免受 cookie 劫持(cookie hijacking)的方法。



HSTS 工作原理
通常,当您在 Web 浏览器中输入 URL 时,您会跳过协议部分。 例如,你输入的是 www.acunetix.com,而不是 http://www.acunetix.com。 在这种情况下,浏览器假设你想使用 HTTP 协议,所以它在这个阶段发出一个 HTTP 请求 到 www.acunetix.com,同时,Web Server 会返回 301 状态码将请求重定向到 HTTPS 站点。 接下来浏览器使用 HTTPS 连接到 www.acunetix.com。 这时 HSTS 安全策略保护开始使用 HTTP 响应头:



Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
响应头的 Strict-Transport-Security 给浏览器提供了详细的说明。 从现在开始,每个连接到该网站及其子域的下一年(31536000秒)从这个头被接收的时刻起必须是一个 HTTPS 连接。 HTTP 连接是完全不允许的。 如果浏览器接收到使用 HTTP 加载资源的请求,则必须尝试使用 HTTPS 请求替代。 如果 HTTPS 不可用,则必须直接终止连接。



此外,如果证书无效,将阻止你建立连接。 通常来说,如果 HTTPS 证书无效(如:过期、自签名、由未知 CA 签名等),浏览器会显示一个可以规避的警告。 但是,如果站点有 HSTS,浏览器就不会让你绕过警告。 若要访问该站点,必须从浏览器内的 HSTS 列表中删除该站点。



响应头的 Strict-Transport-Security 是针对一个特定的网站发送的,并且覆盖一个特定的域名(domain)。 因此,如果你有 HSTS 的 www.acunetix.com ,它不会覆盖 acunetix. com,而只覆盖 www 子域名。 这就是为什么,为了完全的保护,你的网站应该包含一个对 base domain 的调用(在本例中是 acunetix. com) ,并且接收该域名的 Strict-Transport-Security 头和 includeSubDomains 指令

https://zhuanlan.zhihu.com/p/130946490
背景:有些业务场景切换测试时,由于没有安装Https证书,需要禁止chrome自动跳转https



具体操作如下:



1、在chrome的地址栏输入–» chrome://net-internals/#hsts



在页面中查找,



Delete domain security policies
在输入框中输入具体的相关域名:xxx.xxx.com,然后点击“delete”按钮,即完成配置。



https://www.cnblogs.com/xuzhujack/p/14155036.html


Category algorithm