1. 描述编辑
安全防护中有三个功能开关:Cookie 增强、文件上传校验、Security Headers,增强平台的安全性。
2. 介绍编辑
打开决策平台,选择管理系统>安全管理-安全防护,如下图所示:
注:其中“Cookie”默认关闭,另外两个默认开启(可能存在兼容性问题以及开启需要满足条件条件)。
2.1 Cookie 增强
注:要求服务器开启 https(Cookie 增强中 Secure 属性要求开启 https 否则不发送 Cookie)。
Cookie 增强功能点击开启时会对当前协议进行检测,检测结果为 https 时正常开启,检测结果为 http 时弹窗提示“检测到当前协议为 http,未能成功启用。请确认服务器开启 https后重试”,并开启失败,如下图:
2.2 文件上传校验
开启后,对填报及平台外观配置中上传文件的后缀和大小进行校验,如下:
1)通过校验文件二进制头,禁止上传后缀与实际不符合的文件(比如 a.txt 改成 a.jpg 后上传)
2)平台外观设置中禁止上传超过 20M 的图片,件防止程序挂死(填报上传文件大小通过控的大小限制自行做限制),上传超出限制大小的图片弹出提示框,提示:“为使显示效果较佳,请选择尺寸不小于 1024*768,大小不超过20M的图片,支持 PNG、JPG 格式”
2.3 Security Headers
安全头系列设置,开启后将给请求头附加 HTTP Security Headers 属性,阻止漏洞攻击,如下:
点击高级设置展开高级防护功能开关,共五个,如下图所示:
注:当 Security Headers 功能开启时默认全部开启,Security Headers关闭时默认全部关闭,同时不允许开启高级防护功能。
Security Headers--安全头系列,其中包括:
1)CSP内容安全策略——开启后,请求头部增加 Content-Security-Policy:object-src 'self' 设置
2)XSS攻击防护——开启后,请求头部增加 X-XSS-Protection:1; mode=block 设置
3)点击劫持攻击防护——开启后,请求头部增加 X-Frame-Options:SAMEORIGIN 设置
4)内容嗅探攻击防护——开启后,请求头部增加 X-Content-Type-Options:nosniff 设置
5)浏览器缓存禁用——开启后,增加 Cache-Control:no-cache、Pragma:no-cache&Expires:0 设置
注:如果使用跨域 iframe 的方式嵌入报表,出现无法访问的情况,请关闭【Security Headers】高级设置中的【点击劫持攻击防护功能】。
注:单点登录时若报跨域的问题,请关闭【Security Headers】高级设置中的【内容嗅探攻击防护】。
默认开启的具体设置如下:
res.addHeader("X-Content-Type-Options", "nosniff");
res.addHeader("X-XSS-Protection", "1; mode=block");
res.addHeader("X-Frame-Options", "SAMEORIGIN");
res.addHeader("Content-Security-Policy", "object-src 'self'");
res.addHeader("Cache-Control", "no-cache");
res.addHeader("Pragma", "no-cache");
res.addDateHeader("Expires", 0);