反饋已提交
網絡繁忙
護網行動中,部分工程為提升安全性,希望限制 IP 存取工程或禁止透過部分高危API存取工程。
本文列舉三種場景下的解決方案。建議優先考慮禁用/限制使用channelAPI,再考慮限制IP存取工程。
方案一:限制任何使用者均無法透過遠端設計(channelAPI)連結工程
方案二:限制黑名單內/白名單外的IP無法透過遠端設計(channelAPI)連結工程
方案三:限制黑名單內/白名單外的IP無法透過任何方式存取工程,包括但不限於:遠端設計連結工程、登入平台查看範本、單點登入查看範本等。
直接禁用遠端設計工程
方案生效後,任何使用者均無法透過遠端設計(channelAPI)連結工程,但不影響使用者登入平台查看範本等操作
如需使用本節方案,請確定工程版本滿足:
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防火牆」插件,伺服器安裝插件方法參照 伺服器插件管理
FineReport11.0
FineBI6.0
FineBI5.1.19及以上版本
請確定工程JAR包在
2022-03-10 及以上
fine-plugin-com.fr.plugin.web.application.firewall.v11-1.2.zip
FineReport10.0
FineBI5.1.18.x系列
FineBI5.1.17及以下版本
2021-04-11 及以上
fr-plugin-web-application-firewall-1.2.zip
2)安裝配置檔案
點選下載並解壓,獲取配置檔案 url.properties:url.zip
將配置檔案 url.properties 上傳到工程 /webapps/webroot/WEB-INF/config/security 目錄下。
将配置文件 url.properties 上传到工程 /webapps/webroot/WEB-INF/config/security 目录下。
注:对于容器化部署的工程,需要上传配置文件到工程外挂目录/config/security 目录下,可参考:运维平台部署的项目如何上传web防火墙配置文件。
3)生效配置
FineReport11.0/FineBI6.0/FineBI5.1.19及以上版本:配置好檔案後,無需重啟工程。但管理者需要登入數據決策系統,在「管理系統>插件管理」中先禁用插件,再啟動插件,配置方可生效。
FineReport10.0/FineBI5.1.18.x系列/FineBI5.1.17及以下版本:配置完成後,請參考「關閉或重啟FineReport工程」文檔,重啟工程,配置方可生效。
插件生效,關閉遠端設計 channel API,任何使用者均無法遠端設計連結工程。
请使用浏览器访问接口地址,三种接口验证地址分别为(请自行更换为你自己工程的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」,说明配置未生效,请检查操作步骤。
配置遠端設計白名單。僅白名單中的IP/IP段,支援遠端設計連結工程
白名單外的IP,無法遠端設計(channelAPI)連結工程,但不影響使用者登入平台查看範本等操作
不同版本的配置步驟不相同,請根據自身情況選擇。
需透過修改finedb配置庫中fine_conf_entity表欄位的方式進行設定。操作方法請參考:填報修改fine_conf_entity 。
查詢並修改 fine_conf_entity 表中的以下配置項,如不存在以下配置項,新增記錄,輸入參數和相應參數值即可。
修改成功後,參考「關閉或重啟FineReport工程」文檔,重啟工程。重啟成功後,白名單外的IP無法透過遠端設計(channelAPI)連結工程。
作用:針對 channel API反序列化漏洞對遠端設計可能的影響,可透過配置限制存取 IP 來防止惡意輸入行為
true:對遠端設計連結API進行 IP 白名單校驗。
注意:開啟後,白名單以外的 IP 無法進行遠端設計連結。
作用:用於配置白名單內容,白名單內的 IP 和 IP 段連結成功,相應功能不受影響。
值為 IP 段,且為陣列形式
格式:
["item1","item2"]
範例:
["119.0.0.1", "192.168.1.1-192.168.1.255", "119.0.0.1/16"]
支援透過代理伺服器或防火牆,限制channelAPI的存取,限制後只允許受信任的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
2022-05-10 及以上
2)上傳配置檔案
點選下載並解壓,獲取配置檔案 ip.properties :ip.zip 。使用正文編輯器開啟檔案,設定 IP 白名單和黑名單。
將修改後的配置檔案 ip.properties 上傳到工程 /webapps/webroot/WEB-INF/config/security 目錄下。
支援配置白名單和黑名單,使用~代表黑名單
白名單規則:rulex=允許放行的IP/IP段
黑名單規則:rulex=~禁止放行的IP/IP段
支援 IP 和 IP 段,包括以下多種寫法:
*號代表網段,例如:111.1.1.*
-號代表範圍,例如:111.1.1.1-111.1.1.120
/號代表子網遮罩位數,例如:111.1.1.1/16(代表 111.1.0.0 到 111.1.255.255)
使用禁止放行的 IP 的裝置存取工程,提示「存取xxx的請求遭到拒絕,您未獲授權,無法查看此網頁」。如下圖所示:
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉
反馈已提交
网络繁忙