一行配置搞定Spring Boot項(xiàng)目的 log4j2 核彈漏洞!
相信昨天,很多小伙伴都因?yàn)?/span>Log4j2的史詩級漏洞忙翻了吧?
看到群里還有小伙伴說公司里還特別建了800+人的群在處理...

好在很快就有了緩解措施和解決方案。同時,log4j2官方也是速度影響發(fā)布了最新的修復(fù)版本。各應(yīng)用方也可以執(zhí)行較為穩(wěn)定的修復(fù)方案了。
不過我看到群里發(fā)出來的各種修復(fù)方法,還真是不好看...
所以這里也提一下Spring Boot用戶怎么修復(fù)最簡單吧。
最簡修復(fù)方式
有些小伙伴其實(shí)想到了直接通過Spring Boot的Starter去解決,所以還給Spring Boot提了Issue,希望spring-boot-starter-log4j2可以支持最新的2.15版本(提Issue的時候還是rc1,現(xiàn)在已經(jīng)release了)

但熟悉Spring Boot組件的版本機(jī)制的話,其實(shí)這個并不需要特地發(fā)版解決。只需要加個簡單配置就可以了,具體如下圖:

是的,就是這么簡單,只需要在pom.xml中像下面配置就可以了:
<properties>
<log4j2.version>2.15.0</log4j2.version>
</properties>
如果您正在學(xué)習(xí)Spring Boot,那么推薦一個連載多年還在繼續(xù)更新的免費(fèi)教程:http://blog.didispace.com/spring-boot-learning-2x/
后記
不知道大家有沒有發(fā)現(xiàn),最近幾次因?yàn)槁┒从绊懙轿覀僑pring Boot應(yīng)用的都不是Spring Boot原裝的東西。
比如:這次的Log4j2, 其實(shí)并不是Spring Boot默認(rèn)使用的日志組件,Spring Boot默認(rèn)使用Logback。所以這次沒有去更改日志組件的小伙伴們昨天都在群里看熱鬧。。。
而再之前比較嚴(yán)重的漏洞大多都是由另外一位第三方組件引起的,相信你也猜到是誰了吧?
對的,就是Fastjson。
Spring Boot默認(rèn)的JSON字符串序列化和反序列化工具是Jackson,而并非Fastjson。不過不知道從什么時候開始,就開始流行Fastjson的方案(我記得XML配置時代就開始了,可能是性能考慮?)。
最近DD這邊因?yàn)檫€是都用原裝組件,所以都沒碰到這些問題,還挺舒坦的。所以,最后還是建議大家如果沒有沒有碰到什么特別的性能要求,或其他原裝組件無法完成的任務(wù)時候,再去采用其他方案來替換默認(rèn)方案,這樣會更加穩(wěn)定。畢竟,默認(rèn)方案除了Spring官方,整個生態(tài)也是應(yīng)用最為廣泛的,它們更經(jīng)得起考驗(yàn)。
最后,調(diào)研下,大家平時使用都替換了哪些Spring Boot的默認(rèn)組件呢?留言區(qū)告訴大家吧~
往期推薦
技術(shù)交流群
最近有很多人問,有沒有讀者交流群,想知道怎么加入。加入方式很簡單,有興趣的同學(xué),只需要點(diǎn)擊下方卡片,回復(fù)“加群“,即可免費(fèi)加入我們的高質(zhì)量技術(shù)交流群!
點(diǎn)擊閱讀原文,送你免費(fèi)Spring Boot教程!
