30.4 Actuator 보안

그래서 Spring Boot Actuator란

간단히 말하자면 Spring Boot Application의 상태를 관리해준다.

  • Spring Boot Application의 상태 정보(health, properties, beans, 구동된 AutoConfiguration 목록 등)를 다룰 수 있도록 자동 설정.

  • 각종 추상화 클래스(HealthIndicator 등)을 제공하여, 상태 정보를 변경할 수 있도록 Service를 제공.

보안을 위해, /health와는 /info이외의 모든 액추에이터는 기본적으로 비활성화되어 있습니다. management.endpoints.web.exposure.include속성을 사용하여 액추에이터를 활성화 할 수 있습니다.

Spring Security가 classpath에 있고 다른 WebSecurityConfigurerAdapter가없는 경우 / /health/info 이외의 모든 액추에이터는 Spring Boot 자동 구성에 의해 보호됩니다. 사용자 정의 WebSecurityConfigurerAdapter를 정의하면 Spring Boot 자동 구성이 취소되고 액츄에이터 액세스 규칙을 완전히 제어하게됩니다.

management.endpoints.web.exposure.include를 설정하기 전에, 노출 된 액추에이터가 중요한 정보를 포함하고 있지 않은지, 방화벽 뒤에 또는 스프링 보안과 같은 것으로 배치하여 보호되는지 확인하십시오.

30.4.1 교차 사이트 요청 위조 방지

스프링 부트는 스프링 시큐리티의 디폴트에 의존하기 때문에, CSRF 보호는 기본적으로 사용된다. 이것은 기본 보안 구성을 사용 중일 때는 POST(종료 및 로거 엔드 포인트), PUT또는 DELETE가 필요한 작동기 끝점에서 403 금지 오류가 발생합니다.

브라우저가 아닌 클라이언트가 사용하는 서비스를 만드는 경우에만 CSRF 보호를 완전히 비활성화하는 것이 좋습니다.

CSRF 보호에 대한 추가 정보는 Spring Security Reference Guide 에서 찾을 수있다 .

Last updated