Spring Boot 應對 Log4j2 注入漏洞指南
導讀 | Log4J2漏洞涉及的影響太廣了,昨天發文後很多粉絲留言問Spring Boot專案是否受到Log4J2漏洞影響。Spring官方已經全面進行了排查,現在大家可以知道這些資訊和應對方法。 |
Spring Boot預設日誌元件是logback,開發者透過日誌門面Slf4j進行整合對接。Spring Boot 使用者只有在將預設日誌系統切換到 Log4J2 時才會受到此漏洞的影響。Spring Boot包含的log4j-to-slf4j和log4j-api、spring-boot-starter-logging不能獨立利用。只有log4j-core在日誌訊息中使用和包含使用者輸入的應用程式容易受到攻擊。
也就是說Spring Boot現在包含Log4J2的依賴只要你不啟用是不會觸發漏洞的。
Spring Boot將在2021 年 12 月 23 日後釋出的 2.5.8 和 2.6.2 版本將採用打了補丁的Log4J v2.15.0,但由於這是一個極其嚴重的漏洞,一定要覆蓋我們的依賴項管理並儘快升級您的 Log4J2 依賴項。
對於 Maven 使用者,您可以透過覆蓋自己專案中pom.xml的版本號配置屬性來修改該依賴的版本號。提升Log4J2到安全版本只需要:
<properties> <log4j2.version>2.15.0</log4j2.version> </properties>
然後使用./mvnw dependency:list | grep log4j 執行以檢查版本是否為 2.15.0。
對於大多數使用者來說,設定log4j2.version屬性就足夠了:
ext['log4j2.version'] = '2.15.0'
如果你的Gradle並沒有直接對Spring Boot進行依賴管理,你可以新增Log4J BOM依賴項:
implementation(platform("org.apache.logging.log4j:log4j-bom:2.15.0"))
“萬金油”的方法是宣告一個Gradle的resolutionStrategy:
configurations.all { resolutionStrategy.eachDependency { DependencyResolveDetails details -> if (details.requested.group == 'org.apache.logging.log4j') { details.useVersion '2.15.0' } } }
上面三種方法無論你使用哪種,安全起見都需要使用下面的 進行檢查確認:
/gradlew dependencyInsight --dependency log4j-core
漏洞攻擊的演示程式碼,我將在週一透過公眾號文章進行詳細講解,請持續關注。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2850378/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Log4j2 Zero Day 漏洞 Apache Flink 應對指南Apache
- Spring Boot無法對Service進行注入Spring Boot
- 【Spring Boot】yaml配置注入Spring BootYAML
- Spring Boot 參考指南(Spring Boot文件)Spring Boot
- 一行配置搞定 Spring Boot專案的 log4j2 核彈漏洞!Spring Boot
- Spring Boot 參考指南(Hazelcast)Spring BootAST
- Spring Boot 參考指南(目錄)Spring Boot
- Spring Boot 參考指南(Quartz Scheduler)Spring Bootquartz
- Spring Boot執行緒安全指南Spring Boot執行緒
- 【緊急】Spring爆出比Log4j2還大的漏洞?Spring
- Spring Boot 2 中如何使用 Log4j2 記錄日誌Spring Boot
- Spring Boot釋出2.6.2、2.5.8:升級log4j2到2.17.0Spring Boot
- Spring Boot 響應jspSpring BootJS
- 老版本的Spring應用該如何應對CVE-2022-22965漏洞?Spring
- Spring Boot 參考指南(構建系統)Spring Boot
- Spring Boot 參考指南(訊息傳遞)Spring Boot
- Spring Boot 之groups應對不同的Validation規則自定義Spring Boot
- spring-boot-admin對spring-boot專案進行監控Springboot
- Spring Boot 之路(一):一個簡單的Spring Boot應用Spring Boot
- spring-boot-route(十八)spring-boot-adtuator監控應用Springboot
- spring boot (whitelabel error page SpEL RCE) 漏洞復現Spring BootError
- Spring Boot 2.0.2 參考指南(通用的應用程式屬性 ②)中文文件Spring Boot
- Spring Boot(十)Logback和Log4j2整合與日誌發展史Spring Boot
- 從供應鏈角度看Log4j2 0day漏洞
- Spring boot應用如何支援httpsSpring BootHTTP
- JAX-RS與Spring Boot對比Spring Boot
- Spring Boot 參考指南(使用RestTemplate呼叫REST服務)Spring BootREST
- 建立自己的定製的Spring Boot Starter快速指南Spring Boot
- 分散式快取綜合指南:Kubernetes + Redis + Spring Boot分散式快取RedisSpring Boot
- Spring Boot:Spring Boot配置MybatisSpring BootMyBatis
- Spring Boot:Spring Boot配置SwaggerSpring BootSwagger
- Spring Boot應用監控實戰Spring Boot
- Spring Boot應用程式有哪些功能?Spring Boot
- Spring Boot 應用程式中的 QueryDSLSpring Boot
- Spring Boot + Kotlin + Coroutines應用演示程式Spring BootKotlin
- Spring Boot應用程式事件教程 - reflectoringSpring Boot事件
- 如何預熱Spring Boot應用? - sebsteinSpring Boot
- 對於Spring Boot的滲透姿勢Spring Boot