본문 바로가기

Spring/Springboot

[Springboot] 액츄에이터와 보안

 

 

1. 액츄에이터와 보안 

  • 액츄에이터가 제공하는 기능들은 애플리케이션 내부 정보를 너무 많이 노출함
  • 그래서 외부 인터넷 망이 공개된 곳에 액츄에이터의 엔드포인트를 공개하는 것은 보안상 좋은 방법이 아님
  • 액츄에이터의 엔드포인트들은 외부 인터넷에서 접근이 불가능하게 막고, 내부에서만 접근 가능한 내부망을 사용하는 것이 안전함

 

 

2. 보안 방법

1) 액츄에이터 포트 설정

외부 인터넷 망을 통해서 8080 포트에만 접근할 수 있고, 다른 포트는 내부망에서만 접근할 수 있다면 그 다른 포트번호에서 액츄에이터 실행되도록 설정하면 됨

// application.properties
management.server.port={포트번호}

 

 

2) 액츄에이터 URL 경로에 인증 설정

포트를 분리하는 것이 어렵고 어쩔 수 없이 외부 인터넷 망을 통해서 접근해야 한다면 /actuator 경로에 서블릿 필터, 스프링 인터셉터 또는 스프링 시큐리티를 통해서 인증된 사용자만 접근 가능하도록 추가 개발 필요 

 

 

3) 엔드포인트 경로 변경

엔드포인트의 기본 경로를 변경하려면 아래와 같이 설정

/actuator/{엔드포인트} 대신에 {설정한 경로명}/{엔드포인트}로 변경됨

// application.yml

management:
	endpoints:
    	web:
        	base-path: "{변경할 기본 경로명}"