反饋已提交

網絡繁忙

產品安全迭代說明

1. 概述

1.1 版本

產品版本
安全漏洞宣告
FineBI
6.0公示23年護網及歷史版本漏洞&解決方案:安全漏洞宣告
FineReport11.0

1.2 應用場景

為了提升產品的安全性,本文整理了FineReport11.0版本發佈以來所有漏洞及安全優化資訊。

注1:如無法完成產品升級和加固,請至少參考文檔完成:限制IP存取工程

注2:參照本文進行安全配置後,部分功能會有影響,主要面向安全訴求更高的客戶。

2. 安全漏洞

描述
說明修復版本
log4j 版本存在安全漏洞
  • log4j 升級至2.17.1版本

11.0.2
修改使用者API明文傳輸資訊
  • 修改使用者資訊—獲取檢驗碼API增加POST 方法

  • 保留GET API的相容

  • 前臺API呼叫方式改為POST

  • 其他場景若涉及類似API呼叫,預設也改為POST,避免GET方法呼叫導致的資訊公佈

11.0.7
系統管理的部分API越權存取
  • 整改越權API

11.0.8
SSRF漏洞
  • SSRF漏洞修復

  • 系統管理新增支援統一的白名單限制

11.0.8
內建部署成功的頁面未滿足部分客戶的安全規範要求
  • 刪除部署成功頁面,避免系統的某些資訊公佈

  • 遮蔽產品中的帆軟相關元素,防止一些網站進行資產收集

11.0.8
ChannelAPI反序列化漏洞
  • 升級至2023-07-21及之後版本

  • 遠端設計API支援IP 白名單設定

  • 透過代理伺服器或防火牆,限制IP的存取:webroot/decision/remote/design/channel(限制後只允許受信任的 IP 進行報表遠端設計,查看不受影響)

11.0.9
登入APIIP存取無限制
  • 新增白名單設定,支援管理者帳號只在特定IP登入

11.0.10

JDBC攻擊

(利用低版本的jdbc驅動或新型jdbc攻擊手段getshell)

為了提高應對JDBC攻擊的能力:

  • 預設禁用一些關鍵詞

  • 在配置庫中新增一個欄位用於配置jdbc url的黑名單

11.0.11
CVE-2016-2183

可透過修改配置檔案限定

  • TLS版本需1.2及以上

  • 使用符合安全要求的加密套件

11.0.13
觸發V8遠端程式碼執行漏洞11.0.13

jquery版本過低

存在XSS注入風險

  • jquery 升级到 3.6.3版本

11.0.13
URL明文傳輸token
  • 在fine_conf_entity表中配置 WebSocketConfig.webSocketTokenInHeader,值為True ,讓Token 在請求Header 中傳輸

11.0.14
Tomcat部署包內建jdk升級
  • Tomcat部署包(win)內建 jdk版本由Oracle 1.8.0_191更換為OpenJDK RedHat 1.8.0_191

11.0.15

3. 安全優化

描述
說明優化版本
支援取消「保持登入」功能

出於部分安全性要求,新增支援管理者自訂全局開關「保持登入」功

詳細內容見:登入超時

11.0.11
「檔案上傳校驗」優化

對證件、金鑰檔案以及lic檔案的上傳進行單獨校驗

詳細內容見:檔案上傳校驗

11.0.11
存取限制增強

HTTP 請求頭中的 Referer 欄位中包含了 HTTP 請求的來源資訊,即使用者是從哪個網頁進入到當前頁面的。

基於 Referer 欄位,在伺服器端設定存取控制規則(如白名單),限制使用者只能從固定網頁跳轉存取伺服器資源,防止伺服器資源被非法盜用。

在 FineReport 中開啟 Referer 校驗並配置白名單後,將根據白名單對訪客的身分進行識別和過濾,防止報表工程裏的報表被直接存取或者被其他網站連結存取。

詳細內容見:Referer校驗

11.0.12
API資訊傳輸加密方式優化

預設傳輸加密算法類型由「對稱加密」更改為「非對稱加密」

使用者可根據自身需求,在對稱加密算法和非對稱加密算法間進行切換

詳細內容見:加密算法
11.0.14
API報錯優化11.0.14 及之後版本的工程預設開啟「請求迴應優化」按鈕。

請求迴應優化按鈕關閉時,顯示詳細堆棧資訊。若使用者認為顯示具體的堆棧資訊存在安全隱患,可開啟「請求迴應優化」按鈕。

請求迴應優化按鈕開啟時,提供關鍵報錯資訊,遮蔽具體報錯堆棧。

詳細內容見:安全防護
11.0.14
「使用者輸入校驗」

11.0.16 及之後版本的工程,新增「使用者輸入校驗」功能。

「使用者輸入校驗」功能預設開啟,對使用者在數據決策系統內特定場景的輸入進行校驗,可以有效過濾惡意程式碼,確定系統的安全性。

詳細內容見:使用者輸入校驗
11.0.16
SQL公式支援防注入

新增防 SQL 注入書寫方式,對安全問題需求較高可採用新寫法,原寫法仍可用。

11.0.18及之後版本支援較安全的SQL防注入寫法:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '${$$$}' ",3,4)

所有版本支援:

=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)

詳細內容見:SQL函式
11.0.18
URL分號過濾機制

Tomcat 在解析使用者請求的 URL 時,如果 URL 中包含分號,則 Tomcat 會過濾掉分號與斜槓之間的字串內容(包括分號)並進標準化處理。

攻擊者可以利用分號繞過權限驗證機制,存取敏感資源或執行惡意操作,危害系統的安全性。

11.0.19 及之後版本,FineReport 新增 URL 配置項,可以禁止在 URL 中使用分號,以防止路徑遍歷攻擊、權限繞過以及 URL 混淆和欺騙等安全問題。

詳細內容見:安全防護
11.0.19
手動新增使用者時,帳號和姓名中包含的字元限制放寬

帳號與姓名的設定要求:

11.0.20及之後版本:

不允許包含以下非法字元:引號、<>、&

不允許包含以下xss注入關鍵字:/script、javascript:、onblur

不允許包含以下命令執行關鍵字:getRuntime、ProcessBuilder、java.lang.ProcessImpl

11.0.20之前版本:

只允許包含字母、漢字、數字、底線、@、減號和點

詳細內容見:新增使用者

11.0.20
新增參數配置

新增參數SecurityConfig.forbidLoginNoEncryption 控制是否允許透過 encrypted 來控制密碼參數是否加密

新增參數SecurityConfig.hideFrontSeed 控制 system/info API是否傳回不再使用的 frontSM4Key 和 frontSeed

新增參數SecurityConfig.allowDeleteLog 控制是否允許在平台中手動刪除日誌

詳細內容見:fine_conf_entity視覺化配置

11.0.21


附件列表


主題: Lauren--下架
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

10s後關閉