返回列表 发布新帖
查看: 15|回复: 0

什么是 HSTS?原理、作用与配置

发表于 昨天 17:29 | 查看全部 |阅读模式

这里或许是互联网从业者的最后一片净土,随客社区期待您的加入!

您需要 登录 才可以下载或查看,没有账号?立即注册

×
一、HSTS 定义
HSTS(HTTP Strict Transport Security,HTTP 严格传输安全)
是由 IETF 定义的一个安全功能,规范为 RFC 6797。
它允许网站通过响应头声明:
✅ 浏览器必须使用 HTTPS 与其通信
✅ 禁止使用 HTTP 请求
✅ 防止 SSL Strip 攻击(HTTPS 降级攻击)
二、HSTS 工作原理
当用户首次以 HTTPS 访问网站时,服务器返回响应头:
  1. Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
复制代码
各字段含义:
字段作用
max-ageHSTS 策略有效时间(秒)
includeSubDomains将策略应用到所有子域名
preload允许该域名加入浏览器预加载列表(详解见下)
🎯 生效流程
  • 用户以 HTTPS 访问网站
  • 服务器返回 HSTS 响应头
  • 浏览器记录该域名策略,在 max-age 时间内:
  • 所有 HTTP 请求自动升级为 HTTPS
  • 即使用户输入 http://example.com,浏览器也会自动改为 https://example.com4.
  • 若证书无效,浏览器会阻止访问,且用户无法绕过。
三、为什么需要 HSTS?
🔍 1. 防御 SSL Strip 攻击
SSL Strip 攻击:
  • 攻击者在客户端与服务器之间拦截请求
  • 将用户访问 https://example.com 替换为 http://example.com
  • 用户与攻击者的连接是 HTTP,攻击者再与服务器建立 HTTPS,实现中间人攻击
✅ HSTS 能防止此类降级,因为浏览器强制使用 HTTPS。
🔍 2. 提升安全等级
  • 阻止用户在公共 WiFi 等环境下使用不安全的 HTTP
  • 防止 cookie 通过 HTTP 明文泄露
四、HSTS preload 机制
🚀 什么是 preload?
浏览器厂商(如 Chrome、Firefox、Edge)维护一个 HSTS preload list,内置于浏览器中。
当网站申请加入 preload 后:
  • 即使用户首次访问使用 http://,浏览器也会直接改为 https://,防御 SSL Strip 攻击的 首次访问漏洞。
✅ preload 条件
启用 HTTPS 并正确配置证书
返回的 HSTS 响应头包含:
  1. Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
复制代码
max-age 至少为 31536000(1 年)
所有子域名必须支持 HTTPS
五、HSTS 配置方法
⚙️ 1. Nginx 配置
在 server 段添加:
  1. add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
复制代码
always 确保无论返回状态如何都发送该头。
⚙️ 2. Apache 配置
  1. Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains; preload"
复制代码
⚠️ 注意事项
配置 HSTS 后,若网站证书配置错误或过期,用户将无法访问
(因为浏览器拒绝访问且用户无法跳过警告)
配置 includeSubDomains 需确保所有子域名均支持 HTTPS,否则会造成访问失败。
六、查看 HSTS 是否生效
在浏览器开发者工具 ➔ Network ➔ Response Headers 查看是否返回:
  1. Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
复制代码
七、常见问题
问题解决方案
配置 HSTS 后 HTTP 无法访问HSTS 设计即强制 HTTPS,确保证书配置正确。
如何取消 HSTS?返回 max-age=0,但 preload 域名需从浏览器 preload list 中移除,过程繁琐。
八、总结
维度内容
作用强制浏览器使用 HTTPS,防止 SSL Strip 攻击
配置添加 Strict-Transport-Security 响应头
preload加入浏览器内置 HSTS 列表,防御首次访问漏洞
风险证书失效将导致用户无法访问

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2001-2025 Suike Tech All Rights Reserved. 随客交流社区 (备案号:津ICP备19010126号) |Processed in 0.085197 second(s), 6 queries , Gzip On, MemCached On.
关灯 在本版发帖返回顶部
快速回复 返回顶部 返回列表