스프링/스프링부트

액츄에이터와 보안

chanhee01 2023. 10. 1. 14:32

액츄에이터가 제공하는 기능은 애플리케이션의 내부 정보를 많이 노출하기에 외부 인터넷 망이 공개된 곳에 액츄에이터의 엔드포인트를 공개하는 것은 보안상 좋지 않다.

 

외부에서 접근할 수 없게 만들고 내부에서만 접근 가능하도록 내부망을 사용하는 것이 좋은 방법이다.

 

내부망을 사용하는 것이 가장 좋은 방법이지만 이외에도 2가지 방법이 있다.

 

 

 

 

1. 액츄에이터 포트 설정

 

외부에 노출되는 8080 포트에서 액츄에이터에 접근할 수 없도록 다른 포트에 액츄에이터를 설정하는 것이다.

 

application.yml

management:
  server:
    port: 9292

프로그램 재시작을 하면 8080포트와 9292포트가 같이 실행된다.

 

localhost:8080/actuator로 연결하면 접근할 수 없고 localhost:9292/actuator로 접근해야지 actuator의 정보를 볼 수 있다.

 

 

 

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

포트를 분리하는 것이 어렵다면 /actuator 경로에 서블릿 필터, 스프링 인터셉터, 스프링 시큐리티를 사용해서 인증되어야지만 접근할 수 있도록 설정하는 것이다.

 

 

둘 다 괜찮은 방법이지만 그럼에도 불구하고 내부망을 사용하는 것이 가장 좋은 방법이다.

댓글수0