사내 시스템들의 SSL 인증서 갱신 주기가 돌아왔다.
여러 시스템들의 SSL 인증서를 갱신하다보면 어떤 시스템은 톰캣에, 또 어떤 시스템은 로드밸런서에 여러 방식으로 SSL 인증서를 갱신한다.
왜 각각 다른 방식으로 SSL 인증서를 갱신하는지, 여러 인증서 적용 및 갱신 방법을 알아보려 한다.
간략하게 두가지 시스템 아키텍쳐를 표현해보았다.
왼쪽은 다중 인스턴스에 연결되어있는 로드밸런서 즉, 중앙 집중식 지점을 제공하는 반면
오른쪽은 애플리케이션 수준의 독립적인 지점을 제공한다.
왼쪽의 경우 로드밸런서에만 SSL 을 적용하면 관리하기 더 쉽지 않을까?
이번에 SSL 갱신 작업을 하면서 알게된 사실인데,
Apple 의 ATS(App Transport Security) 는 SSL/TLS 사용에 대해 엄격한 규칙을 시행한다고 한다.
예를 들어 TLS 1.2 이상을 요구하며 보안 트래픽 수락을 위해 첫 번째 연결 지점(종종 로드 밸런서)에서 SSL 인증서 를 구현해야 한다.
Apple 장치는 특히 "1 Depth" 요구 사항을 적용하고 있어, 왼쪽 아키텍쳐 같은 경우 로드밸런서에 SSL 인증서 를 적용시키지 않으면 안된다.
API 만을 담당하는 시스템의 경우 독립적인 SSL 적용 을, 백/프론트 같은 화면이 있는 시스템 의 경우 로드밸런서 에 적용을 하는 것이 일반적이라고 한다.
사내에서 사용하는 적용 방식에 대해 설명해 보려한다. 추가적인 적용 방식이나 좋은 방법이 있으면 댓글로 피드백 부탁드린다.
현재 사내 시스템들은 NHN 클라우드 환경에서 구동되고 관리되고 있다. (로드 밸런서 또한)
각각의 클라우드 환경마다 적용 방식이 달라 이 부분은 넘어간다.
2. 번까지의 작업은 인증서 업체에서 작업 후 공유해주거나 발급받은 키들을 이용해 변환하는 작업이다.
깊고 내용이 많은 부분이라 이 부분은 나중에 포스팅 하겠다.
2. 번까지의 작업은 인증서 업체에서 작업 후 공유해주거나 발급받은 키들을 이용해 변환하는 작업이다.
깊고 내용이 많은 부분이라 이 부분은 나중에 포스팅 하겠다.
대부분의 경로는 톰캣경로/conf/ssl 이다.
주석처리되어있다면 풀어주자.