HTTP安全标头是网站安全的基本组成部分http协议有许多可以增强网站安全性,减少用户被攻击的安全策略,部署这些安全标头有助于保护您的网站免受XSS,代码注入,clickjacking的侵扰。
当用户通过浏览器访问站点时,服务器使用HTTP响应头进行响应。这些header告诉浏览器如何与站点通信。它们包含了网站的metadata。您可以利用这些信息概括整个通信并提高安全性。接下来小编就给大家详细介绍HTTP协议安全相关header:
1、强制使用https传输,HTTP Strict Transport Security (HSTS)
在各种劫持小广告+多次跳转的网络环境下,可以有效缓解此类现象。同时也可以用来避免从https降级到http攻击(SSL Strip)
服务器设置响应:Strict-Transport-Security:max-age=31536000 ;includeSubDomain即可开启。该策略只适用于80、443端口。
2、安全策略(CSP)
HTTP内容安全策略响应标头通过赋予网站管理员权限来限制用户被允许在站点内加载的资源,从而为网站管理员提供了一种控制感。换句话说,您可以将网站的内容来源列入白名单。
内容安全策略可防止跨站点脚本和其他代码注入攻击。 虽然它不能完全消除它们的可能性,但它确实可以将损害降至最低。 大多数主流浏览器都支持CSP,所以兼容性不成问题。
3、跨站XSS防护,X-XSS-Protection
开启浏览器端的xss防护,减少反射xss对用户的危害(chrome浏览器默认开启)。
4、阻止网站被嵌套,X-Frame-Options
网站被嵌套,可能出现clickhijacking等攻击。
服务器配置响应头:X-Frame-Options: deny/sameorigin/allow-from: DOMAIN。
因为X-Frame-Options只检测与top窗口的关系,若有多层嵌套victim{hacker{victim,则可以绕过,另外主页面可以监听事件onBeforeUnload可以取消iframe的跳转;iframe的sandbox属性可以禁用iframe中的j,所以需要配合csp规则的Content-Security-Policy: frame-ancestors 'self';
5、配置多种安全策略,Content-Security-Policy
可以定义许多安全策略,-src,frame-src ,referrer等。
服务器配置响应头:Content-Security-Policy: -src 'self'
6、响应内容探测,X-Content-Type-Options
有些服务器响应内容未设置content-type,浏览器会自动检测内容type(MIME自识别),会出现编码相关的安全问题。(IE和chrome会忽略content-type 自行推测网页格式、编码等,会出现IE的utf-7 xss绕过等bug。)
服务器配置响应头:X-Content-Type-Options: nosniff