log4j2爆出漏洞,如何快速升级

Posted 纵横千里,捭阖四方

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4j2爆出漏洞,如何快速升级相关的知识,希望对你有一定的参考价值。

近日,Apache Log4j 的远程代码执行漏洞细节被公开,该漏洞一旦被攻击者利用会造成严重危害。Apache Log4j 是一款开源的Log4j2 室一款开源的Java日志记录工具,大量的业务框架都使用了该组件。此次漏洞是用于Log4j2 提供的lookup功能造成的,该功能允许开发者通过一些协议去读取相应环境中的配置。但在实现过程中,并未对输入进行严格的判断,从而造成漏洞的发生。

解决方法最有效的就是将其升级到2.15.0。

今天改造了公司的一个服务,因为是公司项目,不写太多的内容,只写几个修改的要点。

引入jar包:

<!-- 升级log4j到2.15.0版本,解决远程命令执行的bug -->
<dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-slf4j-impl</artifactId>
                <version>2.15.0</version>
</dependency>
<dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-core</artifactId>
                <version>2.15.0</version>
</dependency>
<dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-api</artifactId>
                <version>2.15.0</version>
 </dependency>
<dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-jcl</artifactId>
                <version>2.15.0</version>
</dependency>
<dependency>
                <groupId>org.apache.logging.log4j</groupId>
                <artifactId>log4j-jul</artifactId>
                <version>2.15.0</version>
</dependency>
<dependency>
    <groupId>org.apache.logging.log4j</groupId>
    <artifactId>log4j-web</artifactId>
    <version>2.15.0</version>
</dependency>
<dependency>
                <groupId>org.slf4j</groupId>
                <artifactId>jul-to-slf4j</artifactId>
                <version>1.7.32</version>
</dependency>

排除jar包

<exclusions>
    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-slf4j-impl</artifactId>
    </exclusion>
    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-core</artifactId>
      </exclusion>
    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-api</artifactId>
    </exclusion>
    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-jul</artifactId>
    </exclusion>
    <exclusion>
                        <groupId>org.apache.logging.log4j</groupId>
                        <artifactId>log4j-jcl</artifactId>
    </exclusion>
</exclusions>

验证:

使用命令:mvn dependency:tree | grep org.apache.logging.log4

如果返回的log4j版本均是2.15.0,就ok了

如果返回的log4j版本存在老本版或者全是老版本。则需要继续定位哪些jar引了老版本的log4j,然后按照参考上一步继续exclusion,这个工作还是比较难弄的,祝你早日拼到春天的到来~

以上是关于log4j2爆出漏洞,如何快速升级的主要内容,如果未能解决你的问题,请参考以下文章

网传Spring爆出更大漏洞?别再炒作了…

快速修复 Log4j2 远程代码执行漏洞步骤

快速修复 Log4j2 远程代码执行漏洞步骤

Spring Boot 2 中如何使用 Log4j2 记录日志

Tomcat 又爆出高危漏洞!!Tomcat 8.5 ~ 10 中招…

Tomcat 又爆出高危漏洞!!Tomcat 8.5 ~10 中招…