Heim >Java >javaLernprogramm >So beheben Sie die Schwachstelle durch unbefugten Zugriff in SpringBoot Actuator

So beheben Sie die Schwachstelle durch unbefugten Zugriff in SpringBoot Actuator

WBOY
WBOYnach vorne
2023-05-12 23:34:106793Durchsuche

1. Vorne geschrieben

Derzeit verbreitet sich das SpringBoot-Framework immer weiter und die meisten kleinen und mittleren Unternehmen entwickeln neue Projekte. Wenn die Back-End-Sprache Java verwendet, ist SpringBoot die erste Wahl.

In vielen Open-Source-Frameworks, wie zum Beispiel: ruoyi, diese.

Ich weiß nicht warum? Wir alle werden die Abhängigkeiten von SpringBoot Actuator in den POM-Dateien in diesen Frameworks finden. SpringBoot Actuator的依赖。

嘿,这Actuator估计很多人都没有真真实实使用过,但是就会出现在pom文件中;这样导致,在做一些安全漏洞测试的时候,会出现漏洞问题。

例如下面:

So beheben Sie die Schwachstelle durch unbefugten Zugriff in 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

So beheben Sie die Schwachstelle durch unbefugten Zugriff in SpringBoot Actuator

看到上面的信息了吗?哇,我们居然能看到数据库连接地址,账号密码等信息。

这些地址如果不加以控制,对于一些有技术基础的人员来说,这不得是一个很严重的漏洞?估计是t0级别的漏洞了。

对于这些,我们要如何进行控制呢?

4.禁止方法

在 llsydn-dev.properties 增加配置如下

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

这样 env 就被禁止访问了。

然后我们再来访问一下比如:

So beheben Sie die Schwachstelle durch unbefugten Zugriff in SpringBoot Actuator

好了,可以看到访问就出现404了,表示已经禁了。

5.完全禁用Actuator

对于上面的修改,其实已经可以实现禁止了env的方法,也就基本上都能控制到相应的接口信息,基本上也能做到了安全。

但是在做等保安全漏洞扫描的时候,还是会扫出来响应的漏洞,那其实,还是没有解决掉这个漏洞。那我们能不能完全禁止Actuator

Hey, es wird geschätzt, dass viele Leute diesen Actuator nicht tatsächlich verwendet haben, aber er wird in der POM-Datei angezeigt. Dies wird bei einigen Sicherheitslückentests zu Schwachstellenproblemen führen.

Zum Beispiel:

So beheben Sie die Sicherheitslücke bei unbefugtem Zugriff auf SpringBoot Actuator

Wir beginnen, diese Fehler zu beheben! ! ! 🎜🎜2. Problembeschreibung🎜🎜Actuator ist ein von Springboot bereitgestelltes Funktionsmodul zur Introspektion und Überwachung des Anwendungssystems. Mit Hilfe von Actuator können Entwickler bestimmte Überwachungsindikatoren des Anwendungssystems einfach überwachen. Ansicht, Statistiken usw. 🎜🎜Der Kern von Actuator ist Endpoint, der zur Überwachung von Anwendungen und Interaktionen verwendet wird. Spring-Boot-Actuator verfügt über integrierte Endpunkte (Gesundheit, Informationen, Beans, Metriken, httptrace, Herunterfahren usw.) und ermöglicht auch We Erweitern Sie unsere eigenen Endpunkte selbst. 🎜🎜Jeder Endpunkt kann aktiviert und deaktiviert werden. Um remote auf Endpoint zugreifen zu können, muss dieser auch über JMX oder HTTP verfügbar gemacht werden. Die meisten Anwendungen wählen HTTP. 🎜🎜Okay, Actuator sieht ziemlich gut aus und kann zur Überwachung verwendet werden. Die meisten Unternehmen haben es jedoch wahrscheinlich noch nie genutzt und können daher nicht von den Vorteilen von Actuator profitieren. 🎜🎜Actuator bringt nicht nur Komfort mit sich, sondern kann bei unsachgemäßer Verwaltung auch dazu führen, dass einige vertrauliche Informationen verloren gehen kann zusammenbrechen. Werfen wir also einen Blick darauf, welche Sicherheitsprobleme auftreten werden. 🎜🎜3. Sicherheitsprobleme🎜🎜Zum Beispiel können wir besuchen: 🎜
🎜http://localhost:7200/actuator/env🎜
🎜So beheben Sie die Sicherheitslücke bei SpringBoot Actuator durch unbefugten Zugriff🎜🎜Haben Sie die oben genannten Informationen gesehen? Wow, wir können tatsächlich die Datenbankverbindungsadresse, das Kontokennwort und andere Informationen sehen. 🎜🎜Wenn diese Adressen nicht kontrolliert werden, wäre das dann nicht eine ernsthafte Schwachstelle für einige Leute mit technischen Kenntnissen? Es wird geschätzt, dass es sich um eine Sicherheitslücke der Stufe T0 handelt. 🎜🎜Wie kontrollieren wir diese? 🎜🎜4. Verbotsmethode🎜🎜Fügen Sie die folgende Konfiguration in llsydn-dev.properties hinzu 🎜
# 完全禁用actuator
management.server.port=-1
🎜Auf diese Weise wird der Umgebungszugriff verboten. 🎜🎜Dann schauen wir uns noch einmal an, zum Beispiel: 🎜🎜SpringBoot Actuator Unauthorized Access Vulnerability How ? Reparieren“ />🎜🎜Okay, Sie können sehen, dass beim Zugriff 404 angezeigt wird, was darauf hinweist, dass es gesperrt wurde. 🎜🎜5. Aktuator vollständig deaktivieren🎜🎜Für die obige Modifikation ist es tatsächlich möglich, die Methode zum Deaktivieren von env zu implementieren, sodass die entsprechenden Schnittstelleninformationen grundsätzlich gesteuert werden können und grundsätzlich Sicherheit erreicht werden kann. 🎜🎜Aber beim Scannen von Sicherheitslücken wird die entsprechende Schwachstelle trotzdem gescannt. Tatsächlich wurde diese Schwachstelle nicht behoben. Können wir <code>Actuator</code> also komplett verbieten? 🎜🎜Die Antwort ist definitiv ja! ! ! 🎜🎜Zum Beispiel die folgende Konfiguration: 🎜rrreee🎜Bei dieser Konfiguration wird die Schwachstelle nicht gescannt, wenn der Sicherheitslückenscan abgeschlossen ist! 🎜

Das obige ist der detaillierte Inhalt vonSo beheben Sie die Schwachstelle durch unbefugten Zugriff in SpringBoot Actuator. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen