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文件中;这样导致,在做一些安全漏洞测试的时候,会出现漏洞问题。
例如下面:
对于这些漏洞,我们开始修复喽!!!
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
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:
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🎜🎜🎜🎜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: 🎜🎜
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!