1. 概述
1.1 版本
產品 | 版本 | 安全漏洞宣告 |
---|---|---|
FineBI | 6.0.* 5.1.0-5.1.18.* | 公示24年及歷史版本漏洞&解決方案:安全漏洞宣告 |
FineReport | 11.0.* 10.0.* | |
FineDataLink | 4.1.* |
1.2 應用場景
為了提升產品的安全性,本文整理了,正式工程中應當開啟的相關安全設定,請參照本文對工程進行安全加固。
注1:如無法完成產品升級和加固,請至少參考文檔完成:限制IP存取工程
注2:參照本文進行安全配置後,部分功能會有影響,主要面向安全訴求更高的客戶。
2. 產品升級
2.1 FR11.*&BI6.0.*&FDL4.1.*系列
操作目的:當前處於高危版本「JAR包在 2024-07 及之前版本」的工程,請升級至最新安全版本。
注:FineBI6.1.*系列,僅支援維運平台部署,請直接交握帆軟技術支援協助升級。請勿下載本文FineBI6.0.*JAR包進行更換。
操作內容:換工程JAR包、刪netty JAR包、清空impl資料夾,重啟即可。
產品 | 升級步驟 |
---|---|
FineReport11.* | 該升級操作僅面向非維運平台部署的工程。維運平台部署的工程,請直接交握帆軟技術支援協助升級 下文簡單描述了伺服器工程升級的操作步驟,更詳細升級指南請參考:小版本升級指南 FineBI的JAR包中,自帶FineReport相關JAR,因此FineBI與FineReport整合工程,升級FineBI即可 1)獲取JAR包
2)升級伺服器工程
3)升級設計器 低版本的設計器無法連結高版本的伺服器工程,因此本地設計器也需要同步升級至最新版本。
|
FineBI6.0.* | 該升級操作僅面向非維運平台部署的工程。維運平台部署的工程,請直接交握帆軟技術支援協助升級 FineBI6.1.*系列,僅支援維運平台部署,請直接交握帆軟技術支援協助升級。請勿下載6.0.*JAR包進行更換 下文簡單描述了伺服器工程升級的操作步驟,更詳細升級指南請參考:小版本升級指南 請在升級前認真查看升級注意事項,確定瞭解各個版本的相容問題:FineBI小版本升級注意事項 1)檢查工程情況
2)獲取JAR包
3)升級工程
|
FineDataLink4.1.* | 該升級操作僅面向非維運平台部署的工程。維運平台部署的工程,請直接交握帆軟技術支援協助升級。 下文簡單描述了伺服器工程升級的操作步驟,更詳細升級指南請參考:小版本升級指南 1)獲取JAR包
2)升級工程
|
2.2 FR10.*&BI5.1.0~5.1.18.x系列
操作目的:當前處於高危版本「JAR包在 2024-07 及之前版本」的工程,請升級至最新安全版本。
推薦配置:請跨大版本升級至「FR11.*&BI6.*系列」最高版本,例如從FineReport10.0.4升級至FineReport11.0.26。
如選擇本種操作方式,請交握帆軟技術支援協助。技術支援交握方式:服務>線上支援。
最低配置:請至少小版本升級至最新安全加固版本。
如選擇本種操作方式,可參考下文清空impl資料夾、換工程JAR包、更換netty JAR包,重啟即可。
產品 | 升級步驟 |
---|---|
FineReport10.0 | 下文簡單描述了伺服器工程升級的操作步驟,更詳細升級指南請參考:小版本升級指南 FineBI的JAR包中,自帶FineReport相關JAR,因此FineBI與FineReport整合工程,升級FineBI即可 1)升級伺服器工程
2)升級設計器 低版本的設計器無法連結高版本的伺服器工程,因此本地設計器也需要同步升級至最新版本。
|
FineBI5.1.18.x系列 FineBI5.1~5.1.17 | 下文簡單描述了伺服器工程升級的操作步驟,更詳細升級指南請參考:小版本升級指南 FineBI的JAR包中,自帶FineReport相關JAR,因此FineBI與FineReport整合工程,升級FineBI即可 備份工程,關閉工程
|
2.3 其他老版本
帆軟 FineReport 8.* &9.* 、FineBI4.*&5.0.*&5.1.19+、FineDataLink4.0.* 系列及更早版本目前已經停止維護。
此類版本安全係數極低,請交握帆軟技術支援進行大版本升級。技術支援交握方式:服務>線上支援。
3. 開啟平台配置
3.1 密碼強度限制
作用:增加密碼破解的難度。
1)檢查使用者認證方式
管理者登入數據決策系統,點選「管理系統>使用者管理>全局設定」。
若系統使用「平台內建認證」,則需進行下文的密碼策略限制。
若系統使用「LDAP認證」或「HTTP認證」,則無需進行密碼策略設定,密碼安全性由客戶自己的認證系統保證。
2)進行密碼策略設定
注意:設定了自訂登入網頁的工程,請勿執行本節操作,「系統管理>登入」相關配置項與自訂登入網頁不相容。
基於安全考慮,建議更換為預設登入頁。
操作:管理者登入數據決策系統,點選「管理系統>系統管理>登入」,在「密碼策略設定」處建議勾選以下配置:
設定密碼強度策略(推薦密碼長度8位,包含數字、大小寫字母、符號)
設定定期修改密碼
設定修改密碼驗證方式
開啟初始密碼強制修改
開啟歷史密碼重複校驗
3.2 登入鎖定設定
作用:主要用於防暴力破解。
建議:開啟登入鎖定。必選,最簡單有效的攻擊方式就是弱密碼爆破進入工程,再提權或透過其他手段入侵伺服器。
注意:設定了自訂登入網頁的工程,請勿執行本節操作,「系統管理>登入」相關配置項與自訂登入網頁不相容。
基於安全考慮,建議更換為預設登入頁。
操作:管理者登入數據決策系統,點選「管理系統>系統管理>登入」,開啟「登入驗證」。
3.3 開啟範本認證
作用:防止無鑑權查看範本
建議:開啟範本認證,選擇全量範本進行認證。選擇合適的認證方式,優先推薦「角色權限認證」
操作:管理者登入數據決策系統,點選「管理系統>範本認證>全局設定」,開啟「範本認證」,選擇合適的認證方式。
具體操作請參考:範本認證
4. 插件管理
4.1 升級插件
工程上所有的插件,建議全部更新至最新版本。
建議至少確定以下插件升級到安全版本(若未安裝相應插件可忽略):
插件名稱 | 高危版本 | 建議升級 |
---|---|---|
FineVis視覺化插件 | 2023-08-03及以下版本 | 1)建議先參考2.1節升級FineReport主JAR版本到最新 2)至少升級FineReport主JAR版本到2023.05.12及之後 3)升級插件版本到帆軟市場最新版本V1.17.1.1(2023-08-04發布) 插件升級步驟請參考:伺服器插件管理 |
擴展圖表插件 | 2023-06以下版本 | FineReport11.0升級插件版本到最新版本V4.6.10 FineReport10.0升級插件版本到插件商城最新版本 插件升級步驟請參考:伺服器插件管理 |
常用函式集合插件 | V9.4及以下版本 | 升級插件版本到最新版本 插件升級步驟請參考:伺服器插件管理 |
4.2 安裝插件
插件名稱 | 插件簡介 | 功能影響 |
---|---|---|
安全加固插件 | 插件作用: 對於被爆破了賬密的系統能有效提升伺服器安全性 插件安裝: 點選下載插件:安全加固插件 插件安裝步驟請參考:伺服器插件管理 注:插件安裝完成後,需重啟工程生效。 | 1)插件安裝後,需要重啟生效 2)請安裝最新1.6及以上版本插件(工程重啟生效),否則在高版本工程中,可能會出現遠端設計版本不匹配的情況 3)插件安裝後,以下安全風險較高的功能會被禁用
|
web防火牆插件 | 插件作用: 插件主要用於限制存取IP,預防channelAPI反序列化 插件安裝: 插件安裝及配置步驟請參見:限制IP存取工程 | 有三種配置方案,請根據需要選擇:
|
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:系統資訊API不傳回版本資訊。 | true |
以下參數無法透過「fine_conf_entity視覺化配置插件」進行修改,需手動修改或透過聯系資料庫管理者修改配置庫的方式進行修改。
如果 fine_conf_entity 表中不存在以下配置項,請手動新增。
操作方法請參考:填報修改fine_conf_entity 。
參數名 | 參數作用 | 建議參數值 |
---|---|---|
JDBCSecurityConfiguration.sqlBlackKeyword | 面向:FineReport11.x和FineBI6.x工程 作用:禁用危險SQL關鍵字 SQL語句執行禁止呼叫所配置的關鍵字,防止透過SQL語句觸發資料庫的遠端命令執行漏洞 注意:此配置會導致mysql、h2、hsql、sqlite、oracle和sqlserver等資料庫均無法執行相關SQL關鍵字 | ["exec","call"] |
PluginFileValidateConfig.fileValidateOpen | 作用:本地安裝/手動安裝插件時,為了防止惡意篡改插件包中的程式碼,2021.11.24 及之後的版本,提供插件完整性校驗功能。 true:插件包完整性校驗開啟 注意:開啟後無法從頁面上安裝沒有官方簽章的插件。 | true |
SystemConfig.driverUpload | 作用:是否允許在驅動管理中上傳驅動 JAR 包。該功能預設關閉。 true:允許上傳驅動 JAR 包。 | false |
5.3 刪除插件
參數配置完成後,需刪除「fine_conf_entity視覺化配置插件」。
設計器插件刪除方法參照 設計器插件管理
伺服器安裝刪除方法參照 伺服器插件管理
6. 更新金鑰檔案
在工程加密算法中,金鑰是保護資料安全的關鍵元素。某些公司企業要求定期更換金鑰,以確定系統的長期安全和資料的保密性。
1)使用前提
1、僅 FineReport11.0.28 及以上版本支援本功能。
2、更新金鑰檔案前將備份,可能需要較長時間,請確定系統不在使用狀態。
3、使用「預設算法」的工程支援更新金鑰檔案,「國密算法」不支援。
4、帆軟應用所使用的配置庫,必須是「配置外接資料庫」,使用「內建資料庫」的系統不支援更新金鑰檔案。所使用的配置庫使用者,必須有該資料庫的讀寫執行權限 。
5、叢集環境下更新金鑰檔案後,其他節點無法連結配置庫,節點間無法通訊,無法做到節點之間金鑰檔案同步更新 。
因此如需更新叢集環境下的金鑰檔案,請先關閉其他節點,僅在單節點環境下進行切換操作 。
成功更新後,請手動copy該節點下的/webroot/WEB-INF/config資料夾至其他節點,再啟動其他節點,方可成功更新金鑰檔案。
2)更新金鑰
管理者登入FineReport系統,點選「管理系統>安全管理>安全防護」,點選加密算法處的「一鍵更新」按鈕。
請耐心等待,直到出現提示「金鑰檔案已更新成功」即可