根据 mvnrepository 中的软件库依赖关系,含有该漏洞的Log4j 2影响到超过 6000个中间件或应用,目前已知的可能受影响的应用及组件包括但不限于如下清单中所列出的:
Spring-Boot-strater-log4j2
Apache Struts2
Apache Solr
Apache Flink
Apache Druid
ElasticSearch
Flume
Dubbo
Redis
Logstash
Kafka
安天已成功复现此漏洞:
安天CERT建议用户彻底排查所使用的应用是否引入了Apache Log4j2 Jar包,特别是各单位在历史招标建设中明确要求采用 Log4j 或 SLF4J 记录日志的信息系统,若存在引入则可能受该漏洞影响。排查方法如下:
(1)针对应用自身排查
在应用内部搜索log4j-core-*.jar以及log4j-api-*.jar两个关键字,查看其版本是否在受影响的版本范围中,同时查看其pom.xml文件内部的版本号进行二次确认。也可以通过查看内部JAVA源代码库中所引入的组件清单列表来确认是否引入了Apache Log4j 2.x的Jar包。
(2)入侵排查
攻击者在利用前通常采用dnslog方式进行扫描、探测,针对该漏洞利用可通过应用系统报错日志中的如下关键字进行排查:
1 "javax.naming.CommunicationException"
2 "javax.naming.NamingException: problem generating object using object factory"
3 "Error looking up JNDI resource"
攻击者发送的恶意数据包中可能存在“${jndi:rmi”、“${jndi:ldap”关键字,推荐使用全流量或WAF设备进行检索排查。
检测:
在WAF中添加如下两条自定义规则:
tcp_payload^%24%7Bjndi%3Aldap%3A%2F%2F
http_msgbody^%24%7Bjndi%3Aldap%3A%2F%2F
临时缓解措施(任选一种):
修改jvm启动参数 -Dlog4j2.formatMsgNoLookups=true
修改配置log4j2.formatMsgNoLookups=True
设置系统环境变量 FORMAT_MESSAGES_PATTERN_DISABLE_LOOKUPS 为 true
临时缓解措施自动化处置脚本:
1. Windows 操作系统:使用管理员权限运行log4j2_hjcs.bat
Windows 处置脚本下载地址:
https://www.antiy.com/tools/Log4j2_hjcs.bat
2. Linux 操作系统:在命令控制终端输入chmod 777 ./Log4j2_hjcs.sh
Linux 处置脚本下载地址:
https://www.antiy.com/tools/Log4j2_hjcs.sh
升级Apache Log4j 2 至2.15.0 rc2 版本,下载地址:
https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2