关于Spring Boot项目的 log4j2 核弹漏洞问题(一行代码配置搞定)

 更新时间:2021年12月11日 11:14:16   作者:程序猿DD  
相信昨天,很多小伙伴都因为Log4j2的史诗级漏洞忙翻了吧,不过我看到群里发出来的各种修复方法,还真是不好看...所以这里也提一下Spring Boot用户怎么修复最简单吧,对Spring Boot log4j2 核弹漏洞问题感兴趣的朋友参考下吧

看到群里还有小伙伴说公司里还特别建了800+人的群在处理...

好在很快就有了缓解措施和解决方案。同时,log4j2官方也是速度影响发布了最新的修复版本。各应用方也可以执行较为稳定的修复方案了。

不过我看到群里发出来的各种修复方法,还真是不好看...所以这里也提一下Spring Boot用户怎么修复最简单吧。

最简修复方式

有些小伙伴其实想到了直接通过Spring Boot的Starter去解决,所以还给Spring Boot提了Issue,希望spring-boot-starter-log4j2可以支持最新的2.15版本(提Issue的时候还是rc1,现在已经release了)

但熟悉Spring Boot组件的版本机制的话,其实这个并不需要特地发版解决。只需要加个简单配置就可以了,具体如下图:

是的,就是这么简单,只需要在pom.xml中像下面配置就可以了:

<properties>
    <log4j2.version>2.15.0</log4j2.version>
</properties>

如果您正在学习Spring Boot,那么推荐一个连载多年还在继续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/

后记

不知道大家有没有发现,最近几次因为漏洞影响到我们Spring Boot应用的都不是Spring Boot原装的东西。

比如:这次的Log4j2, 其实并不是Spring Boot默认使用的日志组件,Spring Boot默认使用Logback。所以这次没有去更改日志组件的小伙伴们昨天都在群里看热闹。。。

而再之前比较严重的漏洞大多都是由另外一位第三方组件引起的,相信你也猜到是谁了吧?

对的,就是Fastjson。

Spring Boot默认的JSON字符串序列化和反序列化工具是Jackson,而并非Fastjson。不过不知道从什么时候开始,就开始流行Fastjson的方案(我记得XML配置时代就开始了,可能是性能考虑?)。

最近DD这边因为还是都用原装组件,所以都没碰到这些问题,还挺舒坦的。所以,最后还是建议大家如果没有没有碰到什么特别的性能要求,或其他原装组件无法完成的任务时候,再去采用其他方案来替换默认方案,这样会更加稳定。毕竟,默认方案除了Spring官方,整个生态也是应用最为广泛的,它们更经得起考验。

最后,调研下,大家平时使用都替换哪些Spring Boot的默认组件呢?留言区告诉大家吧~

到此这篇关于关于Spring Boot项目的 log4j2 核弹漏洞问题(一行代码配置搞定)的文章就介绍到这了,更多相关Spring Boot log4j2 核弹漏洞内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JAVA8 的StringJoiner 使用及原理解析

    JAVA8 的StringJoiner 使用及原理解析

    这篇文章主要介绍了JAVA8 的StringJoiner 使用及原理解析,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-01-01
  • Java中使用异或运算符实现加密字符串

    Java中使用异或运算符实现加密字符串

    这篇文章主要介绍了Java中使用异或运算符实现加密字符串,本文直接给出实现代码,以及运算结果加密实例,需要的朋友可以参考下
    2015-06-06
  • java设计模式之适配器模式(Adapter)

    java设计模式之适配器模式(Adapter)

    这篇文章主要介绍了java设计模式之适配器模式Adapter的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • SpringCloud feign服务熔断下的异常处理操作

    SpringCloud feign服务熔断下的异常处理操作

    这篇文章主要介绍了SpringCloud feign服务熔断下的异常处理操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-06-06
  • SpringBoot+JUnit5+MockMvc+Mockito单元测试的实现

    SpringBoot+JUnit5+MockMvc+Mockito单元测试的实现

    今天聊聊如何在 SpringBoot 中集成 Junit5、MockMvc、Mocktio。Junit5 是在 Java 栈中应用最广的测试框架,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2021-09-09
  • Spring Boot如何使用AOP实例解析

    Spring Boot如何使用AOP实例解析

    这篇文章主要介绍了Spring Boot如何使用AOP实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • Java并发 synchronized锁住的内容解析

    Java并发 synchronized锁住的内容解析

    这篇文章主要介绍了Java并发 synchronized锁住的内容解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-09-09
  • java web支持jsonp的实现代码

    java web支持jsonp的实现代码

    这篇文章主要介绍了java web支持jsonp的实现代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-11-11
  • Java 设计模式中的命令模式详情

    Java 设计模式中的命令模式详情

    这篇文章主要介绍了Java 设计模式中的命令模式详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值,需要的朋友可以参考一下
    2022-07-07
  • IDEA中实体类(POJO)与JSON快速互转问题

    IDEA中实体类(POJO)与JSON快速互转问题

    这篇文章主要介绍了IDEA中实体类(POJO)与JSON快速互转,本文通过图文实例代码相结合给大家介绍的非常详细,需要的朋友可以参考下
    2022-08-08

最新评论