小站前几天通过了HSTS Preload List的审核,目前查询显示为“已预装”,估计再有一阵子就能用在stable上用了吧。
可以在chromium的源码中查询到:https://cs.chromium.org/chromium/src/net/http/transport_security_state_static.json?q=himiku.com&g=0&maxsize=14169872&l=63221
下面让我来水一水为何要加入HSTS Preload List。
封面图:The Teabag Catalogue2#pixiv
HSTS
HSTS的定义
首先是HSTS的定义。
HTTP严格传输安全(英语:HTTP Strict Transport Security,缩写:HSTS)是一套由互联网工程任务组发布的互联网安全策略机制。网站可以选择使用HSTS策略,让浏览器强制使用HTTPS与网站进行通信,以减少会话被劫持的风险。1。
HSTS的作用
HSTS的作用是强制客户端(如浏览器)使用HTTPS与服务器创建连接。2。
也就是说,我们可以利用这一作用,告知浏览器以后访问这一域名都走HTTPS。即若是访问http
,就会通过浏览器直接访问https
,而不是靠服务器做301跳转。
HSTS的不足
用户首次访问某网站是不受HSTS保护的。这是因为首次访问时,浏览器还未收到HSTS,所以仍有可能通过明文HTTP来访问。
故,就有了浏览器预置HSTS域名列表
来解决这个问题。
HSTS Preload List
什么是“HSTS Preload List”
HSTS预加载列表是一个已选择加入HSTS的域名的列表,并且这些域名被强制要求只能通过HTTPS访问。一旦准备就绪,网站管理员就可以将他们的域名提交给hstspreload.org
,这将导致他们的域名在Chrome列表中被硬编码
为仅限HTTPS。由于所有主流现代浏览器(Chrome,Firefox,Opera,Safari,IE 11和Edge)都有基于Chrome列表的预加载列表,因此可以保护域免受中间人攻击。3
加入HSTS Preload List
加入HSTS Preload List,有以下要求4
- 提供有效的
SSL证书
。 - 如果正在监听80端口,则需要在同一主机上从
HTTP
重定向到HTTPS
。 - 所有子域名都需要通过
HTTPS
传输 在基本域上为HTTPS请求提供HSTS响应头:
- 将max-age必须至少31536000秒(1年)。
- 必须声明includeSubDomains。
- 必须声明preload。
- 如果您从HTTPS站点提供其他重定向,则该重定向仍必须具有HSTS响应头(而不是其重定向到的页面)。
申请HSTS的一般步骤
举个例子,这里用我快要过期的域名mikusa.xyz
我用的是LNMP,所以,首先在mikusa.xyz.conf
中加入这么一段:
add_header Strict-Transport-Security "max-age=94608000; includeSubDomains; preload" always;
重启Nginx。
随后,前往HSTS预加载列表提交申请。传送门:https://hstspreload.org/
确认无误,迅速按下确定
勾选“我是mikusa.xyz的所有者……”和“我明白这么做的后果……”,迅速提交
这样等我域名过期,买到这个域名的人就不得不用https并且排查好久才知道是HSTS的原因哈哈哈哈……
- 维基百科:HTTP严格传输安全 ↩
- 维基百科「HTTP严格传输安全 」:https://zh.wikipedia.org/wiki/HTTP%E4%B8%A5%E6%A0%BC%E4%BC%A0%E8%BE%93%E5%AE%89%E5%85%A8 ↩
- Google Open Source对HSTS Preload List的解释:https://opensource.google.com/projects/hstspreload ↩
- 来自Google翻译 ↩
本文作者:mikusa
本文链接:https://www.himiku.com/archives/join-hsts-preload-list.html
版权声明:所有文章除特别声明外均系本人自主创作,转载及引用请联系作者,并注明出处(作者、原文链接等)。
我网站是www,主域名CNAME到www上才通过的提交 = =,想一直维持估计要一直CNAME了吧
过了就行 不过我是在nginx里301的,没用cname
最后,估计 Google 等大厂也是在强推 HTTPS 吧!
https早就在推了,hsts倒是没有强推的样子
仔细想了下我的说法也不对,得先有 HTTPS 才能启用 HSTS OωO
是这样的,你也想整上?
整!必须得整~~
最后一段值得一个大赞,默默收藏。
卧槽最后一段太可恶了哈哈
哈哈哈哈哈哈@(滑稽)