18600329666

咨询技术专家

扫一扫
与技术专家在线沟通

Menu
log4漏洞修复方法
一.漏洞描述
Apache Log4j2 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。经过快速分析和确认,该漏洞影响范围极其广泛,危害极其严重,我们建议企业第一时间启动应急响应进行修复。此外,经过我们复现和验证,TDP 基于其自研的通用漏洞检测引擎,已于数月前支持对此次最新漏洞的检测,无需任何更新:
二.可能的受影响应用
Spring-Boot-strater-log4j2
Apache Struts2
Apache Solr
Apache Flink
Apache Druid
ElasticSearch
flume
dubbo
Redis
logstash
kafka
三.检测及修复方案
1、紧急缓解措施:
(1) 修改jvm参数 -Dlog4j2.formatMsgNoLookups=true
(2) 修改配置log4j2.formatMsgNoLookups=True
(3) 将系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 设置为 true
2、检测方案:
(1)由于攻击者在攻击过程中可能使用 DNSLog 进行漏洞探测,建议企业可以通过流量监测设备监控是否有相关 DNSLog 域名的请求,微步在线的 OneDNS 也已经识别主流 DNSLog 域名并支持拦截。
 
(2)根据目前微步在线对于此类漏洞的研究积累,我们建议企业可以通过监测相关流量或者日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
 
3、修复方案:
检查所有使用了 Log4j2 组件的系统,官方修复链接如下:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc1可能会无法打开
请点击此处下载相关修复jar《
log4漏洞修复文件》http://filesearch.ixiera.com/log4j2.zip
4.Spring Boot 用户如何处理
Spring Boot 用户只有在将默认日志系统切换到 Log4J2 时才会受到此漏洞的影响。 我们包含在 spring-boot-starter-logging 中的 log4j-to-slf4j 和 log4j-api jar 不能被单独利用。 只有使用 log4j-core 并在日志消息中包含用户输入的应用程序容易受到攻击。
Spring Boot 即将发布的 v2.5.8 和 v2.6.2 版本(2021 年 12 月 23 日到期)将采用 Log4J v2.15.0,但由于这是一个如此严重的漏洞,您可能希望覆盖我们的依赖项管理并尽快升级您的 Log4J2 依赖项。
5.Maven 处理log4j2指南
对于 Maven 用户,您可以按照这些说明进行设置 log4j2.version 属性.
<properties>
    <log4j2.version>2.15.0</log4j2.version>
</properties>
如何确认是否成功修复?运行 ./mvnw dependency:list | grep log4j检测版本是否为2.15.0.
6.通过JVM参数处理漏洞
如果程序/系统很难升级,则可以选择追加参数避免该漏洞。
设置log4j2.formatMsgNoLookups系统参数为true即可
例如
java -Dlog4j2.formatMsgNoLookups=true -jar myapp.jar.