騰訊容器安全首個發布開源 Log4j2 漏洞緩解工具
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

- 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)即可快速體驗。