2.5. Fuse Console 보안

Spring Boot에서 Fuse 콘솔을 보호하려면 다음을 수행합니다.

  • AWS에 배포할 때 Fuse Console의 프록시 서블릿 비활성화

    독립 실행형 Fuse 애플리케이션을 AWS(Amazon Web Services)에 배포하려면 hawtio.disableProxy 시스템 속성을 true 로 설정하여 Fuse Console의 프록시 서블릿을 비활성화해야 합니다.

    참고

    Fuse Console 프록시 서블릿을 비활성화하면 Fuse Console의 Connect 탭이 비활성화되어 Fuse Console에서 다른 JVM에 연결할 수 없습니다. AWS에 둘 이상의 Fuse 애플리케이션을 배포하려면 각 애플리케이션에 Fuse Console을 배포해야 합니다.

  • 필요한 프로토콜로 HTTPS 설정

    hawtio.http.strictTransportSecurity 속성을 사용하면 웹 브라우저가 보안 HTTPS 프로토콜을 사용하여 Fuse Console에 액세스하도록 할 수 있습니다. 이 속성은 HTTP를 사용하여 Fuse 콘솔에 액세스하려는 웹 브라우저가 HTTPS를 사용하도록 요청을 자동으로 변환해야 함을 지정합니다.

  • 공개 키를 사용하여 응답 보안

    hawtio.http.publicKeyPins 속성을 사용하여 특정 암호화 공개 키를 Fuse 콘솔과 연결하도록 웹 브라우저에 고정 인증서와 "man-in-the-middle" 공격 위험을 줄임으로써 HTTPS 프로토콜을 보호할 수 있습니다.

절차

  1. 다음 예와 같이 hawtio.http.strictTransportSecurityhawtio.http.publicKeyPins 속성을 설정합니다.

    public static void main(String[] args) {
        System.setProperty("hawtio.http.strictTransportSecurity", "max-age=31536000; includeSubDomains; preload");
        System.setProperty("hawtio.http.publicKeyPins", "pin-sha256=cUPcTAZWKaASuYWhhneDttWpY3oBAkE3h2+soZS7sWs"; max-age=5184000; includeSubDomains");
        SpringApplication.run(YourSpringBootApplication.class, args);
    }
  2. (AWS에만 배포하는 경우) Fuse Console의 프록시 서블릿을 비활성화하려면 다음 예와 같이 hawtio.disableProxy 속성을 설정합니다.

    public static void main(String[] args) {
        System.setProperty("hawtio.disableProxy", "true");
    }

추가 리소스

  • hawtio.http.strictTransportSecurity 속성 구문에 대한 설명은 HSTS(HTTP Strict Transport Security) 응답 헤더에 대한 설명 페이지를 참조하십시오.
  • Base64로 인코딩된 공개 키를 추출하는 방법에 대한 지침을 포함하여 hawtio.http.publicKeyPins 속성 구문에 대한 설명은 HTTP 공개 키 고정 응답 헤더에 대한 설명 페이지를 참조하십시오.