Sikre Actuator-endepunkter
Beskytt sensitive driftsendepunkter.
Sikre Actuator-endepunkter er en gratis leksjon i Spring Boot 4-mikrotjenester og REST API-er på CoddyKit. Dette er leksjon 4 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Spring Boot 4-mikrotjenester og REST API-er, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Spring Boot 4-mikrotjenester og REST API-er inneholder totalt 4 leksjoner.
Hvorfor Actuator må sikres
Actuator-endepunkter kan avsløre miljøvariabler, bean-er, tilordninger og til og med heap-dumper. Hvis de står åpne, lekker de sensitiv informasjon og kan tillate farlige operasjoner som shutdown. De må beskyttes i produksjon.
Minimer angrepsflaten først
Sikkerhet begynner med eksponering. Eksponer bare endepunktene operatørene faktisk trenger over HTTP, og utelukk sensitive endepunkter som env, beans og heapdump.
management:
endpoints:
web:
exposure:
include: health,info,prometheus
exclude: env,beans,heapdump,threaddumpLegge til Spring Security
For å autentisere tilgang legger De til Spring Security. Når det finnes på classpath, sikrer det programmet — inkludert Actuator-endepunkter — og De definerer reglene.
<!-- pom.xml -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>EndpointRequest-matcheren
Spring Boot tilbyr EndpointRequest-matchere, slik at sikkerhetskonfigurasjonen kan målrette Actuator-endepunkter nøyaktig uten å hardkode banen /actuator.
import static org.springframework.boot.actuate.autoconfigure.security.servlet.EndpointRequest.*;
// EndpointRequest.toAnyEndpoint()
// EndpointRequest.to("health", "info")Låse ned endepunktene
En vanlig policy er å tillate health og info anonymt (for prober), men kreve en autentisert rolle for alt annet.
@Bean
SecurityFilterChain actuatorSecurity(HttpSecurity http) throws Exception {
http.securityMatcher(EndpointRequest.toAnyEndpoint())
.authorizeHttpRequests(a -> a
.requestMatchers(EndpointRequest.to("health", "info")).permitAll()
.anyRequest().hasRole("ADMIN"))
.httpBasic(Customizer.withDefaults());
return http.build();
}Rollebasert tilgang
Begrens administrasjonsendepunkter til en operasjonsrolle som ADMIN. Kombiner dette med det eksisterende brukerregisteret Deres — minnebasert i demonstrasjoner, en reell identitetsleverandør i produksjon.
@Bean
UserDetailsService users(PasswordEncoder encoder) {
UserDetails admin = User.withUsername("ops")
.password(encoder.encode("change-me"))
.roles("ADMIN").build();
return new InMemoryUserDetailsManager(admin);
}Isolere med en administrasjonsport
Kjør Actuator på en separat port som bare er tilgjengelig inne i nettverket eller klyngen. Offentlig trafikk går til programporten; operatører får tilgang til administrasjonen via intern ruting.
management:
server:
port: 8081
# expose 8081 only to the internal network / sidecarProber uten legitimasjon
Kubernetes-prober kaller health/liveness og health/readiness uten autentisering. Tillat disse bestemte banene, samtidig som resten av health-detaljene og andre endepunkter fortsatt beskyttes.
.requestMatchers(EndpointRequest.to("health")).permitAll()
// keep show-details restricted so anonymous probes see only statusSkjule helsedetaljer
Selv når health er offentlig, må De ikke lekke komponentdetaljer til anonyme kallere. Sett show-details til when-authorized, slik at prober bare ser UP/DOWN.
management:
endpoint:
health:
show-details: when-authorizedDeaktivere farlige endepunkter
Noen endepunkter kan endre tilstanden under kjøring. Hold shutdown deaktivert, og unngå å eksponere heapdump eller threaddump offentlig, siden de avslører minneinnhold og hjelper angripere.
management:
endpoint:
shutdown:
enabled: falseForsvar i dybden
Ingen enkeltkontroll er tilstrekkelig. Kombiner flere tiltak:
- Minimal eksponering
- Autentisering og roller
- Nettverksisolasjon / separat port
- Begrensede helsedetaljer
Kort kontroll
Test forståelsen Deres av sikring av Actuator.
Oppsummering
Behandle Actuator som en sikkerhetsperimeter.
- Eksponer minst mulig; utelukk
env,beansogheapdump - Legg til Spring Security og bruk
EndpointRequest-matchere - Tillat
health/infofor prober; krev en rolle for resten - Begrens
show-detailsog deaktivershutdown - Isoler ved hjelp av en separat administrasjonsport
Lær deg Java med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 24
- Leksjoner
- 93
Ofte stilte spørsmål
Er leksjonen «Sikre Actuator-endepunkter» gratis?
Ja – hele teksten i «Sikre Actuator-endepunkter» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Spring Boot 4-mikrotjenester og REST API-er-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Spring Boot 4-mikrotjenester og REST API-er inneholder totalt 4 leksjoner.
Hva lærer jeg i «Sikre Actuator-endepunkter»?
Beskytt sensitive driftsendepunkter. Du øver på Spring Boot 4-mikrotjenester og REST API-er med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Spring Boot 4-mikrotjenester og REST API-er?
Ingen tidligere erfaring er nødvendig. Spring Boot 4-mikrotjenester og REST API-er på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 4 av 4.
Hvor lang tid tar leksjonen «Sikre Actuator-endepunkter»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Spring Boot 4-mikrotjenester og REST API-er-leksjonen?
Ja. Alle Spring Boot 4-mikrotjenester og REST API-er-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Aktivere Actuator-endepunkter
- Helseindikatorer
- Egendefinerte metrikker med Micrometer
- Sikre Actuator-endepunkter