【学习笔记】SSL/TLS安全机制之HSTS

1、What:HSTS全称HTTP Strict Transport Security,HTTP严格传输安全。

2、Why:因为HTTP 在重定向到 HTTPS 之前存在漏洞

  • 用户在浏览时很少明确输入 https://
    • 有时,用户正好通过http来访问网站,网站服务器知道这应该是安全访问,然后进行http 301重定向(redirect),以此来告诉Client再次请求并且这次用https
      • 初始的请求可能成为(中间人的)攻击媒介

3、What HSTS Trying to Solve

  • SSL Stripping Attack (SSL剥离攻击)- 中间人代理HTTP到HTTPS连接
    • DEF CON 17 - Moxie Marlinspike - More Tricks for Defeating SSL(一个演讲)

4、How it happens

  • HSTS指示浏览器"site.com"被访问时必须总是以HTTPS的方式
    • 用户通过HTTPS浏览网站
    • 然后Web Server会提供该网站的内容,还有HSTS指令:
      • max-age - 自动通过 HTTPS 请求站点的持续时间(秒)
      • includeSubDomains - (重定向)自动应用到所有子域名,例如www.site.com、mail.site.com等
    • 示例,当我们在浏览器地址栏输入http://site.com,会自动重定向到https://site.com
      • 我们打开Chrome - 更多工具 - 开发者工具 - Network - 点击Name的第一个 - Headers,得到如上图所示内容。我输入的请求是http,我得到的响应是Internal Redirect,告诉我应该用https来访问该网站。由上图可看到,重定向的理由是HSTS。307 Internal Redirect表明我们的请求实际上并未成功,也表明中间人无法进行有效攻击,本例中Chrome自动将http重定向到https。
    • 不幸的是,我们首次访问网站时仍然容易受到剥离攻击(SSL Stripping),HSTS的制造者也考虑到这一点了
    • HSTS Preload
    • 综上,网站提供了3种 HSTS 指令,分别是max-ageincludeSubDomainspreload
  • 好处:HSTS 还会禁用点击 SSL/TLS 警告的功能
    • 例如,用户通过HTTPS访问(在HSTS列表上的)网站,然后收到了证书错误,浏览器会禁用点击SSL警告的功能(也就没法继续访问了)
  • 此外,3种指令通常出现在同一行,某种程度上他们以同种方式工作

5、根据该网站- Qualys SSL Labs - SSL Pulse 2024年5月3日调查的网站总数为134495个,我们可以看到目前有47863个网站支持HSTS,占比35.6%

参考文献

1、网站:Practical Networking.net:Practical TLS

相关推荐
你熬夜了吗?13 分钟前
spring中使用netty-socketio部署到服务器(SSL、nginx转发)
服务器·websocket·spring·netty·ssl
noravinsc2 天前
ERR_SSL_KEY_USAGE_INCOMPATIBLE
网络·网络协议·ssl
小学僧来啦3 天前
VSFTPD+虚拟用户+SSL/TLS部署安装全过程(踩坑全通)
网络·网络协议·ssl
龙仔7254 天前
compat-openssl10和libnsl下载安装
ssl·依赖倒置原则·opentsdb
Harry小哥哥7 天前
企业网站安装 SSL安装的必要性
网络·网络协议·ssl
网络风云10 天前
Flask(补充内容)配置SSL 证书 实现 HTTPS 服务
python·https·flask·ssl
小徐Chao努力12 天前
【计网】SSL/TLS核心原理
网络·网络协议·ssl
天天打码12 天前
OpenSSH高危漏洞CVE-2025-26466和CVE-2025-26465:OpenSSH升级9.9p2 RPM一键更新包
linux·安全·centos·ssl
未来之窗软件服务14 天前
数字人-局域网共用一个数字人平台-谷歌浏览器没有ssl配置
网络·网络协议·ssl·数字人
Danileaf_Guo15 天前
常用VPN性能对比测试(IPsec、L2TP VPN、SSL VPN、L2TP over IPsec等)
网络·网络协议·ssl