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

目录:

1. 概述编辑

1.1 版本

产品版本
安全漏洞声明
FineBI

6.0.*

5.1.0-5.1.18.*

公示24年及历史版本漏洞&解决方案:安全漏洞声明
FineReport11.0.*
10.0.*
FineDataLink4.1.*

1.2 应用场景

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

注1:如无法完成产品升级和加固,请至少参考文档完成:限制IP访问工程

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

2. 产品升级编辑

2.1 FR11.*&BI6.0.*&FDL4.1.*系列

操作目的:当前处于高危版本「JAR包在 2024-07 及之前版本」的工程,请升级至最新安全版本。

注:FineBI6.1.*系列,仅支持运维平台部署,请直接联系帆软技术支持协助升级。请勿下载本文FineBI6.0.*JAR包进行替换。

操作内容:换工程JAR包、删netty JAR包、清空impl文件夹,重启即可。

产品
升级步骤
FineReport11.*

该升级操作仅面向非运维平台部署的工程。运维平台部署的工程,请直接联系帆软技术支持协助升级

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

FineBI的JAR包中,自带FineReport相关JAR,因此FineBI与FineReport集成工程,升级FineBI即可

1)获取JAR包

2)升级服务器工程

  • 参考 工程备份还原方案 4.1节,对工程进行备份。关闭工程

  • 删除工程/webapps/webroot/WEB-INF/lib下相关文件:删除netty-all-*.Final.jar(不存在可忽略),建议删除sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接

  • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

  • 将获取的JAR包中,除designer文件夹以外的文件,上传替换到工程/webapps/webroot/WEB-INF/lib下

  • 重启工程,完成升级


3)升级设计器

低版本的设计器无法连接高版本的服务器工程,因此本地设计器也需要同步升级至最新版本。

  • 首先请参考以上两节升级本地设计器,不要启动设计器

  • 然后将获取的JAR包中,designer文件夹内的文件,上传替换到设计器/%FR-HOME%/lib下

  • 重启设计器,完成升级

FineBI6.0.*

该升级操作仅面向非运维平台部署的工程。运维平台部署的工程,请直接联系帆软技术支持协助升级

FineBI6.1.*系列,仅支持运维平台部署,请直接联系帆软技术支持协助升级。请勿下载6.0.*JAR包进行替换

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

请在升级前认真查看升级注意事项,确保了解各个版本的兼容问题:FineBI小版本升级注意事项

1)检查工程情况

  • 如为FineBI与FineReport集成工程,升级BI即可,其中包含FR相关JAR,无需再单独升级FR

  • 如为FineBI与FineDataLink集成工程,请联系FineDataLink客户成功,进行FineDataLink独立部署,升级后不再支持两者集成

2)获取JAR包

  • 普通版本FineBI:点击下载并解压即可获取 6.0.19.2安全加固版本,2024-07-24发布,适配2024-07-23发布的FR11.0.28

  • 信创版本FineBI:请联系帆软技术支持获取

