Log4j2 重大漏洞,编译好的log4j-2.15.0.jar包下载
背景
12 月 10 日凌晨,Apache 开源项目 Log4j 的远程代码执行漏洞细节被公开,由于 Log4j 的广泛使用,该漏洞一旦被攻击者利用会造成严重危害。受本次漏洞影响的版本范围为Apache Log4j 2.x < 2.15.0-rc2,攻击者可以利用此漏洞在目标服务器上执行任意代码,通过JNDI来执行LDAP协议来注入一些非法的可执行代码。
攻击检测
(1)可以通过检查日志中是否存在“jndi:ldap://”、“jndi:rmi”等字符来发现可能的攻击行为。
(2)检查日志中是否存在相关堆栈报错,堆栈里是否有JndiLookup、ldapURLContext、getObjectFactoryFromReference等与 jndi 调用相关的堆栈信息。
官方修补建议
1、排查应用是否引入了 Apache log4j-core Jar 包,若存在依赖引入,且在受影响版本范围内,则可能存在漏洞影响。请尽快升级 Apache Log4j2 所有相关应用到最新的 log4j-2.15.0-rc2 版本,地址 https://github.com/apache/logging-log4j2/releases/tag/log4j-2.15.0-rc2
2、升级已知受影响的应用及组件,如 spring-boot-starter-log4j2/Apache Struts2/Apache Solr/Apache Druid/Apache Flink
3、可升级 jdk 版本至 6u211/ 7u201 / 8u191 / 11.0.1 以上,可以在一定 程度上限制 JNDI 等漏洞利用方式。
4、在无法升级版本时,通过修改 jvm 参数、系统环境变量等方式,可在一 定程度上缓解该风险,但无法完全修复,因此不建议通过修改参数的方式解决该风险。
- 修改JVM参数,设置
-Dlog4j2.formatMsgNoLookups=true
。 - 在涉及漏洞的项目的类路径(classpath)下增加
log4j2.component.properties
配置文件并增加配置项log4j2.formatMsgNoLookups=true
。
5、采用 rasp 对lookup的调用进行阻断。
6、采用waf对请求流量中的${jndi进行拦截。
如何获取编译好的jar包
想要获取编译好的jar包,请扫描右上角二维码,关注公众号,回复”log4j”俩字.进行获取
想要获取编译好的jar包,请扫描右上角二维码,关注公众号,回复”log4j“俩字.进行获取
替换过程
看下你的程序lib目录下有没有用到log4j-api.jar、log4j-core.jar这些包,主要是log4j-core.jar包(漏洞是这个包的代码引起的),有的话,准备好新的包,停用程序,用log4j-api-2.15.0.jar、log4j-core-2.15.0.jar替换老的包,重启程序。