历史版本36 :产品安全加固指导手册 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

产品版本
安全漏洞声明
FineBI
5.0、5.1、6.0公示23年护网及历史版本漏洞&解决方案:安全漏洞声明
FineReport10.0、11.0

1.2 应用场景

为了提升产品的安全性,本文整理了,正式工程中应当开启的相关安全设置,请参照本文对工程进行安全加固。

注:参照本文进行安全配置后,部分功能会有影响,主要面向安全诉求更高的客户。

2. 产品升级编辑

修复之前版本中存在的一些问题,建议将主产品升级到安全版本。

高危版本:JAR包在 2023-07-21 之前版本

产品
升级步骤最新版JAR包下载
FineReport11.01)备份工程,关闭工程

2)获取最新版本JAR包,将除designer文件夹以外的文件,替换到工程 %Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

3)手动删除工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下名称包含netty的相关jar包

4)手动删除%Tomcat_HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中所有文件(不存在可忽略)

5)请参考「关闭或重启FineReport工程」文档,重启工程,完成升级

注:上文简单描述了服务器工程升级的操作步骤,更详细升级指南请参考:

点击下载JAR包
FineReport10.0

1)备份工程,关闭工程

2)获取最新版本JAR包,将除designer文件夹以外的文件,替换到工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

3)手动删除工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下名称包含netty的相关jar包

4)下载驱动:netty安全驱动,将jar包上传到%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

5)手动删除%Tomcat_HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中所有文件(不存在可忽略)

6)请参考「关闭或重启FineReport工程」文档,重启工程,完成升级

