如何修复Apache Log4j2远程代码执行漏洞?

2021-12-22 16:26:35 浏览数 (1)

漏洞概要 :

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应用防火墙控制台:资产中心->域名列表,点击添加域名:

SaaS类型域名接入,输入域名,配置端口,源站地址或者域名,点击确定即可,新增之后 防护默认打开SaaS类型域名接入,输入域名,配置端口,源站地址或者域名,点击确定即可,新增之后 防护默认打开
负载均衡类型域名接入,输入域名,配置代理,负载均衡监听器,点击确定即可,新增之后 防护默认打开负载均衡类型域名接入,输入域名,配置代理,负载均衡监听器,点击确定即可,新增之后 防护默认打开
域名列表查看配置,防护开关、回源IP等接入情况,确认接入成功。域名列表查看配置,防护开关、回源IP等接入情况,确认接入成功。

使用腾讯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组 件远程代码执行漏洞影响。

0 人点赞