Cloudflare 支持 HTTP Strict Transport Security(HSTS),可帮助保护您的 HTTPS Web 服务器免受中间人降级攻击,例如 SSL 剥离攻击。
概述
HSTS 是一项网络安全技术,用于保护 HTTPS Web 服务器免受降级攻击。降级攻击(也称为 SSL 剥离攻击)是一种中间人攻击形式,攻击者将 Web 浏览器从正确配置的 HTTPS Web 服务器重定向到恶意服务器。
HSTS 由一个含有多个参数的 HTTP 标头组成,这些参数可指引兼容的 Web 浏览器:
- 将所有 HTTP 链接转换为 HTTPS 链接,以及
- 将所有浏览器 SSL 警告升级为无法绕过以查看网站的错误。
先决条件
启用 HTTP Strict Transport Security(HSTS)可提高网站的安全性。但是,需要记住一些重要注意事项:
- 在 HSTS 之前启用 HTTPS,否则浏览器无法接受您的 HSTS 设置。
- 启用 HSTS 后,HTTPS 必须保持启用状态,否则访问者将无法访问您的网站。
启用 HSTS
要启用 HSTS,请执行以下操作:
1.登录 Cloudflare 仪表板。
2.单击需要 HSTS 的域的相应 Cloudflare 账户。
3.确保选择了正确的域。
4.单击 Cloudflare SSL/TLS 应用。
5.单击 HTTP Strict Transport Security (HSTS) 部分下的启用 HSTS。
6.随即将出现一个确认窗口。查看警告内容。
7.要继续,请单击我明白。
8.单击下一步。
9.配置适合您的域的 HSTS 设置。 至少配置最长期限标头以启用 HSTS:
设置名称 | 描述 | 选项 |
启用 HSTS(Strict-Transport-Security) | 为所有 HTTPS 请求向浏览器提供 HSTS 标头。 | 关闭/打开 |
最长期限标头(max-age) | 指定浏览器强制执行 HSTS 策略的持续时间,并要求为您的网站正确配置 HTTPS。 | 禁用, 或 1 至 12 个月的范围 |
将 HSTS 策略应用于子域(includeSubDomains) | 将父域(example.com)中的 HSTS 策略应用于子域(www.development.example.com 或 api.example.com)。 | 关闭/打开 |
预加载 | 允许浏览器自动预加载 HSTS 配置。防止攻击者将第一个请求从 HTTPS 降级为 HTTP。如果没有预加载,则只有在初始成功的 HTTPS 请求后才设置 HSTS。 | 关闭/打开 |
No-Sniff 标头 | 发送 X-Content-Type-Options: nosniff 标头,以防止 Internet Explorer 和 Chrome 浏览器自动检测 Content-Type 标头明确指定以外的内容类型。 | 关闭/打开 |
10.单击保存。
如果您的源 Web 服务器没有证书颁发机构提供的有效 SSL 证书,请避免执行以下操作:
- 通过 Cloudflare DNS 应用将域设为灰色云状态
- 通过 Cloudflare Overview 应用暂停 Cloudflare 服务
- 指向 Cloudflare 以外的域名服务器
要避免的其他操作包括
- 将 HTTPS 重定向到 HTTP
- 上传配置错误的自定义 SSL 证书,其中包含:
- 无效的 SSL 证书
- 过期的证书
- 不匹配的主机名
禁用 HSTS
请按照以下步骤禁用您域上的 HTTPS:
1.登录 Cloudflare 仪表板。
2.单击不再需要 HSTS 的域的相应 Cloudflare 账户。
3.确保选择了正确的域。
4.单击 Cloudflare SSL/TLS 应用。
5.单击 HTTP Strict Transport Security (HSTS) 部分下的启用 HSTS。
6.随即将出现一个确认窗口。查看警告内容。
7.单击我明白。
8.单击下一步。
10.将最长期限标头设置为 0(禁用)
相关资源