Aloys23 Blog
Aloys23 Blog

HSTS 的必要性及如何加入 HSTS Preload List

https://static.aloys23.link/pic/3afa25085e250a7fd993898daa2b084f.webp

HSTS 是什么

HTTP 严格传输安全(英语:HTTP Strict Transport Security,缩写:HSTS) 是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用 HSTS 策略,来让浏览器强制使用 HTTPS 与网站进行通信,以减少会话劫持风险。

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

作用

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

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

https://static.aloys23.link/pic/ddf4c98fac23f2e44dfa944acb4f85cb.webp

提交要求

  1. 提供有效的证书
  2. 如果您正在侦听端口 80,则在同一主机上从 HTTP 重定向到 HTTPS。
  3. 通过 HTTPS 为所有子域提供服务。
    • 特别是 www,如果该子域的 DNS 记录存在,您必须支持该子域的 HTTPS 。
  4. 在基域上为 HTTPS 请求 提供 HSTS 标头:
    • max-age 必须至少为 31536000 秒 (1 年)。
    • includeSubDomains 必须指定指令。
    • preload 必须指定指令。
    • 如果您从 HTTPS 站点提供额外的重定向,则该重定向必须仍然具有 HSTS 标头 (而不是它重定向到的页面)。
  5. 以下是有效 HSTS 标头的示例:
Strict-Transport-Security:max-age=63072000; includeSubDomains; preload

持续要求

您必须确保您的网站始终满足提交要求。请注意,preload 从您的标头中删除该指令将使您的网站立即符合删除表格的条件,并且该网站将来可能会因未能满足要求而被自动删除。

特别是,上述要求适用于 2017 年 10 月 11 日hstspreload.org 或之后提交的所有域 (即在 Chrome 63 之后预加载)

相同的要求适用于 2016 年 2 月 29 日  或之后提交的早期域 (即在 Chrome 50 之后预加载),但这些域所需的 max-age 仅为 10886400 几秒。

没有标签
首页      教程      HSTS 的必要性及如何加入 HSTS Preload List

发表回复

textsms
account_circle
email

Aloys23 Blog

HSTS 的必要性及如何加入 HSTS Preload List
HSTS 是什么 HTTP 严格传输安全 (英语:HTTP Strict Transport Security,缩写:HSTS) 是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用 HSTS 策略,…
扫描二维码继续阅读
2022-08-14