Apache Log4j2是一个基于Java的日志记录工具,是Log4j的升级,是目前最优秀的Java日志框架之一。该日志框架被大量用于业务系统开发,用来记录日志信息。经确认Apache Log4j2 存在远程代码执行漏洞攻击代码。该漏洞利用无需特殊配置,入侵者可直接构造恶意请求,触发远程代码执行漏洞。经多方验证,Apache Struts2、Apache Solr、Apache Druid、Apache Flink等均受影响。
【漏洞详情】
12月9日,启明星辰安全应急响应中心监测到网上披露Apache Log4j2 存在远程代码执行漏洞,该漏洞是由于Apache Log4j2某些功能存在递归解析功能,未经身份验证的攻击者通过发送特定恶意数据包,可在目标服务器上执行任意代码。
【影响版本】
受影响的版本:ApacheLog4j 2.x <= 2.14.1
【修复建议】
1. 升级版本
目前官方已经修复该漏洞,建议受影响产品尽快升级Apache Log4j2所有相关应用到最新的log4j-2.15.0-rc2 版本:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2。
2. 临时方案
▸建议JDK使用6u211、7u201、8u191、11.0.1及以上的版本;
▸添加jvm启动参数:-Dlog4j2.formatMsgNoLookups=true;
▸添加log4j2.component.properties配置文件,增加如下内容为:
log4j2.formatMsgNoLookups=true;
▸系统环境变量中将FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS设置为true;
▸禁止安装log4j的服务器访问外网,并在边界对dnslog相关域名访问进行检测。
▸凡检测到包含“${jndi:ldap:”的关键字,直接阻断访问流量
▸使用如下官方临时补丁进行修复https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1
▸在攻击过程中可能使用 DNSLog 进行漏洞探测,建议可以通过流量监测设备监控是否有相关 DNSLog 域名的请求。
3. 人工排查
相关用户可根据Java jar解压后是否存在org/apache/logging/log4j相关路径结构,判断是否使用了存在漏洞的组件,若存在相关Java程序包,则很可能存在该漏洞。
若程序使用Maven打包,查看项目的pom.xml文件中是否存在下图所示的相关字段,若版本号为小于2.15.0,则存在该漏洞。
若程序使用gradle打包,可查看build.gradle编译配置文件,若在dependencies部分存在org.apache.logging.log4j相关字段,且版本号为小于2.15.0,则存在该漏洞。
【启明星辰检测与防护类产品解决方案】
1. 天清入侵防御系统
天清入侵防御系统已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测和防护。
2. 天清Web应用安全网关
天清Web应用安全网关已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测和防护。
3. 天阗入侵检测与管理系系统
天阗入侵检测与管理系统已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测。
4. 天阗超融合检测探针
天阗超融合检测探针已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测。
5. 天阗威胁分析一体机
天阗威胁分析一体机已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测。
6. 天阗高级持续性威胁检测与管理系统
天阗高级持续性威胁检测与管理系统已经发布紧急特征库升级包,可在线升级或离线升级,即可对此攻击进行检测。
启明星辰集团WAF、IPS、TAR、CSP、IDS、CS、APT产品特征库官网更新完毕,网关和安管不受此漏洞影响。复制链接(https://venustech.download.venuscloud.cn/),即可进入统一升级中心,下载所需升级包。