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 ; includeSubDomains 即可开启
网站(譬如百度)启用该策略后且在有效期之内,用户在浏览器地址栏输入baidu.com后,浏览器不会经历该过程:baidu.com--->http://www.baidu.com--->https://www.baidu.com;而是直接访问https://www.baidu.com
该策略只适用于80、443端口。
有些网站并不是全站https比如图片,毕竟使用https对服务器性能要求更高,中间人攻击仍然可以修改用户看到的图片。
2. 安全策略(CSP)
HTTP内容安全策略响应标头通过赋予网站管理员权限来限制用户被允许在站点内加载的资源,从而为网站管理员提供了一种控制感。 换句话说,您可以将网站的内容来源列入白名单。
内容安全策略可防止跨站点脚本和其他代码注入攻击。 虽然它不能完全消除它们的可能性,但它确实可以将损害降至最低。 大多数主流浏览器都支持CSP,所以兼容性不成问题。
- Content-Security-Policy: <policy-directive>; <policy-directive>
3. 跨站XSS防护,X-XSS-Protection
开启浏览器端的xss防护,减少反射xss对用户的危害(chrome浏览器默认开启)
服务器配置响应头:
- X-XSS-Protection: 1; mode=block / 1; report=http://[YOURDOMAIN]/your_report_URI
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
可以定义许多安全策略,script-src,frame-src ,referrer等
服务器配置响应头:Content-Security-Policy: script-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
时代在进步在发展,我们的生活越来越离不开网络,可以说网络承载着我们大部分的生活,稍不注意就会裸露在不法分子手上。为网站部署SSL证书进程已势不可挡,数安时代建议广大站长或企业网站负责人尽早为网站部署合适的SSL证书.