公司在做漏洞扫描时,检测到网站存在“HTTP严格传输安全保障”漏洞,怎么修复呢?
1. 漏洞描述
HTTP协议本身是明文,这意味着可以捕获通过HTTP传输的任何数据并查看内容。 为了保护数据的私密性并防止数据被截获,HTTP通常通过安全套接字层(SSL)或传输层安全性(TLS)连接进行隧道传输。 当使用这些加密标准中的任何一个时,它被称为HTTPS。
HTTP严格传输安全性(HSTS)是可选的响应头,可以在服务器上配置,以指示浏览器仅通过HTTPS进行通信。
即使用户在同一台服务器上请求HTTP资源,浏览器也会执行此操作。
网络犯罪分子通常会试图利用HTTP攻击从客户端传送到服务器的敏感信息。 这可以通过各种中间人(MiTM)攻击或网络数据包捕获进行。
扫描器发现受影响的应用程序正在使用HTTPS,但不使用HSTS标头。
2. 解决方法
根据使用的框架,实现方法会有所不同,但建议在服务器上配置“Strict-Transport-Security”标头。
这个头文件的一个选项是`max-age`,它是一个用于确定客户端浏览器遵守头部策略的时间(以毫秒为单位)。
根据环境和应用,这段时间可以是几分钟到几天不等。
3. Apache上启用HSTS
编辑/etc/httpd/conf.d/ssl.conf文件
<VirtualHost 0.0.0.0:443>
...
# 启用HTTP严格传输安全
Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"
...
</VirtualHost>
修改配置后重启httpd服务
systemctl restart httpd
修复后重新扫描,该漏洞已经被修复。
4. 参考连接
https://www.owasp.org/index.php/HTTP_Strict_Transport_Security