反馈已提交

网络繁忙

限制IP访问工程

  • 文档创建者:Carly
  • 历史版本:52
  • 最近更新:Carly 于 2024-09-20
  • 概述

    部分工程为提升安全性,希望限制 IP 访问工程或禁止通过部分高危接口访问工程。

    本文列举三种场景下的解决方案。建议优先考虑禁用/限制使用channel接口,再考虑限制IP访问工程。

    • 方案一:限制任何用户均无法通过相关接口连接工程(支持禁用远程设计channel接口、单点登录/login/cross/domain接口、老引擎/view/ReportServer接口

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

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

    方案一:禁用接口(远程设计接口、单点登录接口、老引擎接口)

    场景说明

    使用场景
    操作步骤
    安全系数★★★★☆
    场景说明

    直接禁用远程设计channel接口、单点登录/login/cross/domain接口、老引擎/view/ReportServer接口

    方案生效后,任何用户均无法通过远程设计/单点登录/老引擎连接工程,但不影响用户登录平台查看模板等操作

    支持自定义选择需要禁用的接口(不一定要全部禁用)

    版本限制

    如需使用本节方案,请确保工程版本满足:

    • FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本,请确保工程 JAR 包在 2022-05-10 及以上

    • FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本,请确保工程 JAR 包在 2021-04-11 及以上

    如不满足版本要求,请联系帆软技术支持协助。技术支持联系方式:服务平台>在线支持

    解决方案

    1)安装插件

    点击下载「web防火墙」插件,服务器安装插件方法参照 服务器插件管理

    产品版本
    JAR包限制下载插件

    FineReport11.0

    FineBI6.0

    FineBI5.1.19及以上版本

    请确保工程JAR包在

    2023-02-21 及以上

    fine-plugin-com.fr.plugin.web.application.firewall.v11-1.2.1.zip

    FineReport10.0

    FineBI5.1.18.x系列

    FineBI5.1.17及以下版本

    请确保工程JAR包在

    2021-04-11 及以上

    fr-plugin-web-application-firewall-1.2.1.zip

    2)安装配置文件

    • 点击下载并解压,获取配置文件 url.properties:url.zip

    • 文件中包含三种接口,如只需禁用部分接口,可删除其他规则(建议全部禁用)

    • 将配置文件 url.properties 上传到工程 /webapps/webroot/WEB-INF/config/security 目录下。

    注:对于容器化部署的工程,需要上传配置文件到工程外挂目录/config/security 目录下,可参考:运维平台部署的项目如何上传web防火墙配置文件

    3)生效配置

    • FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本:配置好文件后,无需重启工程。但管理员需要登录数据决策系统,在「管理系统>插件管理」中先禁用「web防火墙」插件,再启用插件,配置方可生效。

    • FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本:配置完成后,请参考「关闭或重启FineReport工程」文档,重启工程,配置方可生效。

    插件生效,关闭远程设计channel接口、单点登录/login/cross/domain接口、老引擎/view/ReportServer接口

    方案生效后,任何用户均无法通过远程设计/单点登录/老引擎连接工程,但不影响用户登录平台查看模板等操作。

    验证生效

    请使用浏览器访问接口地址,三种接口验证地址分别为(请自行更换为你自己工程的ip和端口号):

    • http://ip:ports/webroot/decision/remote/design/channel

    • http://ip:ports/webroot/decision/login/cross/domain

    • http://ip:ports/webroot/decision/view/ReportServer

    如报错403,提示「访问xxx的请求遭到拒绝,您未获授权,无法查看此网页」(如下图),说明配置生效

    如提示「非常抱歉,您无法查看该页面,Request method GET' not supported」,说明配置未生效,请检查操作步骤。

    方案二:限制远程设计(channel接口)的IP

    场景说明

    使用场景
    操作步骤
    安全系数★★★★☆
    场景说明

    配置远程设计白名单。仅白名单中的IP/IP段,支持远程设计连接工程

    白名单外的IP,无法远程设计(channel接口)连接工程,但不影响用户登录平台查看模板等操作

    版本限制

    如需使用本节方案,请确保工程版本满足:

    • FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本,请确保工程 JAR 包在 2022-05-10 及以上

    • FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本,请确保工程 JAR 包在 2021-04-11 及以上

    如不满足版本要求,请联系帆软技术支持协助。技术支持联系方式:服务平台>在线支持

    配置步骤

    不同版本的配置步骤不相同,请根据自身情况选择。

    FR11.0/BI6.0/BI5.1.19+

    需通过修改finedb配置库中fine_conf_entity表字段的方式进行设置。操作方法请参考:填报修改fine_conf_entity 。

    查询并修改 fine_conf_entity 表中的以下配置项,如不存在以下配置项,新增记录,输入参数和相应参数值即可。

    修改成功后,参考「关闭或重启FineReport工程」文档,重启工程。重启成功后,白名单外的IP无法通过远程设计(channel接口)连接工程。

    参数名
    参数作用建议参数值
    RemoteConnectionConfig.enableWhitelistVerify

    作用:针对 channel 接口反序列化漏洞对远程设计可能的影响,可通过配置限制访问 IP 来防止恶意输入行为

    true:对远程设计连接接口进行 IP 白名单校验。

    注意:开启后,白名单以外的 IP 无法进行远程设计连接。

    true
    RemoteConnectionConfig.ipWhiteList前提:开启上一个白名单校验。

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

    值为 IP 段,且为数组形式

    格式:

    ["item1","item2"]

    示例:

    ["119.0.0.1", "192.168.1.1-192.168.1.255", "119.0.0.1/16"]

    FR10.0/BI5.1.18.x/BI5.1.17-

    支持通过代理服务器或防火墙,限制channel接口的访问,限制后只允许受信任的IP进行报表远程设计,查看不受影响。

    例如 nginx 设置参考如下,其中 allow 填写允许进行访问的 IP 或 IP段:

    server {
                       listen 443;
                       server_name your_domain;  #IP或者域名
                       location ~ .*\/channel {
                              allow XX.XX.XX.XX;
                              deny all;
                             }
              }

    验证生效

    使用白名单以外的IP地址的设备打开设计器,远程设计连接该工程。弹窗提示「远程设计连接发生未知错误」,堆栈显示「com.fr.workspace.engine.exception.RemoteDesigenUnknownException:java.lang.reflect.UndeclaredThrowableException」,即代表配置成功。

    注:若成功访问了工程,说明配置未生效,请检查操作步骤。

    方案三:限制访问帆软系统的IP/IP段

    场景说明

    使用场景
    操作步骤
    安全系数★★★★★
    场景说明

    支持设置访问工程的IP白名单和黑名单

    不被放行的IP,无法通过任何方式访问工程,包括但不限于:远程设计连接工程、登录平台查看模板、单点登录查看模板等

    • 只有黑名单时,拦截黑名单上的IP,放行其他IP

    • 只有白名单时,放行白名单上的IP,拦截其他IP

    • 黑白名单同时存在时,放行在白名单且不在黑名单上的IP,拦截其他所有IP

    • 无配置放行所有IP

    版本限制

    如需使用本节方案,请确保工程版本满足:

    • FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本,请确保工程 JAR 包在 2022-05-10 及以上

    • FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本,请确保工程 JAR 包在 2021-04-11 及以上

    如不满足版本要求,请联系帆软技术支持协助。技术支持联系方式:服务平台>在线支持

    配置步骤

    1)安装插件

    点击下载web防火墙」插件,服务器安装插件方法参照 服务器插件管理

    产品版本
    JAR包限制下载插件

    FineReport11.0

    FineBI6.0

    FineBI5.1.19及以上版本

    请确保工程JAR包在

    2023-02-21 及以上

    fine-plugin-com.fr.plugin.web.application.firewall.v11-1.2.1.zip

    FineReport10.0

    FineBI5.1.18.x系列

    FineBI5.1.17及以下版本

    请确保工程JAR包在

    2021-04-11 及以上

    fr-plugin-web-application-firewall-1.2.1.zip

    2)上传配置文件

    • 点击下载并解压,获取配置文件 ip.properties :ip.zip 。使用文本编辑器打开文件,设置 IP 白名单和黑名单。

    • 将修改后的配置文件 ip.properties 上传到工程 /webapps/webroot/WEB-INF/config/security 目录下。

    注:对于容器化部署的工程,需要上传配置文件到工程外挂目录/config/security 目录下,可参考:运维平台部署的项目如何上传web防火墙配置文件

    说明

    配置说明

    支持配置白名单和黑名单,使用~代表黑名单

    • 白名单规则:rulex=允许放行的IP/IP段

    • 黑名单规则:rulex=~禁止放行的IP/IP段

    支持 IP 和 IP 段,包括以下多种写法:

    • -号代表范围,例如:111.1.1.1-111.1.1.120

    • /号代表子网掩码位数,例如:111.1.1.1/16(代表 111.1.0.0 到 111.1.255.255 )

    拦截逻辑
    • 只有黑名单时,拦截黑名单上的IP,放行其他IP

    • 只有白名单时,放行白名单上的IP,拦截其他IP

    • 黑白名单同时存在时,放行在白名单且不在黑名单上的IP,拦截其他所有IP

    • 无配置放行所有IP

    3)生效配置

    • FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本:配置好文件后,无需重启工程。但管理员需要登录数据决策系统,在「管理系统>插件管理」中先禁用「web防火墙」插件,再启用插件,配置方可生效。

    • FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本:配置完成后,请参考「关闭或重启FineReport工程」文档,重启工程,配置方可生效。

    验证生效

    使用禁止放行的 IP 的设备访问工程,提示「访问xxx的请求遭到拒绝,您未获授权,无法查看此网页」。如下图所示:

    注:若成功访问了工程,说明配置未生效,请检查操作步骤。


    附件列表


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

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

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

    不再提示

    10s后关闭



    AI

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