反馈已提交

网络繁忙

产品安全加固指导手册

  • 文档创建者:Carly
  • 历史版本:11
  • 最近更新:Carly 于 2023-04-13
  • 1. 概述

    1.1 版本

    产品版本
    FineBI
    5.0、5.1、6.0
    FineReport10.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,插件统一处理

    点击下载插件:XSS过滤器插件

    安装配置文档: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

    修改以下配置参数和参数值时有一些注意事项:

    1)以下参数无法通过「fine_conf_entity可视化配置插件」进行修改,需通过填报的方式手动进行修改,详情请参考:填报修改fine_conf_entity 。

    2)如果 fine_conf_entity 表中不存在以下配置项,在填报页面中新增记录,输入参数和相应参数值即可。

    参数名
    参数作用建议参数值
    PluginFileValidateConfig.fileValidateOpen作用:本地安装/手动安装插件时,为了防止恶意篡改插件包中的代码,2021.11.24 及之后的版本,提供插件完整性校验功能。该功能默认关闭。

    true:插件包完整性校验开启

    注意:开启后无法从页面上安装没有官方签名的插件。

    true
    SystemConfig.driverUpload

    作用:是否允许在驱动管理中上传驱动 JAR 包。

    true:允许上传驱动 JAR 包。

    false

    IPWhiteLisConfiguration.needCheck

    作用:用户在数据决策系统内输入 URL 并进行连接时,为了防止服务器所在内网 IP 及端口被探测,可对 URL 进行白名单校验。

    true:对用户输入的 URL 进行白名单校验。

    注意:开启后,白名单以外的 URL 会连接失败,数据决策系统功能受到相应影响,出现测试连接、上传附件失败或无法保存配置等情况。

    false
    IPWhiteLisConfiguration.ipList

    前提:开启白名单校验。

    作用:用于配置白名单内容,白名单内的 URL 连接成功,相应功能不受影响。

    格式:

    ["item1",”item2”]

    示例:

    ["119.0.0.1","www.baidu,com","119.0.0.1/24"]

    SystemConfig.enableWhiteVerify

    作用:限制 IP 访问管理系统,在管理员登录数据决策系统时,对访问 IP 进行白名单校验。

    true:超管和次管登录数据决策系统时进行 IP 白名单校验。

    注意:开启后,IP 白名单以外的管理员无法登录数据决策系统。

    false

    SystemConfig.ipWhiteList

    前提:开启限制 IP 访问管理系统。

    作用:用于配置白名单内容,白名单内的 IP 放行。

    格式:

    ["item1",”item2”]

    示例:

    ["119.0.0.1","1::1","119.0.0.1/24"]

    WebSecurityConfig.refererVerifyEnabled

    作用:11.0.12 版本提供 Referer 校验 功能,限制用户访问,防止服务器资源被非法盗用。

    true:开启 Referer 校验。

    注意:开启后,从其他网站域名无法跳转到数据决策平台。

    false
    WebSecurityConfig.refererWhiteList

    前提:开启 Referer 校验。

    作用:用于配置白名单内容,白名单内的 IP 放行。

    格式:

    ["item1",”item2”]

    示例:

    ["http://localhost:8075","localhost:8075","localhost"]

    WebSecurityConfig.refererAllowEmpty

    作用:是否允许 Referer 为空或无 Referer 的请求访问资源。

    true:允许 Referer 为空或无 Referer 的请求访问资源。

    true

    5. 插件升级与卸载

    5.1 插件升级

    1)工程上,建议仅保留使用的插件,不使用的插件全部卸载。

    2)工程上所有的插件,全部更新至最新版本,服务器安装插件方法参照:服务器插件管理

    5.2 高权限插件卸载

    插件名称
    处理方式
    说明
    数知鸟插件禁用
    新增的数据需求管理模块,若未用到则护网或攻防阶段禁用。
    fine_conf_entity可视化配置插件卸载临时系统参数配置插件,权限过高卸载。
    开放平台BETA
    卸载涉及到密钥传输和签名认证,有一定安全风险,建议护网或攻防阶段卸载。

    BI定位分析工具

    (此插件默认内置安装)

    禁用权限过高,建议护网或攻防阶段禁用。

    附件列表


    主题: 数据决策系统
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526

    文 档反 馈

    鼠标选中内容,快速反馈问题

    鼠标选中存在疑惑的内容,即可快速反馈问题,我们将会跟进处理。

    不再提示

    10s后关闭