피드로 돌아가기
Spring Security con Spring Boot Actuator: así quedó el modelo de autorización después del incidente
Dev.toDev.to
Security

Spring Boot Actuator의 암묵적 설정을 배제한 Explicit Authorization 모델 구축

Spring Security con Spring Boot Actuator: así quedó el modelo de autorización después del incidente

Juan Torchia2026년 5월 12일11intermediate

Context

Spring Boot 3의 Actuator 기본 설정이 보안 예외나 경고 없이 200 OK를 반환하며 내부 데이터가 노출되는 취약점 발생. 기본 설정에 의존한 Implicit Authorization 모델이 버전 업데이트나 설정 변경 시 보안 계약을 파괴하는 구조적 한계 확인.

Technical Solution

  • @Order(1) 어노테이션을 활용하여 애플리케이션 메인 체인보다 우선순위가 높은 Actuator 전용 SecurityFilterChain 분리 설계
  • securityMatcher("/actuator/**")를 통해 Actuator 경로에 대해서만 독립적인 보안 정책을 적용하는 격리 구조 채택
  • Liveness/Readiness Probe 및 Info 엔드포인트는 permitAll()로 개방하되, Metrics/Env/Loggers 등 민감 정보는 ACTUATOR_ADMIN 역할로 제한하는 명시적 권한 제어
  • 내부 API 특성을 고려하여 CSRF를 비활성화하고 stateless 세션 정책을 적용해 오버헤드 제거 및 보안 강화
  • application.yml의 exposure 설정을 최소화하여 SecurityFilterChain 단계 이전의 공격 표면(Attack Surface)을 1차적으로 차단

1. Actuator 전용 SecurityFilterChain을 생성하고 @Order를 통해 우선순위를 명시했는가?

2. /actuator/health의 show-details 설정이 always로 되어 있어 내부 스택트레이스가 노출되지 않는가?

3. Staging 환경에서 security logging level을 DEBUG로 설정하여 요청이 의도한 SecurityFilterChain에 매칭되는지 검증했는가?

4. management.endpoints.web.exposure.include에 "*"를 사용하여 불필요한 엔드포인트가 노출되고 있지 않은가?

원문 읽기