一行配置搞定 Spring Boot项目的 log4j2 核弹漏洞!
相信昨天,很多小伙伴都因为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的默认组件呢?留言区告诉大家吧~
欢迎关注我的公众号:程序猿DD,分享外面看不到的干货与思考!
相关文章
- activiti自定义流程之Spring整合activiti-modeler5.16实例(三):流程模型列表展示
- spring: 在Spring应用中使用JDBC(使用profiles选择数据源/使用基于JDBC驱动的数据源)
- Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)------转帖
- 使用 rocketmq-spring-boot-starter 来配置、发送和消费 RocketMQ 消息
- 快速部署 Spring PetClinic 到函数计算平台
- Spring异常解决 java.lang.NullPointerException,配置spring管理hibernate时出错
- [Java Spring Data] JapRepository
- spring boot:shardingsphere+druid+mysql主从复制的读写分离(未分库分表)(spring boot 2.3.4)
- Spring -- <mvc:annotation-driven />
- spring cloud:搭建基于consul的服务提供者集群(spring cloud hoxton sr8 / spring boot 2.3.4)
- spring 注解 之 AOP基于@Aspect的AOP配置
- spring学习12 -Spring 框架模块以及面试常见问题注解等
- 解释spring,struts,hibernate优缺点
- Plugin ‘org.springframework.boot:spring-boot-maven-plugin:‘ not found 用IDEA创建springboot项目的时候遇到的一些坑
- Spring 官方证实:框架爆大漏洞,JDK 9 及以上版本均受影响
- Spring Boot 之spring.factories
- Spring Boot 项目打包问题集锦: jar依赖多出boot-inf 文件夹问题/多环境动态打包/缺少BOOT-INF目录问题等...
- 解决com.alibaba.fastjson.JSONException: write javaBean error问题以及解决Spring Boot加入Shiro导致spring aop失效的问题
- Spring事务管理—aop:pointcut expression 常见切入点表达式及事物说明
- 005-spring cache-原理、缓存AOP机制、Spring Cache抽象集成机制、springboot自动配置机制
- 005-spring-data-elasticsearch 3.0.0.0使用【三】-spring-data之Spring数据扩展
- Spring框架的起源
- Spring Cloud Ribbon配置详解
- 【异常】Spring Session存在Redis时报错“ERR config is disabled command“的解决方法
- Spring、SpringBoot常见面试题与答案