IT资讯 腾讯容器安全首位发布开源 Log4j2 漏洞缓解工具

juan · 2021-12-14 15:00:11 · 热度: 23

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.15.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. 批量修改服务部署的配置文件,自动化重启相关服务。

这种针对线上容器服务的批量处置措施,云鼎实验室开发并开源了一键处置工具(点此下载),用户可通过以下任一种方式直接快速修复:

  • 命令行:

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

腾讯容器安全首位发布开源 Log4j2 漏洞缓解工具

  • Kubernetes Job:

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

值得注意的是,上述处置方式只是暂时的缓解措施,用户还是需要有条不紊的逐步升级镜像版本,实现持久的加固。同时,上述操作会重启服务,用户需评估相应的重启风险。

当前漏洞情况还在不断演进,本 工具 也将持续的进行关注和更新。

猜你喜欢:
暂无回复。
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册