反饋已提交
網絡繁忙
為了提升產品的安全性,本文整理了FineReport11.0版本發佈以來所有漏洞及安全優化資訊。
注1:如無法完成產品升級和加固,請至少參考文檔完成:限制IP存取工程
注2:參照本文進行安全配置後,部分功能會有影響,主要面向安全訴求更高的客戶。
log4j 升級至2.17.1版本
修改使用者資訊—獲取檢驗碼API增加POST 方法
保留GET API的相容
前臺API呼叫方式改為POST
其他場景若涉及類似API呼叫,預設也改為POST,避免GET方法呼叫導致的資訊公佈
整改越權API
SSRF漏洞修復
系統管理新增支援統一的白名單限制
刪除部署成功頁面,避免系統的某些資訊公佈
遮蔽產品中的帆軟相關元素,防止一些網站進行資產收集
升級至2023-07-21及之後版本
遠端設計API支援IP 白名單設定
透過代理伺服器或防火牆,限制IP的存取:webroot/decision/remote/design/channel(限制後只允許受信任的 IP 進行報表遠端設計,查看不受影響)
新增白名單設定,支援管理者帳號只在特定IP登入
JDBC攻擊
(利用低版本的jdbc驅動或新型jdbc攻擊手段getshell)
為了提高應對JDBC攻擊的能力:
預設禁用一些關鍵詞
在配置庫中新增一個欄位用於配置jdbc url的黑名單
可透過修改配置檔案限定:
TLS版本需1.2及以上
使用符合安全要求的加密套件
詳細內容見:觸發V8遠端程式碼執行漏洞
jquery版本過低
存在XSS注入風險
jquery 升级到 3.6.3版本
在fine_conf_entity表中配置 WebSocketConfig.webSocketTokenInHeader,值為True ,讓Token 在請求Header 中傳輸
Tomcat部署包(win)內建 jdk版本由Oracle 1.8.0_191更換為OpenJDK RedHat 1.8.0_191
出於部分安全性要求,新增支援管理者自訂全局開關「保持登入」功能
詳細內容見:登入超時
對證件、金鑰檔案以及lic檔案的上傳進行單獨校驗
詳細內容見:檔案上傳校驗
HTTP 請求頭中的 Referer 欄位中包含了 HTTP 請求的來源資訊,即使用者是從哪個網頁進入到當前頁面的。
基於 Referer 欄位,在伺服器端設定存取控制規則(如白名單),限制使用者只能從固定網頁跳轉存取伺服器資源,防止伺服器資源被非法盜用。
在 FineReport 中開啟 Referer 校驗並配置白名單後,將根據白名單對訪客的身分進行識別和過濾,防止報表工程裏的報表被直接存取或者被其他網站連結存取。
詳細內容見:Referer校驗
預設傳輸加密算法類型由「對稱加密」更改為「非對稱加密」
使用者可根據自身需求,在對稱加密算法和非對稱加密算法間進行切換
請求迴應優化按鈕關閉時,顯示詳細堆棧資訊。若使用者認為顯示具體的堆棧資訊存在安全隱患,可開啟「請求迴應優化」按鈕。
請求迴應優化按鈕開啟時,提供關鍵報錯資訊,遮蔽具體報錯堆棧。
11.0.16 及之後版本的工程,新增「使用者輸入校驗」功能。
「使用者輸入校驗」功能預設開啟,對使用者在數據決策系統內特定場景的輸入進行校驗,可以有效過濾惡意程式碼,確定系統的安全性。
新增防 SQL 注入書寫方式,對安全問題需求較高可採用新寫法,原寫法仍可用。
11.0.18及之後版本支援較安全的SQL防注入寫法:
=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '${$$$}' ",3,4)
所有版本支援:
=sql("FRDemo","SELECT * FROM STSCORE where CLASSNO = '"+$$$+"' ",3,4)
Tomcat 在解析使用者請求的 URL 時,如果 URL 中包含分號,則 Tomcat 會過濾掉分號與斜槓之間的字串內容(包括分號)並進標準化處理。
攻擊者可以利用分號繞過權限驗證機制,存取敏感資源或執行惡意操作,危害系統的安全性。
11.0.19 及之後版本,FineReport 新增 URL 配置項,可以禁止在 URL 中使用分號,以防止路徑遍歷攻擊、權限繞過以及 URL 混淆和欺騙等安全問題。
帳號與姓名的設定要求:
11.0.20及之後版本:
不允許包含以下非法字元:引號、<>、&
不允許包含以下xss注入關鍵字:/script、javascript:、onblur
不允許包含以下命令執行關鍵字:getRuntime、ProcessBuilder、java.lang.ProcessImpl
11.0.20之前版本:
只允許包含字母、漢字、數字、底線、@、減號和點
詳細內容見:新增使用者
新增參數SecurityConfig.forbidLoginNoEncryption 控制是否允許透過 encrypted 來控制密碼參數是否加密
新增參數SecurityConfig.hideFrontSeed 控制 system/info API是否傳回不再使用的 frontSM4Key 和 frontSeed
新增參數SecurityConfig.allowDeleteLog 控制是否允許在平台中手動刪除日誌
詳細內容見:fine_conf_entity視覺化配置
文 檔回 饋
滑鼠選中內容,快速回饋問題
滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。
不再提示
10s後關閉