漏洞概要 :
Apache Log4j是一个基于Java的日志记录组件。Apache Log4j2是Log4j的升级版本,通过 重写Log4j引入了丰富的功能特性。该日志组件被广泛应用于业务系统开发,用以记录程序 输入输出日志信息。由于Log4j2组件在处理程序日志记录时存在JNDI注入缺陷,未经授权 的攻击者利用该漏洞,可向目标服务器发送精心构造的恶意数据,触发Log4j2组件解析缺 陷,实现目标服务器的任意代码执行,获得目标服务器权限。
可能的受影响应用包括但不限于如下:
- Apache Struts
- Apache Solr
- Apache Druid
- Apache Flink
- ElasticSearch
- Flume
- Apache Dubbo
- Logstash
- Kafka
- Spring-Boot-starter-log4j2
自主检测处置方案
自行检测
1、相关用户可根据Java jar解压后是否存在org/apache/logging/log4j相关路径结构,判断 是否使用了存在漏洞的组件,若存在相关Java程序包且版本为Log4j2.x <= 2.14.1,则很可能 存在该漏洞。
2、攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议通过流量监测设备监控是否 有相关 DNSLog 域名的请求,或者异常dns请求流量。
3、建议通过监测相关流量或者日志中是否存在"jndi:ldap://"、"jndi:rmi"等字符来发现可能 的攻击行为。
临时解决方案
1. 设置jvm参数 “-Dlog4j2.formatMsgNoLookups=true”
2. 设置“log4j2.formatMsgNoLookups=True”
3. 系统环境变量“FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS”设置 为“true”
4. 关闭对应应用的网络外连,禁止主动外连
官方补丁
检查所有使用了 Log4j2 组件的系统,官方修复补丁如下:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
腾讯云安全处置手册
使用腾讯T-Sec云防火墙防御漏洞攻击
腾讯T-Sec云防火墙已新增虚拟补丁规则支持阻断利用Apache Log4j2远程代码执行漏洞的 攻击,客户可以开通腾讯云防火墙高级版进行防御。
使用腾讯T-Sec Web应用防火墙(WAF)防御漏洞攻击
登录腾讯云Web应用防火墙控制台,依次打开左侧“资产中心-域名列表”,添加域名并开启 防护即可。步骤细节如下:
腾讯云Web应用防火墙控制台:资产中心->域名列表,点击添加域名:
使用腾讯T-Sec主机安全(云镜)检测修复漏洞。
登录腾讯主机安全控制台,依次打开左侧“漏洞管理”,对扫描到的系统组件漏洞、web应用 漏洞、应用漏洞进行排查。步骤细节如下:
主机安全(云镜)控制台:打开漏洞管理->系统漏洞管理,点击一键检测:
查看扫描到的Apache Log4j组件远程代码执行漏洞风险项目:
确认资产存在Apache Log4j组件远程代码执行漏洞风险:
升级Apache Log4j到安全版本
回到主机安全(云镜)控制台再次打开“漏洞管理”,重新检测确保资产不受Apache Log4j组 件远程代码执行漏洞影响。
使用腾讯T-Sec容器安全服务检测修复镜像漏洞
登陆腾讯容器安全服务控制台,依次打开左侧“镜像安全”,对本地镜像和仓库镜像进行排 查。步骤细节如下:
1)容器安全服务控制台:打开本地镜像/仓库镜像-点击一键检测,批量选择Apache Log4j 组件关联镜像,确认一键扫描:
2)扫描完毕,单击详情确认资产存在Apache Log4j组件远程代码执行漏洞风险
3)升级到pache Log4j到安全版本
4)回到容器安全服务控制台再次打开“镜像安全”,重新检测确保资产不受Apache Log4j组 件远程代码执行漏洞影响。