千家信息网

HSTS安全策略如何应用

发表于:2024-11-27 作者:千家信息网编辑
千家信息网最后更新 2024年11月27日,这篇文章主要介绍"HSTS安全策略如何应用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"HSTS安全策略如何应用"文章能帮助大家解决问题。HSTS 是 HTT
千家信息网最后更新 2024年11月27日HSTS安全策略如何应用

这篇文章主要介绍"HSTS安全策略如何应用"的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇"HSTS安全策略如何应用"文章能帮助大家解决问题。

HSTS 是 HTTP 严格传输安全(HTTP Strict Transport Security) 的缩写。 这是一种网站用来声明他们只能使用安全连接(HTTPS)访问的方法。 如果一个网站声明了 HSTS 策略,浏览器必须拒绝所有的 HTTP 连接并阻止用户接受不安全的 SSL 证书。

HSTS部署

服务器开启HSTS的方法是:当客户端通过HTTPS发出请求时,在服务器返回的超文本传输协议响应头中包含Strict-Transport-Security字段。非加密传输时设置的HSTS字段无效。

最佳的部署方案是部署在离用户最近的位置,例如:架构有前端反向代理和后端Web服务器,在前端代理处配置HSTS是最好的,否则就需要在Web服务器层配置HSTS。如果Web服务器不明确支持HSTS,可以通过增加响应头的机制。如果其他方法都失败了,可以在应用程序层增加HSTS。

HSTS启用比较简单,只需在相应头中加上如下信息:

Strict-Transport-Security: max-age=63072000; includeSubdomains;preload;

Strict-Transport-Security是Header字段名,max-age代表HSTS在客户端的生效时间。includeSubdomains表示对所有子域名生效。preload是使用浏览器内置的域名列表。

HSTS策略只能在HTTPS响应中进行设置,网站必须使用默认的443端口;必须使用域名,不能是IP。因此需要把HTTP重定向到HTTPS,如果明文响应中允许设置HSTS头,中间人攻击者就可以通过在普通站点中注入HSTS信息来执行DoS攻击。

Apache上启用HSTS
$ vim /etc/apache2/sites-available/hi-linux.conf# 开启HSTS需要启用headers模块LoadModule headers_module /usr/lib/apache2/modules/mod_headers.so ServerName www.hi-linux.com ServerAlias hi-linux.com...#将所有访问者重定向到HTTPS,解决HSTS首次访问问题。 RedirectPermanent / https://www.hi-linux.com/...# 启用HTTP严格传输安全 Header always set Strict-Transport-Security "max-age=63072000; includeSubdomains; preload"...

重启Apache服务

$ service apche2 restart
Nginx上启用HSTS
$ vim /etc/nginx/conf.d/hi-linux.confserver {  listen 443 ssl;  server_name www.hi-linux.com;  add_header Strict-Transport-Security "max-age=63072000; includeSubdomains; preload";...}server {  listen 80;  server_name www.hi-linux.com;  return 301 https://www.hi-linux.com$request_uri;...}

重启Nginx服务

$ service nginx restart
IIS启用HSTS

要在IIS上启用HSTS需要用到第三方模块。

设置完成了后,可以用curl命令验证下是否设置成功。如果出来的结果中含有Strict-Transport-Security的字段,那么说明设置成功了。

$ curl -I https://www.hi-linux.comHTTP/1.1 200 OKServer: nginxDate: Sat, 27 May 2017 03:52:19 GMTContent-Type: text/html; charset=utf-8...Strict-Transport-Security: max-age=63072000; includeSubDomains; preloadX-Frame-Options: denyX-XSS-Protection: 1; mode=blockX-Content-Type-Options: nosniff...

对于HSTS以及HSTS Preload List,建议是只要不能确保永远提供HTTPS服务,就不要启用。因为一旦HSTS生效,之前的老用户在max-age过期前都会重定向到HTTPS,造成网站不能正确访问。唯一的办法是换新域名。

关于"HSTS安全策略如何应用"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注行业资讯频道,小编每天都会为大家更新不同的知识点。

0