2021年12月09日,腾讯云安全运营中心监测到,Apache Log4j 2 被披露出存在严重代码执行漏洞,目前官方已发布正式安全公告及版本(漏洞编号:CVE-2021-44228),漏洞被利用可导致服务器被入侵等危害。
为避免您的业务受影响,腾讯云安全建议您及时开展安全自查,如在受影响范围,请您及时进行更新修复,避免被外部攻击者入侵。
漏洞详情
Apache Log4j 2是一个开源的日志记录组件,使用非常的广泛。在工程中以易用方便代替了 System.out 等打印语句,它是 Java 下最流行的日志输入工具。
使用 Log4j 2 在一定场景条件下处理恶意数据时,可能会造成注入类代码执行。
由于Log4j2 作为日志记录基础第三方库,被大量 Java 框架及应用使用,只要用到 Log4j2 进行日志输出且日志内容能被攻击者部分可控,即可能会受到漏洞攻击影响。因此,该漏洞也同时影响全球大量通用应用及组件,例如 :nApache Struts2nApache SolrnApache DruidnApache FlinknApache FlumenApache DubbonApache KafkanSpring-boot-starter-log4j2nElasticSearchnLogstashn…n建议及时检查并升级所有使用了 Log4j 组件的系统或应用。
风险等级
高风险。
漏洞风险
可导致攻击者利用该漏洞远程执行任意代码。
影响版本
Apache log4j2 >= 2.0, <= 2.14.1
安全版本
Apache log4j2 2.16.0
修复建议
升级到官方最新版本(推荐)
关闭 log4j 的 lookup 功能
配置文件方式关闭(推荐)
在应用程序的 classpath 中的 log4j2.component.properties 配置文件(如果没有文件,则手工新建)中添加如下两行内容(>=2.9.1以及之后版本)。
log4j2.formatMsgNoLookups=Truelog4j.formatMsgNoLookups=True
jvm 参数配置关闭(不推荐,容易丢失配置)
在 JVM 启动参数中加上
-Dlog4j2.formatMsgNoLookups=true
和 -Dlog4j.formatMsgNoLookups=true
。说明
对于2.0~2.10版本,应先升级至2.10+,再增加 jvm 参数。
升级到高版本 JDK(推荐)
高版本 JDK 有一些安全限制,建议升级 JDK 到6u211、7u201、8u191、11.0.1及以上的版本,可以在一定程度上限制 JNDI 等漏洞利用方式。
其他临时缓解措施
禁止不必要的业务访问外网,可通过防火墙、安全组等,禁止相关应用及业务主动对外连接。