最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot Actuator未授權(quán)訪問漏洞的排查和解決方法

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

1. 介紹

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

Spring Boot Actuator 的主要特性包括:

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

2. 問題描述

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

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

在這里插入圖片描述

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

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

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

在這里插入圖片描述

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

在這里插入圖片描述

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

3. 解決方案

3.1 springboot1.x

3.1.1 禁用所有端口

#關(guān)閉全部接口
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)控端點權(quá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
// 關(guān)閉csrf token認(rèn)證不需要csrf防護(hù)
            .csrf().disable()
// 關(guān)閉Session會話管理器 JWT 不需要
            .sessionManagement().disable()
// 關(guān)閉記住我功能 JWT 不需要
            .rememberMe().disable();
    }
}

4.總結(jié)

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

相關(guān)文章

  • SpringBoot實現(xiàn)ORM操作MySQL的幾種方法

    SpringBoot實現(xiàn)ORM操作MySQL的幾種方法

    本文主要介紹了SpringBoot實現(xiàn)ORM操作MySQL的幾種方法,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 詳解Java的call by value和call by reference

    詳解Java的call by value和call by reference

    在本篇文章里小編給大家總結(jié)了關(guān)于Java的call by value和call by reference的相關(guān)用法和知識點內(nèi)容,需要的朋友們學(xué)習(xí)下。
    2019-03-03
  • Spring Cloud微服務(wù)使用webSocket的方法

    Spring Cloud微服務(wù)使用webSocket的方法

    WebSocket在現(xiàn)代瀏覽器中的應(yīng)用已經(jīng)算是比較普遍了,在某些業(yè)務(wù)場景下,要求必須能夠在服務(wù)器端推送消息至客戶端,本文給大家介紹Spring Cloud微服務(wù)使用webSocket的方法,感興趣的朋友一起看看吧
    2021-06-06
  • 掌握模塊化開發(fā)Spring Boot子模塊使用技巧

    掌握模塊化開發(fā)Spring Boot子模塊使用技巧

    這篇文章主要為大家介紹了掌握模塊化開發(fā)Spring Boot子模塊使用技巧詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • Java?Stream去重常見的多種方法及示例

    Java?Stream去重常見的多種方法及示例

    這篇文章主要介紹了Java?Stream中實現(xiàn)去重的多種方法,包括使用distinct()、Collectors.toMap、filter和groupingBy等,詳細(xì)說明了每種方法的應(yīng)用場景和示例代碼,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-04-04
  • Spring Boot實現(xiàn)自動發(fā)送郵件

    Spring Boot實現(xiàn)自動發(fā)送郵件

    這篇文章主要為大家詳細(xì)介紹了Spring Boot實現(xiàn)自動發(fā)送郵件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-02-02
  • Java死鎖原因及預(yù)防方法超詳細(xì)講解

    Java死鎖原因及預(yù)防方法超詳細(xì)講解

    Java死鎖是多線程因相互等待資源而阻塞的問題,需滿足互斥、持有并等待、不可剝奪、循環(huán)等待四個條件,這篇文章主要介紹了Java死鎖原因及預(yù)防方法的相關(guān)資料,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-06-06
  • Java實現(xiàn)定時任務(wù)的示例代碼

    Java實現(xiàn)定時任務(wù)的示例代碼

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)定時任務(wù)的相關(guān)知識,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-11-11
  • 工廠方法在Spring框架中的運用

    工廠方法在Spring框架中的運用

    這篇文章介紹了工廠方法在Spring框架中的運用,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-10-10
  • Java實現(xiàn)三子棋小游戲

    Java實現(xiàn)三子棋小游戲

    這篇文章主要為大家詳細(xì)介紹了Java實現(xiàn)三子棋小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07

最新評論

建德市| 南澳县| 望城县| 涞水县| 工布江达县| 乌兰察布市| 桃源县| 凤城市| 平山县| 吉木乃县| 伊川县| 连城县| 利辛县| 洮南市| 丹东市| 金昌市| 凭祥市| 灵山县| 锡林郭勒盟| 桐城市| 庄浪县| 泰安市| 高安市| 庆阳市| 讷河市| 邻水| 桐庐县| 合水县| 安仁县| 娱乐| 卢湾区| 天等县| 定结县| 元江| 依安县| 吉安市| 平武县| 如东县| 横峰县| 邵阳市| 镇原县|