1. 概述编辑
1.1 版本
产品 | 版本 |
---|---|
FineBI | 5.0、5.1 |
FineReport | 10.0、11.0 |
1.2 应用场景
为了提升产品的安全性,本文整理了,正式工程中应当开启的相关安全设置,请参照本文对工程进行安全加固。
注:参照本文进行安全配置后,部分功能会有影响,主要面向安全诉求更高的客户。
2. 管理平台相关设置编辑
2.1 系统管理
2.1.1 可选:单一登录
作用:限制账号同时只能在一处登录。
建议:建议开启,如果有多用户共用账号需求可不开。
操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,开启「单一登录」。
2.1.2 可选:登录超时时间
作用:无操作X分钟后会话失效。
建议:建议配置为10分钟。
操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,设置「登录超时时间」为「10」分钟。
2.1.3 密码策略设置
作用:增加密码破解的难度。
建议:管理员登录数据决策系统,点击「管理系统>用户管理>全局设置」。
若系统使用「平台内置认证」,则需进行密码策略设置。
若系统使用「LDAP认证」或「HTTP认证」,则无需进行密码策略设置,密码安全性由客户自己的认证系统保证。
操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,在「密码策略设置」处建议勾选以下配置:
设置密码强度策略(推荐密码长度8位,包含数字、大小写字母、符号)
设置初始密码强制修改
设置定期修改密码
设置修改密码验证方式
开启初始密码强制修改
开启历史密码重复校验
2.1.4 登录验证&锁定设置
作用:主要用于防暴力破解。
建议:
开启登录锁定。必选,最简单有效的攻击方式就是弱密码爆破进入工程,再提权或通过其他手段入侵服务器。
开启滑块验证。非必选项,如果已开启登录锁定,该项可选择不开启。
操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,开启「登录验证」和「登录锁定>滑块验证」。
2.1.5 可选:开启短信和邮箱验证
操作:非必选项。
请管理员先配置 短信 和 邮箱 功能,并为系统内的每一个用户配置手机号和邮箱。
管理员登录数据决策系统,点击「管理系统>系统管理>登录」,开启以下功能:
忘记密码:短信验证重置密码、邮箱验证重置密码
修改密码验证方式:短信验证和邮件验证
登录验证设置:短信验证和邮件验证
2.1.6 可选:WebSocket设置
作用:WebSocket可以让服务器端主动向客户端推送数据,主要用于刷新 token、用户被踢出、平台消息、内存和 CPU 显示、平台日志处当前系统在线人数、数据连接编辑状态的确定。
说明:11.0.2 及之后版本,新增一个容器 websocket 方案,帮助用户实现快速配置 websocket 端口。若「管理系统>系统管理>常规」页面不显示 HTTPS 设置项,说明此方案生效,Websocket 连接已正确配置,无需其他任何手动配置。
操作:配置过程中问题可参考官方帮助文档:Websocket简介
2.2 安全管理
2.2.1 安全防护
作用:更多说明请参见:安全防护
设置项 | 作用 |
---|---|
Cookie 增强 | 对当前协议进行检测 |
HSTS 设置 | 服务器开启 HTTPS 后方可开启该按钮,开启后将禁止 HTTP 访问,IE11 以下浏览器暂不支持此设置。 |
文件上传校验 | 开启后对填报及平台外观配置中上传文件的后缀和大小进行校验。开启后,允许上传白名单中的文件类型包括:jpg , jpeg , gif , bmp , png , pdf , doc , docx , ppt , pptx , xls , xlsx , zip。 |
脚本调用公式限制 | JS 中FR.remoteEvaluate和FR.remoteEvaluateAsync这两个接口的频率较高,但这两个接口也存在巨大的安全风险,可能会导致攻击者实现对数据库的增删改查等操作,其风险等级相当于远程执行。 |
Security Headers | 安全头系列设置,开启后将给请求头附加 HTTP Security Headers 属性,阻止漏洞攻击。 |
请求响应优化 | 按钮关闭时,显示详细堆栈信息,开启时,所有堆栈信息统一转为简单的错误信息提示:请求错误,如需查看详细错误信息请至安全管理页面进行设置。 |
Token认证增强 | 服务器增加IP校验:IP相同则自动放行;IP不同则识别为新的客户端,自动跳转到登录页,需要重新登录。 |
操作:管理员登录数据决策系统,点击「管理系统>安全管理>安全防护」,全部开启:
注1:若工程为http工程,无法开启「Cookie增强」和「HSTS设置」。
注2:若有报错定位需要,不介意抛出堆栈信息,可不开启「请求响应优化」。
2.2.2 访问控制
作用:开启后,可以对一定时间内的访问次数进行限制,超出则拉入黑名单,无法再进行资源访问,可有效缓解异常访问,爬虫爬取和 CC 攻击的情况。
建议:默认开启。使用默认频率限制
操作:管理员登录数据决策系统,点击「管理系统>安全管理>访问控制」,默认开启。
2.2.3 SQL防注入
作用:SQL 防注入功能,针对模板发出的参数请求进行拦截。可实现:
禁用特殊关键字防止 SQL 注入。
通过字符转义防止 SQL 注入。
说明:支持通过特殊关键字防止SQL注入,转义字符默认不开启。
SQL 防注入功能,主要针对FineReport模板发出的参数请求进行拦截,不会对整个 SQL 语句进行筛选拦截,也不会对全局的请求都筛选拦截。
操作:管理员登录数据决策系统,点击「管理系统>安全管理>SQL防注入」,默认开启。
2.2.4 可选:水印设置
作用:水印是一种防止数据泄露的有效方式:
在内部员工截图或者导出相关资料时,可以提醒员工这是绝密资料,禁止外传。
在员工泄露内部资料后,方便企业追查责任人和泄漏源。
操作:管理员登录数据决策系统,点击「管理系统>安全管理>水印设置」,默认开启。
2.3 模板认证
作用:系统管理员可以通过四种方式控制用户查看报表的行为。
方法 | 简介 | 文档 |
---|---|---|
不做身份验证 | 默认不需要验证,只要得到了模板预览URL,任何人都可以查看对应的报表模板 | 不做身份验证 |
仅认证用户名密码 | 需要登录验证,登录成功后,所有用户权限都一样 只要得到了模板预览URL,登录用户都可以查看对应的报表模板 | 仅认证用户名密码 |
角色权限认证 | 需要登录验证,登录成功后,根据用户的角色信息,不同的用户有不同的权限 每个用户只能查看到有权限查看到的报表模板。 | 角色权限认证 |
数字签名认证 | 通过数字签名的方式来验证访问的报表请求,报表工程通过数字签名验证签名信息合法才允许访问报表,否则返回没有权限。 | 数字签名认证 |
注意事项:
开启模板认证,选择需要认证的模板为默认需要认证所有的模板,锁定后则表示该模板不需要进行认证。
开启后如果没有具体配置,则原先无需登录就可以访问的模板,会受到影响无法访问,要求用户登录。
设计器端预览报表,会受到模板认证的限制,可能会对模板制作时的预览造成不便。
3. 产品安全插件安装编辑
插件名称 | 作用 | 安装说明 |
---|---|---|
XSS过滤器插件 | 部分请求存在存储型XSS,插件统一处理 | 点击下载FR11.0&BI5.1.19及之后版本插件: 点击下载FR10.0&BI5.1.19之前版本插件: 安装配置文档:XSS过滤器插件 |
PUT、DELETE请求转成POST | 将PUT、DELETE 请求转成POST | 点击下载插件:PUT、DELETE请求转成POST 插件 安装配置文档:PUT、DELETE请求转成POST插件 |
安全加固插件 | 作用:对于被爆破了账密的系统能有效提升服务器安全性 注意事项: 1)插件安装后,需要重启生效 2)插件安装后,数据连接处的SQL验证查询功能不可用 3)插件安装后,不可添加JNDI数据连接 4)插件安装后,水印设置禁用部分函数 5)插件安装后,日志管理处的手动清理日志功能被屏蔽 | 点击下载插件:安全加固插件 |
4. 数据库安全选项开启编辑
4.1 插件安装和使用
点击下载插件:fine_conf_entity可视化配置插件
设计器插件安装方法参照 设计器插件管理
服务器安装插件方法参照 服务器插件管理
插件安装成功后,超级管理员登录数据决策系统,点击「管理系统」,新增「系统工具」设置。如下图所示:
注:由于 FineDB 的修改非常重要,影响较大,因此仅支持超管进行操作,不支持次级管理员操作。
4.2 参数配置
配置方法支持以下两种:
选择参数配置:系统参数名(key)下拉框中罗列了支持配置的 fine_conf_entity 参数,用户可直接在下拉框中选择参数,配置参数值(value)。
自定义参数配置:用户可自行输入支持配置的 fine_conf_entity 参数名(key),并自动跳出参数值(value),用户可修改并保存参数值。
两种配置方式支持配置的参数完全相同,建议修改的 fine_conf_entity 中的配置参数和参数值如下表所示:
参数名 | 参数作用 | 建议参数值 |
---|---|---|
SystemConfig.hideVersion | 作用:是否隐藏system info中的版本信息 true:系统信息接口不返回版本信息。 | true |
WebSocketConfig.webSocketTokenInHeader | 作用:socket 通信 token 传递方式 true:token 从请求头传输 注意: 1)有二开定制等涉及相关token传输,需评估对二开定制功能的影响。 2)使用traefik部署场景功能受影响可以不配置。 | true |
PluginFileValidateConfig.fileValidateOpen | 作用:本地安装/手动安装插件时,为了防止恶意篡改插件包中的代码,2021.11.24 及之后的版本,提供插件完整性校验功能。该功能默认关闭。 true:插件包完整性校验开启 注意:开启后无法从页面上安装没有官方签名的插件。 | true |
5. 插件升级与卸载编辑
5.1 插件升级
1)工程上,建议仅保留使用的插件,不使用的插件全部卸载。
2)工程上所有的插件,全部更新至最新版本,服务器安装插件方法参照:服务器插件管理
5.2 高权限插件卸载
插件名称 | 处理方式 | 说明 |
---|---|---|
数知鸟插件 | 禁用 | 新增的数据需求管理模块,若未用到则护网或攻防阶段禁用。 |
fine_conf_entity可视化配置插件 | 卸载 | 临时系统参数配置插件,权限过高卸载。 |
开放平台BETA | 卸载 | 涉及到密钥传输和签名认证,有一定安全风险,建议护网或攻防阶段卸载。 |
BI定位分析工具 | 卸载 | 权限过高,建议护网或攻防阶段卸载。 |