記Java程序Log4J漏洞的解決過程


閱文時長 | 0.51分鍾 字數統計 | 827.2字符
主要內容 | 1、引言&背景 2、檢查依賴項中是否依賴了Log4J 3、偵測工具偵測結果 4、聲明與參考資料
『記Java程序Log4J漏洞的解決過程』
編寫人 | SCscHero 編寫時間 | 2022/1/2 PM6:35
文章類型 | 系列 完成度 | 已完成
座右銘 每一個偉大的事業,都有一個微不足道的開始。

一、引言&背景   完成度:100%

a) 問題&時間線

  1. 開始知道Log4J漏洞是公司的安全郵件:大約是21年12月10號下午收到的郵件,知道了這個組件的漏洞。
  2. 我是在11號下午對Log4J組件做的修復(實際上時間已經晚了,我們另一個Java團隊就在10號晚上當天做了升級):我們主要是使用的.Net技術棧,少部分使用的是Python、Java Spring Boot的WebAPI結構。后來和幾個搞網安的朋友以及搞Java的朋友討論了一下,並且參加了公司組織的安全運維的會議,制定了解決方案。最后用長亭的工具掃描了沒問題了,匯報了老板。
  3. 那么寫這篇文章時間現在已經是元旦了,確實很晚了,之前忙於開發任務沒時間寫博文,現在元旦得空了寫寫記錄一下。相信很多朋友已經經歷完了這個漏洞,如果還有朋友沒搞得,希望也能幫助一點吧~??????

b) Log4J漏洞影響范圍

  1. 使用了Log4J版本大於2.0且小於 2.15.0-rc1。
  2. 使用Apache Log4j 1.X版本的應用,若開發者對JMS Appender利用不當,可對應用產生潛在的安全影響。

c) 解決思路

  1. 先根據Log4J的影響范圍,需要確認項目中是否使用了Log4J組件,手動檢查Maven的依賴項,以及依賴項的依賴項中是否存在。詳情可見第二章的一種方法,當然也有很多辦法都可以參考。
  2. 若使用了Log4J組件,且版本在漏洞影響范圍內,則需制定方案。
  3. 【方案1】按照Log4J2最新推出的版本進行升級,升級到Apache官方打Patch的版本。
  4. 【方案2】替換掉Log4J的組件,一Java朋友建議替換成LogBack。
  5. 【方案3-緩解措施】添加jvm啟動參數:-Dlog4j2.formatMsgNoLookups=true;在應用classpath下添加log4j2.component.properties配置文件,文件內容為:log4j2.formatMsgNoLookups=true;JDK使用11.0.1、8u191、7u201、6u211及以上的高版本;限制受影響應用對外訪問互聯網,並在邊界對dnslog相關域名訪問進行檢測。
  6. 通過一個安全運維大佬們都推薦的鏈接:https://log4j2-detector.chaitin.cn/。下載偵測工具,檢驗下效果。我用的是V2版本的偵測工具。

二、檢查依賴項中是否依賴了Log4J   完成度:100%

記一個方法。IDEA的可視化工具,可以反饋出依賴項是否又依賴了Log4J。在Maven項目中右擊Show Dependencies。

顯示如下圖:

三、偵測工具偵測結果   完成度:100%

使用了偵測工具掃描結果如圖:

四、聲明與參考資料   完成度:100%

原創博文,未經許可請勿轉載。

如有幫助,歡迎點贊、收藏、關注。如有問題,請評論留言!如需與博主聯系的,直接博客私信SCscHero即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM