欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot Actuator未授權訪問漏洞的排查和解決方法

 更新時間:2024年05月13日 10:41:19   作者:Michael_ZJQ  
Spring Boot Actuator 是開發(fā)和管理生產級 Spring Boot 應用程序的重要工具,它可以幫助你確保應用程序的穩(wěn)定性和性能,本文給大家介紹了SpringBoot Actuator未授權訪問漏洞的排查和解決方法,需要的朋友可以參考下

1. 介紹

Spring Boot Actuator 是一個用于監(jiān)控和管理 Spring Boot 應用程序的功能模塊。它提供了一系列生產就緒的功能,幫助你了解應用程序的運行狀況,以及在運行時對應用程序進行調整。Actuator 使用了 Spring MVC 來暴露各種 HTTP 或 JMX 端點,通過這些端點你可以獲取到應用程序的運行信息,如健康狀態(tài)、指標、線程 dump、環(huán)境變量等。

Spring Boot Actuator 的主要特性包括:

  1. 健康檢查:可以檢查應用程序的運行狀況,包括數(shù)據庫連接、磁盤空間、服務狀態(tài)等。
  2. 指標收集:收集應用程序的性能指標,如內存使用情況、處理器使用情況、HTTP 請求計數(shù)等。
  3. HTTP 端點:暴露了一系列的 HTTP 端點,通過這些端點可以訪問應用程序的運行信息。
  4. 日志管理:可以動態(tài)地修改應用程序的日志級別。
  5. 跟蹤和應用信息:提供了對應用程序的跟蹤信息和應用信息的訪問。
  6. 線程轉儲:可以獲取應用程序的線程轉儲信息,幫助診斷性能問題。
  7. 環(huán)境信息:可以查看應用程序的配置屬性和環(huán)境變量。
  8. 映射信息:可以查看 Spring MVC 的映射信息。
  9. 審計事件:可以訪問應用程序的審計事件信息。
    要啟用 Spring Boot Actuator,你需要在項目中包含相應的依賴,然后在配置文件中配置相關的屬性。Spring Boot 2.x 版本中,Actuator 的默認端點是通過 HTTP 公開的,但是出于安全考慮,除了 /health 和 /info 端點之外,其他端點默認是不對外暴露的。你可以通過配置文件來開啟這些端點,并設置是否需要認證訪問。
    Spring Boot Actuator 是開發(fā)

2. 問題描述

<!-- SpringBoot Actuator -->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

當我們的項目只是引入了 actuator 模塊時,默認只公開了幾個接口,如:
訪問http://localhost:9200/actuator

在這里插入圖片描述

有些情況下,我們需要將服務的健康信息上報給安全監(jiān)控服務,則需要將接口打開

# 暴露監(jiān)控端點
management:
  endpoints:
    web:
      exposure:
        include: '*'

此時,再次訪問http://localhost:9200/actuator

在這里插入圖片描述

也可以訪問具體的屬性http://localhost:9200/actuator/env

在這里插入圖片描述

我們發(fā)現(xiàn)這個時候就會暴露很多服務信息,安全性得不到保證。

3. 解決方案

3.1 springboot1.x

3.1.1 禁用所有端口

#關閉全部接口
endpoints.enabled = false

###只開啟某些接口
#endpoints.beans.enabled = true
#endpoints.env.enabled = true
#endpoints.trace.enabled = true
#endpoints.metrics.enabled = true

3.1.2 安全框架控制

引入依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

配置輸入賬號密碼驗證后才允許訪問

management.security.enabled=true
security.user.name=admin
security.user.password=admin

3.2 springboot2.x

3.2.1 禁用所有端口

management.endpoints.enabled-by-default: false

3.2.2 安全框架控制

引入依賴

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-security</artifactId>
</dependency>

配置輸入賬號密碼驗證后才允許訪問

spring.security.user.name=actuator
spring.security.user.password=actuator

添加配置類

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
/**
 * Actuator 監(jiān)控端點權限
 *
 */
@Configuration
public class ActuatorSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
        http.httpBasic().and()
                .authorizeRequests()
                    .antMatchers("/actuator/**")
                        .authenticated()
                    .anyRequest()
                        .permitAll();
        http
// 關閉csrf token認證不需要csrf防護
            .csrf().disable()
// 關閉Session會話管理器 JWT 不需要
            .sessionManagement().disable()
// 關閉記住我功能 JWT 不需要
            .rememberMe().disable();
    }
}

4.總結

以上就是SpringBoot Actuator未授權訪問漏洞的排查和解決方法的詳細內容,更多關于SpringBoot Actuator訪問漏洞的資料請關注腳本之家其它相關文章!

相關文章

  • Spring WebFlux之響應式編程詳解

    Spring WebFlux之響應式編程詳解

    這篇文章主要介紹了Spring WebFlux之響應式編程,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • springboot rocketmq配置生產者和消息者的步驟

    springboot rocketmq配置生產者和消息者的步驟

    本文介紹了如何在Spring Boot中集成RocketMQ,包括添加依賴、配置application.yml、創(chuàng)建生產者和消費者,并展示了如何發(fā)送和接收消息,感興趣的朋友一起看看吧
    2025-03-03
  • Mybatis-Plus Wrapper條件構造器超詳細使用教程

    Mybatis-Plus Wrapper條件構造器超詳細使用教程

    接口方法的參數(shù)中,會出現(xiàn)各種 Wrapper,比如 queryWrapper、updateWrapper 等。Wrapper 的作用就是用于定義各種各樣的條件(where)。所以不管是查詢、更新、刪除都會用到Wrapper
    2022-03-03
  • 詳解Spring中的Environment外部化配置管理

    詳解Spring中的Environment外部化配置管理

    本文主要介紹了Spring中的Environment外部化配置管理,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • Java日常練習題,每天進步一點點(9)

    Java日常練習題,每天進步一點點(9)

    下面小編就為大家?guī)硪黄狫ava基礎的幾道練習題(分享)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧,希望可以幫到你
    2021-07-07
  • java處理圖片背景顏色的方法

    java處理圖片背景顏色的方法

    這篇文章主要為大家詳細介紹了java處理圖片背景顏色的方法,藍底寸照批量轉換為白底,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • MybatisPlus分頁失效不起作用的解決

    MybatisPlus分頁失效不起作用的解決

    在使用MybatisPlus的selectPage時發(fā)現(xiàn)分頁不起作用,每次返回的都是全部的數(shù)據,本文就來介紹一下MybatisPlus分頁失效不起作用的解決,感興趣的可以了解一下
    2024-03-03
  • SpringBoot使用自定義json解析器的使用方法

    SpringBoot使用自定義json解析器的使用方法

    本篇文章主要介紹了SpringBoot使用自定義json解析器的使用方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-04-04
  • Java實現(xiàn)雙鏈表的示例代碼

    Java實現(xiàn)雙鏈表的示例代碼

    雙向鏈表也叫雙鏈表,是鏈表的一種,它的每個數(shù)據結點中都有兩個指針,分別指向直接后繼和直接前驅。本文將用Java語言實現(xiàn)雙鏈表,需要的可以參考一下
    2022-09-09
  • springboot集成redisson的三種方式

    springboot集成redisson的三種方式

    本文主要介紹了springboot集成redisson的三種方式,包含自定義配置+手動注入,使用Yaml方式批量讀取配置和spring boot自動配置類這三種,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03

最新評論