springboot升级log4j2,解决漏洞问题

最近log4j2爆出有重大漏洞问题,公司也紧急要求各个项目自己查验,要求将log4j的版本升到安全版本

目前我们使用的是springboot 1.5.9版本,内置log4j2是2.7的版本,虽然整合了mybatis,但是log4i的版本依然是以springboot内置为主

2个方案,一个是官方提供的,个人推荐,另一个是根据网上的总结出来的,测试结果也是对的

方法一:spring官网推荐(强烈建议用官网的)

https://spring.io/blog/2021/12/10/log4j2-vulnerability-and-spring-boot
官网介绍了2种情况,

情况一:直接用soringboot父pom的,类似如下的(推荐如下方式)
	<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.9.RELEASE</version>
        <relativePath/> 
    </parent>

这种情况下的,就需要在自己项目的pom.xml文件中添加如下代码

<properties>
    <log4j2.version>2.16.0</log4j2.version>
</properties>

若果自己项目的pom.xml文件里已经有<properties>标签了,就自行在里面添加<log4j2.version>2.16.0</log4j2.version>,版本自己选择,最好是>=2.15版本

这边补充一下原因,<properties>可以覆盖父类pom文件里引入的依赖的版本
改完以后,可以自己看下自己项目的依赖版本是否升级了,我这边是选择升级到2.15的版本
用这种方式的好处是,你不需要一个一个去找,基本只要父pom设置好了,其他的基本就会同步升级
在这里插入图片描述

情况二:没有将springboot的pom文件作为父pom,而是当作依赖引入的
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-bom</artifactId>
            <version>2.16.0</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>
        ... other dependencies including spring-boot-dependencies
    </dependencies>
</dependencyManagement>

具体的我没有试过,只是把官网的翻译了一下,版本自己选择

方式二

直接说怎么改(这个是同事改的,我直接拿过来用了)

父pom.xml

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-log4j2</artifactId>
   <exclusions
  • 5
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Spring Boot Log4j2漏洞修复指的是修复Spring Boot应用程序中使用的Log4j2库中存在的漏洞。这些漏洞可能会导致攻击者利用恶意代码来执行远程命令或者进行其他恶意行为。为了修复这些漏洞,开发人员需要升级Log4j2库到最新版本,并且配置Log4j2以避免受到攻击。此外,还需要对应用程序进行安全审计,以确保没有其他漏洞存在。 ### 回答2: 在修复Spring Boot Log4j2漏洞之前,我们需要了解该漏洞是什么以及它的影响。Spring Boot Log4j2漏洞是一种远程代码执行漏洞,可能允许攻击者在目标系统上执行恶意代码。该漏洞存在于Spring Boot应用程序中使用的Log4j2库中,该库允许攻击者通过发送恶意请求来触发漏洞并执行代码。攻击者可以利用此漏洞从远程地方执行任意代码,包括在目标系统上上传和执行恶意软件、访问受保护的数据等。 为修复Spring Boot Log4j2漏洞,需要按照以下步骤进行操作: 1. 升级Log4j2版本:如果您使用的是Spring Boot 2.1.x,则需要将该应用程序升级Spring Boot 2.1.24及更高版本,该版本解决漏洞。如果您使用的是Spring Boot 2.2.x或更运行的版本,则需要升级Spring Boot 2.2.18及更高版本。通过此操作,可以更新您的应用程序中使用的Log4j2库,从而修复漏洞。 2. 禁用Log4j2:如果您无法升级到最新版本或不想升级,则可以禁用Log4j2。您可以在应用程序的配置文件中进行相应的更改。如果您使用的是Spring Boot 1.x版本,则可以禁用日志记录,然后将应用程序转换为使用Logback或其他日志库。如果您使用的是Spring Boot 2.x版本,则可以使用spring-boot-starter-logging库中的其他日志记录器。 3. 更新应用程序代码:如果您无法升级版本或禁用Log4j2,则需要在应用程序代码中进行更改,以减轻漏洞的影响。建议使用最新的Java安全管理器,并在代码中使用安全方案,以确保应用程序在支持的特权下运行。 修复Spring Boot Log4j2漏洞对于保障应用程序的安全至关重要。我们建议应用程序开发者及时采取相应的措施,确保应用程序不会受到任何风险的威胁。同时,我们还建议应用程序在运行期间定期检查和更新库,以保持最新的安全补丁。 ### 回答3: Spring Boot是目前Java应用开发领域里非常流行的一种轻量级框架。而Log4j2是一款常用的Java日志框架,可以帮助Java程序员更好地管理应用的日志。但是,近来Log4j2存在着一个被多个漏洞编号CVE-2021-44228所包含的严重漏洞,存在导致系统被攻击的危险。本文将介绍这个漏洞及其修复方法。 漏洞概述: 由于Log4j2中的JNDI注入漏洞,攻击者可以通过web请求中的恶意JNDI名称从远程服务器上下载jar包,导致恶意攻击。这个漏洞主要存在于如下代码中。 { <PatternLayout pattern="%highlight{%d{yyyy-MM-dd HH:mm:ss.SSS} [%-5p] [%t] %c{1.} - %m%n%ex}{WARN=Bright Yellow,ERROR=Bright Red,FATAL=Bright Red}" /> } 漏洞修复方法: 1.升级log4j2到最新版本:由于Log4j2官方已发布最新的2.17.0版本,此版本已修复该漏洞,用户可以升级到此版本以避免漏洞带来的安全隐患。 2.移除JMS Appender配置:如果升级日志框架不现实,可以选择移除JMS Appender配置以避免被攻击风险,具体实现方法如下: (1)移除log4j2.xml或log4j2.properties文件中的JMS Appender配置。 (2)升级log4j-web相关的jar包,升级到2.17.0及以上版本。 总结: 如果您的应用程序使用的是Log4j2版本低于2.17.0的版本,则应尽快升级到该版本并修改配置文件,如果不能升级到该版本,则需要尽快移除JMS Appender配置以及升级相关的jar包版本,以避免被漏洞攻击所影响。我们还建议应用程序部署人员定期检测该漏洞,以保证应用的安全运行。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值