产品安全加固指导手册

  • 方案级协助
  • 文档创建者:Carly
  • 历史版本:126
  • 最近更新:Carly 于 2025-07-04
  • 1. 概述

    1.1 版本

    产品版本
    安全漏洞声明
    FineBI

    6.*

    公示历年版本漏洞&解决方案:安全漏洞声明
    FineReport11.*
    FineDataLink

    4.2.*

    1.2 应用场景

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

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

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

    2. 产品升级

    不同版本产品升级说明

    产品
    版本
    升级说明
    FineReport11.0.*升级至 11.0.34 及以上,2025-04-28 发布
    10.* & 9.* & 8.*不提供小版本维护,请跨大版本升级至 11.0.35 及以上
    FineBI
    6.1.*

    升级至 6.1.6 及以上,2025-04-30 发布

    适配 2025-04-16 发布的 FR11.0.33

    6.0.*

    升级至 6.0.22 及以上,2025-04-17 发布

    适配 2025-04-16 发布的 FR11.0.33

    5.* & 4.*不提供小版本维护,请跨大版本升级至 6.0.22 及以上
    FineDataLink4.2.*升级至 4.2.7.4 及以上,2025-06-26 发布
    4.1.* & 4.0.*

    不提供小版本维护,请跨大版本升级至 4.2.7.4 及以

    FineReport11.*升级步骤

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

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

    面向对象:本节升级步骤仅面向非运维平台部署的工程。运维平台部署的工程,请直接联系帆软技术支持协助升级。

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


    步骤简介
    1检查工程情况如为FineBI与FineReport集成工程,请参考下文升级FineBI即可,其中包含FineReport相关JAR,无需再单独升级FineReport
    2获取JAR包
    3升级服务器工程

    1)参考 工程备份还原方案 4.1节,备份工程

    2)参考 关闭或重启FineReport工程 文档关闭单机工程节点/集群每一个工程节点

    3)删除工程/webapps/webroot/WEB-INF/lib下的netty-all-*.Final.jar(不存在可忽略,集群需要一一删除各工程节点下的文件)

    4)建议删除工程/webapps/webroot/WEB-INF/lib下的sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接)(不存在可忽略,集群需要一一删除各工程节点下的文件

    5)删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略集群需要一一删除各工程节点下的文件

    6)将第 2 步解压获取的文件中,除designer文件夹以外的所有文件,上传替换工程/webapps/webroot/WEB-INF/lib下集群需要一一替换各工程节点下的文件

    7)参考 关闭或重启FineReport工程 文档,重启单机工程节点/集群每一个工程节点,完成升级

    4升级设计器

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

    1)关闭设计器

    2)删除设计器/%FR-HOME%/webapps/webroot/WEB-INF/lib下的netty-all-*.Final.jar(不存在可忽略

    3)建议删除设计器/%FR-HOME%/webapps/webroot/WEB-INF/lib下的sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接)(不存在可忽略

    4)删除设计器/%FR-HOME%/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略)

    5)将第 2 步解压获取的文件中,除designer文件夹以外的所有文件替换设计器/%FR-HOME%/webapps/webroot/WEB-INF/lib下

    6)将 2 解压获取的文件中designer文件夹内的文件替换到设计器/%FR-HOME%/lib下

    7)重启设计器,完成升级

    FineBI6.1.*升级步骤

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

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

    FineBI6.0.*升级步骤

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

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

    面向对象:本节升级步骤仅面向非运维平台部署的工程。运维平台部署的工程,请直接联系帆软技术支持协助升级。

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

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


    步骤简介
    1检查工程情况
    • 如为FineBI与FineReport集成工程,升级FineBI即可,其中包含FineReport相关JAR,无需再单独升级FineReport

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

    2获取JAR包
    • 普通版本FineBI:点击下载并解压即可获取 (6.0.23版本,2025-06-27发布,适配2025-06-27发布的FR11.0.35)

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

    3升级工程

    1)参考 工程备份还原方案 3.1节备份工程

    2)参考 关闭或重启FineBI工程 文档,关闭单机工程节点/集群每一个工程节点

    3)删除工程/webapps/webroot/WEB-INF/lib下的netty-all-*.Final.jar(不存在可忽略,集群需要一一删除各工程节点下的文件)

    4)删除工程/webapps/webroot/WEB-INF/lib下的fdl-*-4.0.jar不存在可忽略,集群需要一一删除各工程节点下的文件)

    5)建议删除工程/webapps/webroot/WEB-INF/lib下的sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接)(不存在可忽略,集群需要一一删除各工程节点下的文件

    6)建议删除工程/webapps/webroot/WEB-INF/lib下的h2-*.jar(删除h2-*.jar后无法使用H2数据连接)(不存在可忽略,集群需要一一删除各工程节点下的文件

    7)删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略集群需要一一删除各工程节点下的文件

    8)第 2 步解压获取的所有 JAR 包文件,上传替换工程/webapps/webroot/WEB-INF/lib下集群需要一一替换各工程节点下的文件

    9)参考 关闭或重启FineBI工程 文档重启单机工程节点/集群每一个工程节点,完成升级

    FineDataLink4.2.*升级步骤

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

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

    面向对象:本节升级步骤仅面向非运维平台部署的工程。运维平台部署的工程,请直接在FineDataLink服务群联系相关客户成功协助升级。

    升级步骤:


    步骤简介
    1获取JAR包

    请在FineDataLink服务群联系相关客户成功获取

    升级至 4.2.7.4 及以上,2025-06-26 发布

    2升级工程

    由于FineDataLink在4.2.x不同版本升级步骤不同,因此请完全参考小版本升级指南

    只需在升级时额外注意以下几点:

    • 删除工程/webapps/webroot/WEB-INF/lib下的netty-all-*.Final.jar(不存在可忽略,集群需要一一删除各工程节点下的文件)

    • 建议删除工程/webapps/webroot/WEB-INF/lib下的sqlite-jdbc-*.jar(删除sqlite-jdbc-*.jar后无法使用SQLite数据连接)(不存在可忽略,集群需要一一删除各工程节点下的文件

    • 删除工程/webapps/webroot/WEB-INF/classes/com/fr/data下impl文件夹中的所有文件(不存在可忽略集群需要一一删除各工程节点下的文件

    其他老版本升级步骤

    帆软 FineReport 10.* & 9.* & 8.*、FineBI5.* & 4.*、FineDataLink4.1.* & 4.0.* 系列及更早版本目前已经停止维护。

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

    3. 开启平台配置

    3.1 密码强度限制

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

    1)检查用户认证方式

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

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

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

    2)进行密码策略设置

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

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

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

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

    • 设置定期修改密码

    • 设置修改密码验证方式

    • 开启初始密码强制修改

    • 开启历史密码重复校验

    3.2 登录锁定设置

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

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

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

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

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

    3.3 开启模板认证

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

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

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

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

    4. 插件管理

    4.1 升级插件

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

    建议仅保留工程中实际使用的插件,对于未使用/已禁用的插件,建议全部卸载。

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

    插件名称高危版本建议升级
    FineVis数据可视化插件2025-03-10以下版本

    建议先参考第二章升级FineReport主JAR版本到最新

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

    至少升级插件到V3.3.0及以上版本

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

    扩展图表插件

    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 安装插件

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

    5.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

    SecurityConfig.disableJNDI

    作用:是否禁用 JNDI 数据连接,11.0.31 及以后版本支持该参数

    true:禁用JNDI

    true

    5.3 删除插件

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

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

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

    6. 更新密钥文件

    在工程加密算法中,密钥是保护数据安全的关键元素。某些公司企业要求定期更换密钥,以确保系统的长期安全和数据的保密性。

    1)使用前提

    1、仅 FineBI6.1.2 & FineReport11.0.28 & FineDataLink4.1.10.4 及以上版本支持本功能。

    2、更新密钥文件前将备份,可能需要较长时间,请确保系统不在使用状态。

    3、使用「默认算法」的工程支持更新密钥文件,「国密算法」不支持。

    4、帆软应用所使用的配置库,必须是「外接配置库」,使用「内置数据库」的系统不支持更新密钥文件。所使用的配置库用户,必须有该数据库的读写执行权限。

    5、集群环境下更新密钥文件后,其他节点无法连接配置库,节点间无法通信,无法做到节点之间密钥文件同步更新。

    • 因此如需更新集群环境下的密钥文件,请先关闭其他节点,仅在单节点环境下进行切换操作。

    • 成功更新后,请手动拷贝该节点/webroot/WEB-INF/config目录下的db.properties、encryption.properties、default_alpha、default_beta、default_gamma文件至其他节点,再启动其他节点,方可成功更新密钥文件。

    2)更新密钥

    • 管理员登录帆软应用,点击「管理系统>安全管理>安全防护」,点击加密算法处的「一键更新」按钮。

    • 请耐心等待,直到出现提示「密钥文件已更新成功」即可

    7. Tomcat 禁止访问JSP文件

    本节操作仅面向Tomcat独立部署的工程。

    1)以管理员身份进入%TOMCAT_HOME%/conf文件夹,使用文本编辑器打开web.xml文件。

    2)在web.xml文件中,新增以下配置块,并保存文件。

    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Disable JSP</web-resource-name>
            <url-pattern>*.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
        </auth-constraint>
    </security-constraint>

    3)配置成功后,将禁止直接通过URL访问JSP文件。

    例如,用户访问 http://example.com/test.jsp 会返回 403 Forbidden 错误。

    附件列表


    主题: 部署集成
    • 有帮助
    • 没帮助
    • 只是浏览
    中文(简体)

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

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

    不再提示

    8s后关闭



    AI

    联系我们
    在线支持
    获取专业技术支持,快速帮助您解决问题
    工作日9:00-12:00,13:30-17:30在线
    页面反馈
    针对当前网页的建议、问题反馈
    售前咨询
    采购需求/获取报价/预约演示
    或拨打: 400-811-8890 转1
    qr
    热线电话
    咨询/故障救援热线:400-811-8890转2
    总裁办24H投诉:17312781526
    提交页面反馈
    仅适用于当前网页的意见收集,帆软产品问题请在 问答板块提问前往服务平台 获取技术支持

    反馈已提交

    网络繁忙