当前位置: 首页 > 后端技术 > Java

一行配置修复SpringBoot项目log4j2核弹漏洞!

时间:2023-04-02 00:39:16 Java

相信昨天很多小伙伴都因为Log4j2史诗般的漏洞而忙碌吧?在群里看到有朋友说公司专门建了一个800+人的群来处理……好在很快就会有缓解措施和解决方案。同时log4j2因为速度影响官方发布了最新修复版。各应用端也可以实施相对稳定的修复方案。不过看了群里发的各种修复方法,实在是不好看。。。所以这里也是SpringBoot用户最简单的修复方法。最简单的修复方法有些小伙伴其实想到了直接通过SpringBootStarter解决,于是就给SpringBoot提了一个Issue,希望spring-boot-starter-log4j2能支持最新的2.15版本(提Issue的时候,还是rc1,现在已经发布了),但是如果熟悉SpringBoot组件的版本机制,其实这个不需要特地发布。只需要添加一个简单的配置,如下图所示:是的,就是这么简单,只需要在pom.xml中配置如下:2.15.0如果你正在学习SpringBoot,那么推荐一个连载多年,持续更新的免费教程:http://blog.didispace.com/spring-boot-learning-2x/后记不知道大家有没有发现最近几次因为这个漏洞影响到我们的SpringBoot应用并不是原来的SpringBoot。比如:这次的Log4j2其实并不是SpringBoot默认使用的日志组件,SpringBoot默认使用的是Logback。所以这次没改日志组件的小伙伴们昨天在群里看热闹了。..之前大部分比较严重的漏洞都是由另一个第三方组件引起的。相信你能猜到是谁?没错,就是Fastjson。SpringBoot默认的JSON字符串序列化和反序列化工具是Jackson,不是Fastjson。但是不知道什么时候开始流行Fastjson的方案(我记得是开始配置XML的时代,可能是出于性能的考虑吧?)。最近DD还在用原装组件,所以这些问题都没有遇到过,还是比较舒服的。所以最后还是建议大家如果没有遇到什么特殊的性能需求,或者其他一些原装组件无法完成的任务,再用其他的方案代替默认的方案,这样会更稳定。毕竟defaultscheme是整个生态中除了Spring官方之外应用最广泛的方案,它们的可测试性更强。最后,在调研下,大家一般会用哪些SpringBoot默认组件来替换呢?留言区告诉大家~欢迎关注我的公众号:程序猿DD,分享别处看不到的知识和思考