注:上文简单描述了服务器工程升级的操作步骤,更详细升级指南请参考:小版本升级指南

    点击下载JAR包
    FineBI6.01)备份工程,关闭工程

    2)请联系技术支持获取6.0.12版本JAR包,将所有文件上传替换到工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

    3)手动删除工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下名称包含netty的相关jar包

    4)手动删除%Tomcat_HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中所有文件(不存在可忽略)

    5)请参考「关闭或重启FineBI工程」文档,重启工程,完成升级

    注:上文简单描述了服务器工程升级的操作步骤,更详细升级指南请参考:小版本升级指南 

      点击下载JAR包

      FineBI5.1.19及之后

      1)备份工程,关闭工程

      2)获取最新版本JAR包,将所有文件上传替换到工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

      3)手动删除工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下名称包含netty的相关jar包

      4)手动删除%Tomcat_HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中所有文件(不存在可忽略)

      5)请参考「关闭或重启FineBI工程」文档,重启工程,完成升级

      注:上文简单描述了服务器工程升级的操作步骤,更详细升级指南请参考:5.1.19及之后版本升级指南

      点击下载JAR包

      FineBI5.1.18.x系列

      FineBI5.1.17及之前

      1)备份工程,关闭工程

      2)获取最新版本JAR包,将所有文件上传替换到工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

      3)手动删除工程%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下名称包含netty的相关jar包

      4)下载驱动:netty安全驱动,将jar包上传到%Tomcat_HOME%/webapps/webroot/WEB-INF/lib下

      5)手动删除%Tomcat_HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中所有文件(不存在可忽略)

      6)请参考「关闭或重启FineBI工程」文档,重启工程,完成升级

      注:上文简单描述了服务器工程升级的操作步骤,更详细升级指南请参考:5.1.5-5.1.18版本升级指南 

      点击下载JAR包

      3. 插件管理编辑

      3.1 升级插件

      工程上所有的插件,建议全部更新至最新版本。

      建议至少确保以下插件升级到安全版本(若未安装相应插件可忽略):

      插件名称高危版本建议升级
      fvs大屏编辑模式插件2023-08-03及以下版本

      1)建议先参考2.1节升级FineReport主JAR版本到最新

      2)至少升级FineReport主JAR版本到2023.05.12及之后

      3)升级插件版本到帆软市场最新版本V1.17.1.1(2023-08-04发布

      插件升级步骤请参考:服务器插件管理

      扩展图表插件

      2023-06以下版本

      FineReport11.0升级插件版本到最新版本V4.6.10

      FineReport10.0升级插件版本到插件商城最新版本

      插件升级步骤请参考服务器插件管理

      常用函数集合插件V9.4及以下版本

      升级插件版本到最新版本

      插件升级步骤请参考:服务器插件管理

      3.2 安装插件

      插件名称
      插件简介功能影响
      安全加固插件

      插件作用:

      对于被爆破了账密的系统能有效提升服务器安全性


      插件安装:

      点击下载插件:安全加固插件

      插件安装步骤请参考:服务器插件管理

      注:插件安装完成后,需重启工程生效。

      1)插件安装后,需要重启生效

      2)插件安装后,数据连接处的SQL验证查询功能不可用

      3)插件安装后,不可添加JNDI数据连接

      4)插件安装后,水印设置禁用部分函数

      5)插件安装后,日志管理处的手动清理日志功能被屏蔽

      web防火墙插件

      插件作用:

      插件主要用于限制访问IP,预防channel接口反序列化


      插件安装:

      插件安装及配置步骤请参见:限制IP访问工程

      有三种配置方案,请根据需要选择:

      方案一:限制白名单外的IP无法通过远程设计(channel接口)连接工程

      方案二:限制任何用户均无法通过远程设计(channel接口)连接工程

      方案三:限制白名单外的IP无法通过任何方式访问工程,包括但不限于:远程设计连接工程、登录平台查看模板、单点登录查看模板等。

      4. 开启数据库安全选项开启编辑

      4.1 安装插件

      点击下载插件:fine_conf_entity可视化配置插件

      4.2 配置参数

      插件安装成功后,超级管理员登录数据决策系统,点击「管理系统」,新增「系统工具」设置。如下图所示:

      注:由于 FineDB 的修改非常重要,影响较大,因此仅支持超管进行操作,不支持次级管理员操作。

      配置方法支持以下两种方式:

      • 选择参数配置:系统参数名(key)下拉框中罗列了支持配置的 fine_conf_entity 参数,用户可直接在下拉框中选择参数,配置参数值(value)。

      • 自定义参数配置:用户可自行输入支持配置的 fine_conf_entity 参数名(key),并自动跳出参数值(value),用户可修改并保存参数值。

      两种配置方式支持配置的参数完全相同,建议修改的 fine_conf_entity 中的配置参数和参数值如下表所示:


      参数名
      参数作用建议参数值
      SystemConfig.hideVersion

      作用:是否隐藏system info中的版本信息

      true:系统信息接口不返回版本信息。

      true


      以下参数无法通过「fine_conf_entity可视化配置插件」进行修改,需手动修改或通过联系数据库管理员修改配置库的方式进行修改。

      如果 fine_conf_entity 表中不存在以下配置项,说明符合默认要求,无需修改。

      操作方法请参考:填报修改fine_conf_entity 。

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

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

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

      true
      SystemConfig.driverUpload作用:是否允许在驱动管理中上传驱动 JAR 包。该功能默认关闭。(默认值符合要求,检查即可)

      true:允许上传驱动 JAR 包。

      false

      4.3 删除插件

      参数配置完成后,需删除「fine_conf_entity可视化配置插件」。

      设计器插件删除方法参照 设计器插件管理 

      服务器安装删除方法参照 服务器插件管理

      5. 开启平台配置编辑

      5.1 模板认证

      作用:

      需要用户登录后才可访问模板,可单独配置不需要进行认证的模板。

      建议:

      1)默认选择「仅认证用户名密码」,用户可自行调整切换。

      2)建议针对不同模板进行具体的「角色权限认证」配置,如果过于复杂难以配置,则建议开启「仅认证用户名密码」。

      2)需要认证的模板默认全选,如有部分场景需要免鉴权访问,则按需针对指定模板免认证。但不建议扩大该场景,以防有安全风险。

      方法
      简介文档
      不做身份验证默认不需要验证,只要得到了模板预览URL,任何人都可以查看对应的报表模板不做身份验证
      仅认证用户名密码

      需要登录验证,登录成功后,所有用户权限都一样

      只要得到了模板预览URL,登录用户都可以查看对应的报表模板

      仅认证用户名密码
      角色权限认证

      需要登录验证,登录成功后,根据用户的角色信息,不同的用户有不同的权限

      每个用户只能查看到有权限查看到的报表模板。

      角色权限认证
      数字签名认证通过数字签名的方式来验证访问的报表请求,报表工程通过数字签名验证签名信息合法才允许访问报表,否则返回没有权限。数字签名认证

      注意事项:

      • 开启模板认证,选择需要认证的模板为默认需要认证所有的模板,锁定后则表示该模板不需要进行认证。

      • 开启后如果没有具体配置,则原先无需登录就可以访问的模板,会受到影响无法访问,要求用户登录。

      • 设计器端预览报表,会受到模板认证的限制,可能会对模板制作时的预览造成不便。

      5.2 系统管理

      5.2.1 密码策略设置

      作用:增加密码破解的难度。

      建议:管理员登录数据决策系统,点击「管理系统>用户管理>全局设置」。

      • 若系统使用「平台内置认证」,则需进行密码策略设置。

      • 若系统使用「LDAP认证」或「HTTP认证」,则无需进行密码策略设置,密码安全性由客户自己的认证系统保证。

      操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,在「密码策略设置」处建议勾选以下配置:

      • 设置密码强度策略(推荐密码长度8位,包含数字、大小写字母、符号)

      • 设置初始密码强制修改

      • 设置定期修改密码

      • 设置修改密码验证方式

      • 开启初始密码强制修改

      • 开启历史密码重复校验

      5.2.2 登录验证&锁定设置

      作用:主要用于防暴力破解。

      建议:

      • 开启登录锁定。必选,最简单有效的攻击方式就是弱密码爆破进入工程,再提权或通过其他手段入侵服务器。

      • 开启滑块验证。非必选项,如果已开启登录锁定,该项可选择不开启。

      操作:管理员登录数据决策系统,点击「管理系统>系统管理>登录」,开启「登录验证」和「登录锁定>滑块验证」。