【修復升級】騰訊容器安全首個釋出開源 Log4j2 漏洞緩解工具

雲鼎實驗室發表於2021-12-14

12月9日晚,Apache Log4j2反序列化遠端程式碼執行漏洞(CVE-2021-44228)細節已被公開,受影響版本為Apache Log4j 2.x< 2.15.0-rc2。

Apache Log4j-2中存在JNDI注入漏洞,當程式將使用者輸入的資料進行日誌記錄時,即可觸發此漏洞,成功利用此漏洞可以在目標伺服器上執行任意程式碼。


當前官方已釋出2.15.0、2.15.1-rc1等版本,使用者可升級至log4j-core-2.16.0 版本採取以下加固緩解措施:

(1)新增JVM啟動引數-Dlog4j2.formatMsgNoLookups=true(>=2.10+版本,或先升級至2.10+);

(2)在應用classpath下新增log4j2.component.properties配置檔案,檔案內容為:log4j2.formatMsgNoLookups=true。

 

根據騰訊雲容器安全服務TCSS監測,有大量的容器映象存在該漏洞風險。對於容器環境下該漏洞的應急處置,有著更大的難度。

官方已釋出修復版本log4j-2.15.0、2.15.1-rc1等版本,將相關受影響映象升級到修復版本,然後升級線上服務,相對來說是最安全的方案。

但是升級版本,除了對業務穩定性帶來的影響是未知的之外,對於像log4j2這種元件,其使用非常廣泛,受影響的映象非常多,逐個修復的工作量也會非常大,很難在短時間內快速完成。

除了升級版本,也會有像修改啟動引數、配置檔案等臨時緩解措施。但是對於容器環境來說,這些配置一般都是直接打包在映象中,同樣需要透過逐個修改映象,再重新發布服務來完成。

 

因此,對容器環境下如何快速進行漏洞緩解處置,我們提供了一種暫時不需要修復映象,直接批次修改線上容器執行狀態的方法,來臨時緩解漏洞影響。大體操作思路是:

(1)透過映象掃描工具,篩選出漏洞影響映象;

(2)透過漏洞映象,自動化定位受影響服務,提取執行引數等資訊;

(3)批次修改服務部署的配置檔案,自動化重啟相關服務。

 

這種針對線上容器服務的批次處置措施,雲鼎實驗室開發並開源了一鍵處置工具(https://github.com/YunDingLab/fix_log4j2),使用者可透過以下任一種方式直接快速修復:

  • 命令列:

./bundles/fix_log4j-c ./config.yaml


【修復升級】騰訊容器安全首個釋出開源 Log4j2 漏洞緩解工具


  • KubernetesJob:

kubectl apply -f https://tcss-compliance-1258344699.cos.ap-guangzhou.myqcloud.com/tools/fix_log4j2/job.yaml

 

值得注意的是,上述處置方式只是暫時的緩解措施,使用者還是需要有條不紊的逐步升級映象版本,實現持久的加固。同時,上述操作會重啟服務,使用者需評估相應的重啟風險。

當前漏洞情況還在不斷演進,本工具也將持續的進行關注和更新。



關於騰訊容器安全服務(TCSS)


騰訊容器安全服務(Tencent Container Security Service, TCSS)提供容器資產管理、映象安全、執行時入侵檢測等安全服務,保障容器從映象生成、儲存到執行時的全生命週期,幫助企業構建容器安全防護體系。

騰訊容器安全服務產品團隊結合業內最大規模容器叢集安全治理運營經驗打磨產品,推動行業標準及規範的編寫制定,並首發《容器安全白皮書》,對國內容器環境安全現狀進行分析總結,助力雲原生安全生態的標準化和健康發展。


為助力全網客戶快速修復漏洞,免費向使用者提供試用,登入控制檯(https://console.cloud.tencent.com/tcss)即可快速體驗。

相關文章