3)升级工程

  • 参考 工程备份还原方案 3.1节,对工程进行备份。关闭工程

  • 删除工程/webapps/webroot/WEB-INF/lib下相关文件:删除netty-all-*.Final.jar(不存在可忽略),删除fdl-*-4.0.jar(不存在可忽略),建议删除sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接

  • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

  • 将获取的JAR包文件,上传替换到工程/webapps/webroot/WEB-INF/lib下

  • 重启工程,完成升级

    FineDataLink4.1.*该升级操作仅面向非运维平台部署的工程。运维平台部署的工程,请直接联系帆软技术支持协助升级。

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

    1)获取JAR包

    • 请在FineDataLink服务群联系相关客户成功获取 4.1.10.3版本2024-07-24发布

    2)升级工程

    • 暂停管道任务、备份工程、关闭工程

    • 删除工程/webapps/webroot/WEB-INF/lib下相关文件:删除netty-all-*.Final.jar(不存在可忽略),建议删除sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接

    • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

    • 将获取的JAR包文件,上传替换工程/webapps/webroot/WEB-INF/lib下

    • 重启工程,完成升级

    2.2 FR10.*&BI5.1.0~5.1.18.x系列

    操作目的:当前处于高危版本「JAR包在 2024-07 及之前版本」的工程,请升级至最新安全版本

    推荐配置:请跨大版本升级至「FR11.*&BI6.*系列」最高版本,例如从FineReport10.0.4升级至FineReport11.0.26。

                     如选择本种操作方式,请联系帆软技术支持协助。技术支持联系方式:服务平台>在线支持。

    最低配置:请至少小版本升级至最新安全加固版本。

                     如选择本种操作方式,可参考下文清空impl文件夹、换工程JAR包、更换netty JAR包,重启即可。

    产品
    升级步骤
    FineReport10.0

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

    FineBI的JAR包中,自带FineReport相关JAR,因此FineBI与FineReport集成工程,升级FineBI即可

    • 备份工程,关闭工程

    • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

    • 删除工程/webapps/webroot/WEB-INF/lib下相关文件:删除netty-all-*.Final.jar,建议删除sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接

    • 点击下载netty安全驱动,将JAR包上传到/webapps/webroot/WEB-INF/lib下

    • 点击下载并解压获得工程JAR包 (10.0.19.42安全加固版本2024-07-23发布将除designer文件夹以外的文件,上传替换工程/webapps/webroot/WEB-INF/lib下

    • 重启工程,完成升级

    2)升级设计器

    低版本的设计器无法连接高版本的服务器工程,因此本地设计器也需要同步升级至最新版本。

    • 首先请参考上一节升级本地设计器,不要启动设计器

    • 然后将获取的JAR包中,designer文件夹内的文件,上传替换到设计器/%FR-HOME%/lib下

    • 重启设计器,完成升级


      FineBI5.1.18.x系列

      FineBI5.1~5.1.17

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

      FineBI的JAR包中,自带FineReport相关JAR,因此FineBI与FineReport集成工程,升级FineBI即可

      备份工程,关闭工程

      • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

      • 删除工程/webapps/webroot/WEB-INF/lib下相关文件:删除netty-all-*.Final.jar,建议删除sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接

      • 点击下载netty安全驱动,将JAR包上传到/webapps/webroot/WEB-INF/lib下

      • 点击下载并解压获得工程JAR包 (5.1.18.43版本2024-07-24发布适配2024-07-23发布的FR100.0.19.42上传替换到工程/webapps/webroot/WEB-INF/lib下(BI自带FR相关功能,FRBI集成工程升级BI即可,无需再单独升级FR)

      • 重启工程,完成升级

      2.3 其他老版本

      帆软 FineReport 8.* &9.* 、FineBI4.*&5.0.*&5.1.19+、FineDataLink4.0.* 系列及更早版本目前已经停止维护。

      此类版本安全系数极低,请联系帆软技术支持进行大版本升级。技术支持联系方式:服务平台>在线支持。

      3. 开启平台配置编辑

      3.1 密码强度限制

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

      1)检查用户认证方式

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

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

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

      2)进行密码策略设置

      注意:设置了自定义登录页的工程,请勿执行本节操作,「系统管理>登录」相关配置项与自定义登录页不兼容。

                基于安全考虑,建议更换为默认登录页。

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

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

      • 设置定期修改密码

      • 设置修改密码验证方式

      • 开启初始密码强制修改

      • 开启历史密码重复校验

      3.2 登录锁定设置

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

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

      注意:设置了自定义登录页的工程,请勿执行本节操作,「系统管理>登录」相关配置项与自定义登录页不兼容。

                基于安全考虑,建议更换为默认登录页。

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

      3.3 开启模板认证

      作用:防止无鉴权查看模板

      建议:开启模板认证,选择全量模板进行认证。选择合适的认证方式,优先推荐「角色权限认证」

      操作:管理员登录数据决策系统,点击「管理系统>模板认证>全局设置」,开启「模板认证」,选择合适的认证方式。

      具体操作请参考:模板认证

      4. 插件管理编辑

      4.1 升级插件

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

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

      插件名称高危版本建议升级
      FineVis数据可视化插件2024-08-16以下版本

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

      建议升级插件到帆软市场最新版本

      至少升级插件到V2.9.0.5及以上版本

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

      扩展图表插件

      2023-06以下版本

      建议升级插件到帆软市场最新版本

      FR11至少升级插件到V4.6.10及以上版本

      FR10至少升级插件到V4.6.6及以上版本

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

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

      建议升级插件到帆软市场最新版本

      FR11至少升级插件到V9.5及以上版本

      FR10至少升级插件到V9.4及以上版本

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

      4.2 安装插件

      插件名称
      插件简介功能影响
      web防火墙插件

      插件作用:

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


      插件安装:

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

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

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

      • 方案二:限制黑名单内/名单外的IP无法通过远程设计(channel接口)连接工程(此方案无需安装插件)

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

      安全加固插件

      插件作用:

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


      插件安装:

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

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

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

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

      2)请安装最新1.6及以上版本插件(工程重启生效),否则在高版本工程中,可能会出现远程设计版本不匹配的情况

      3)插件安装后,以下安全风险较高的功能会被禁用

      • 数据连接处的SQL验证查询功能不可用

      • 不可添加JNDI数据连接

      • 水印设置禁用部分函数

      • 日志管理处的手动清理日志功能被屏蔽

      5. 开启配置库安全选项编辑

      5.1 安装插件

      1)安装插件

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

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

      5.2 配置参数

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

      注:由于 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 。

      参数名
      参数作用建议参数值
      JDBCSecurityConfiguration.sqlBlackKeyword

      面向:FineReport11.x和FineBI6.x工程

      作用:禁用危险SQL关键字

      SQL语句执行禁止调用所配置的关键字,防止通过SQL语句触发数据库的远程命令执行漏洞

      注意:此配置会导致mysql、h2、hsql、sqlite、oracle和sqlserver等数据库均无法执行相关SQL关键字

      ["exec","call"]
      PluginFileValidateConfig.fileValidateOpen作用:本地安装/手动安装插件时,为了防止恶意篡改插件包中的代码,2021.11.24 及之后的版本,提供插件完整性校验功能。

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

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

      true
      SystemConfig.driverUpload作用:是否允许在驱动管理中上传驱动 JAR 包。该功能默认关闭。

      true:允许上传驱动 JAR 包。

      false

      5.3 删除插件

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

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