目前SpringBoot得框架,越來越廣泛,大多數中小型企業,在開發新專案得時候。後端語言使用java得情況下,首選都會使用到SpringBoot。
在很多得一些開源得框架中,例如: ruoyi若以,這些。
不知道是出於什麼原因?我們都會在這些框架中得pom檔中找到SpringBoot Actuator
的依賴。
嘿,這Actuator
估計很多人都沒有真真實實使用過,但是就會出現在pom檔案中;這樣導致,在做一些安全漏洞測試的時候,會出現漏洞問題。
例如下面:
對於這些漏洞,我們開始修復嘍! ! !
Actuator
是Springboot提供的用來對應用系統進行自省和監控的功能模組,借助於Actuator開發者可以很方便地對應用系統某些監控指標進行檢視、統計等。
Actuator 的核心是端點Endpoint,它用來監視應用程式及交互,spring-boot-actuator 中已經內建了非常多的Endpoint(health、info、beans、metrics、httptrace、shutdown等等) ,同時也允許我們自己擴展自己的Endpoints。
每個 Endpoint 都可以啟用和停用。要遠端存取 Endpoint,也必須透過 JMX 或 HTTP 進行暴露,大部分應用程式選擇HTTP。
好了,Actuator
看起來還蠻好的,可以用來監控。不過大部分企業,估計都沒咋用過,也就享受不到Actuator
的好處了。
Actuator
在帶來方便的同時,如果沒有管理好,會導致一些敏感的資訊外洩;可能會導致我們的伺服器,被暴露到外網,伺服器可能會淪陷。那我們來看一下,會出現什麼安全的問題?
例如,我們可以存取:
#http://localhost:7200/actuator/env
看到上面的資訊了嗎?哇,我們居然能看到資料庫連線地址,帳號密碼等資訊。
這些位址如果不加以控制,對於一些有技術基礎的人員來說,這不得是一個很嚴重的漏洞?估計是t0等級的漏洞了。
對於這些,我們要如何進行控制呢?
在 llsydn-dev.properties
增加設定如下
management.endpoints.web.exposure.exclude=env,heapdump,threaddump,mappings
這樣 env 就被禁止存取了。
然後我們再來訪問例如:
好了,可以看到訪問就出現404了,表示已經禁了。
對於上面的修改,其實已經可以實現禁止了env的方法,也就基本上都能控製到相應的接口信息,基本上也能做到了安全。
但是在做等保安全漏洞掃描的時候,還是會掃出來回應的漏洞,那其實,還是沒有解決掉這個漏洞。那我們能不能完全禁止Actuator
呢?
答案,一定是可以的! ! !
例如下面這個設定:
# 完全禁用actuator management.server.port=-1
這樣配,等保做安全漏洞掃描,就不會掃描出該漏洞了!
以上是SpringBoot Actuator未授權存取漏洞怎麼修復的詳細內容。更多資訊請關注PHP中文網其他相關文章!