# 액츄에이터 보안

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

액츄에이터의 엔드포인트들은 외부 인터넷에서 접근이 불가능하게 막고, 내부에서만 접근 가능한 내부망을 사용하는 것이 안전하다.

예를 들어 외부 인터넷 망을 통해서 8080 포트에만 접근할 수 있고 다른 포트는 내부망에서만 접근할 수 있다면 액츄에이터에 다른 포트를 설정하면 된다.\
액츄에이터의 기능을 애플리케이션 서버와는 다른 포트에서 실행하려면 설정을 해주어야 한다. 이 경우 기존 8080 포트에서는 액츄에이터를 접근할 수 없다.

```yaml
management:
  server:
    port: 8082
```

* 이제 액츄에이터 엔드포인트들은 `8082`포트로만 접근할 수 있다.
* `localhost:8082/actuator`

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

**엔드포인트 경로 변경**

```yaml
management:
  endpoints:
    web:
      base-path: "/manage"
```

* 엔드포인트의 기본 경로를 변경하려면 이렇게 설정하면 된다.
* `/actuator/{엔드포인트}` 대신에 `/manage/{엔드포인트}`로 변경된다.
