首頁 >Java >java教程 >SpringBoot Actuator未授權存取漏洞怎麼修復

SpringBoot Actuator未授權存取漏洞怎麼修復

WBOY
WBOY轉載
2023-05-12 23:34:106790瀏覽

1.寫在前面

目前SpringBoot得框架,越來越廣泛,大多數中小型企業,在開發新專案得時候。後端語言使用java得情況下,首選都會使用到SpringBoot。

在很多得一些開源得框架中,例如: ruoyi若以,這些。

不知道是出於什麼原因?我們都會在這些框架中得pom檔中找到SpringBoot Actuator的依賴。

嘿,這Actuator估計很多人都沒有真真實實使用過,但是就會出現在pom檔案中;這樣導致,在做一些安全漏洞測試的時候,會出現漏洞問題。

例如下面:

SpringBoot Actuator未授權存取漏洞怎麼修復

對於這些漏洞,我們開始修復嘍! ! !

2.問題描述

Actuator是Springboot提供的用來對應用系統進行自省和監控的功能模組,借助於Actuator開發者可以很方便地對應用系統某些監控指標進行檢視、統計等。

Actuator 的核心是端點Endpoint,它用來監視應用程式及交互,spring-boot-actuator 中已經內建了非常多的Endpoint(health、info、beans、metrics、httptrace、shutdown等等) ,同時也允許我們自己擴展自己的Endpoints。

每個 Endpoint 都可以啟用和停用。要遠端存取 Endpoint,也必須透過 JMX 或 HTTP 進行暴露,大部分應用程式選擇HTTP。

好了,Actuator看起來還蠻好的,可以用來監控。不過大部分企業,估計都沒咋用過,也就享受不到Actuator的好處了。

Actuator在帶來方便的同時,如果沒有管理好,會導致一些敏感的資訊外洩;可能會導致我們的伺服器,被暴露到外網,伺服器可能會淪陷。那我們來看一下,會出現什麼安全的問題?

3.安全性問題

例如,我們可以存取:

#http://localhost:7200/actuator/env

SpringBoot Actuator未授權存取漏洞怎麼修復

看到上面的資訊了嗎?哇,我們居然能看到資料庫連線地址,帳號密碼等資訊。

這些位址如果不加以控制,對於一些有技術基礎的人員來說,這不得是一個很嚴重的漏洞?估計是t0等級的漏洞了。

對於這些,我們要如何進行控制呢?

4.禁止方法

在 llsydn-dev.properties 增加設定如下

management.endpoints.web.exposure.exclude=env,heapdump,threaddump,mappings

這樣 env 就被禁止存取了。

然後我們再來訪問例如:

SpringBoot Actuator未授權存取漏洞怎麼修復

好了,可以看到訪問就出現404了,表示已經禁了。

5.完全禁用Actuator

對於上面的修改,其實已經可以實現禁止了env的方法,也就基本上都能控製到相應的接口信息,基本上也能做到了安全。

但是在做等保安全漏洞掃描的時候,還是會掃出來回應的漏洞,那其實,還是沒有解決掉這個漏洞。那我們能不能完全禁止Actuator呢?

答案,一定是可以的! ! !

例如下面這個設定:

# 完全禁用actuator
management.server.port=-1

這樣配,等保做安全漏洞掃描,就不會掃描出該漏洞了!

以上是SpringBoot Actuator未授權存取漏洞怎麼修復的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除