SpringBoot Actuator未授權訪問漏洞修復詳解
1.寫在前面
目前SpringBoot得框架,越來越廣泛,大多數中小型企業,在開發新項目得時候。後端語言使用java得情況下,首選都會使用到SpringBoot。
在很多得一些開源得框架中,例如: ruoyi若以,這些。
不知道是出於什麼原因?我們都會在這些框架中得pom文件中找到SpringBoot Actuator
的依賴。
嘿,這Actuator
估計很多人都沒有真真實實使用過,但是就會出現在pom文件中;這樣導致,在做一些安全漏洞測試的時候,會出現漏洞問題。
例如下面:
對於這些漏洞,我們開始修復嘍!!!
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
看到上面的信息瞭嗎?哇,我們居然能看到數據庫連接地址,賬號密碼等信息。
這些地址如果不加以控制,對於一些有技術基礎的人員來說,這不得是一個很嚴重的漏洞?估計是t0級別的漏洞瞭。
對於這些,我們要如何進行控制呢?
4.禁止方法
在 llsydn-dev.properties
增加配置如下
management.endpoints.web.exposure.exclude=env,heapdump,threaddump,mappings
這樣 env 就被禁止訪問瞭。
然後我們再來訪問一下比如:
好瞭,可以看到訪問就出現404瞭,表示已經禁瞭。
5.完全禁用Actuator
對於上面的修改,其實已經可以實現禁止瞭env的方法,也就基本上都能控制到相應的接口信息,基本上也能做到瞭安全。
但是在做等保安全漏洞掃描的時候,還是會掃出來響應的漏洞,那其實,還是沒有解決掉這個漏洞。那我們能不能完全禁止Actuator
呢?
答案,肯定是可以的!!!
例如下面這個配置:
# 完全禁用actuator management.server.port=-1
這樣配,等保做安全漏洞掃描,就不會掃描出該漏洞瞭!!!
嘿,再也不用擔心Actuator
漏洞問題!!!
以上就是SpringBoot Actuator未授權訪問漏洞修復詳解的詳細內容,更多關於SpringBoot Actuator 漏洞修復的資料請關註WalkonNet其它相關文章!
推薦閱讀:
- SpringBoot動態修改日志級別的操作
- SpringBoot之如何正確、安全的關閉服務
- SpringBoot詳解整合Spring Boot Admin實現監控功能
- SpringBoot 指標監控actuator的專題
- SpringBoot Admin 如何實現Actuator端點可視化監控