AWS ELB 에서의 Security Profile 사용

JIPA
6 min readOct 21, 2020

--

이 포스팅에서는 데이터 보호와 관련하여 조직에서 사용할 수 있는 다양한 보안 기능 중 전송 중 암호화와 관련한 내용을 살펴보려고 합니다. 전송 중 암호화를 위해선 SSH, SFTP, HTTPS 등 다양한 통신 구간 암호화 기술들이 사용될 수 있지만 가장 기본적이면서도 가장 많이 사용되는 통신 구간 암호화 기술은 아마도 HTTPS 가 아닐까 생각됩니다. AWS 환경에서 HTTPS 를 구성하는 방법은 조직의 필요에 따라 EC2 인스턴스에 웹서버를 구성하고 직접 HTTPS 서비스를 구성하는 방법과 3rd Party Load Balancer 를이용하여 구성하는 방법도 있겠지만 가장 많이 사용되고 편리한 방법은 ELB 를 통하여 HTTPS Listener 를 구성하는 방법입니다.

현재 ELB 는 3가지의 Load Balancer (ALB, NLB, CLB) 를 제공하고 있고 이 3가지 Load Balancer 모두 TLS Termination 기능을 제공하고 있습니다. 또한 HTTPS Listener 설정과정에서 Security Policy 설정 옵션도 제공하고 있는데요. 이 포스팅에서는 ALB 사용환경에서 관리자가 사용할 수 있는 Security Policy 에 대해 살펴보려고 합니다.

ELB 에서 사용하는 Security Policy 는 HTTPS Listener 를 생성하는 경우 Client Program(인터넷 브라우져)와 ELB 간의 Cipher Suite 를 선택하는 과정에서 ELB Listener 에서 지원하는 Cipher Suite 목록을 정하는 정책이라고 생각하시면 될 것 같습니다. Security Policy 는 ALB, NLB, CLB 각각 다를 수 있기 때문에 사용하는 Load Balancer 에 따라 각 Security Policy 의 내용을 확인하고 선택하는 것이 중요합니다.

ALB Security Policy

NLB Security Policy

CLB Security Policy

이 포스팅에서는 ALB 환경에서 Security Policy 를 설정하여 SSLLABS.COM 에서 스캐닝을 통해 Security Policy 별로 어떤 Grade 를 부여받는지 한번 살펴보도록 하겠습니다.

먼저, ALB HTTPS Listener 에 “ELBSecurityPolicy-2016–08” 을 선택한 후 SSLLABS.COM 에서 스캐닝해보도록 하겠습니다.

아래와 같이 테스트 도메인에 대해 B Grade 가 부여되었습니다.

B Grade 가 부여된 이유를 살펴보니 이 도메인의 경우 TLS 1.0 과 TLS 1.1 버전을 지원하도록 구성되어 있기 때문이라고 합니다.

위 Security Policy 문서를 보시면 아시겠지만 테스트를 위해 적용한 “ELBSecurityPolicy-2016–08” 은 TLS 1.0/1.1 을 지원하기 때문에 B Grade 이상을 받으려면 TLS 1.0 과 1.1 을 지원하지 않는 Security Policy 를 적용하여야 할 것 같습니다.

이번에는 TLS 1.0 과 1.1 을 지원하지 않는 “ELBSecurityPolicy-TLS0–1–2-Ext-2018–06” Security Policy 를 선택한 후에 동일한 Domain 에 대해 스캐닝을 진행해보도록 하겠습니다.

이번에는 A Grade 를 부여받았습니다.

스캐닝 결과를 살펴보면 “Protocols” 부분에 이 Domain 에서는 TLS 1.2 만 지원하고 있음을 확인할 수 있습니다. 즉, ALB HTTPS Listener 가 TLS 1.2 만을 지원하고 있는 것을 확인할 수 있습니다.

HTTPS 서비스를 공인인증서를 통해서 구성하였다고해서 모두 동일한 수준의 보안을 제공한다고 보기는 어렵습니다. 암호화를 위한 키교환 알고리즘과 암호화 키 알고리즘의 선택 등에 따라 HTTPS 서비스의 보안 수준은 다양하게 달라질 수 있습니다. 따라서, AWS 환경에서 ELB 를 통하여 HTTPS Listener 를 사용하고 계시거나 할 계획이시라면 보안 요건에 따라 적절한 Security Policy 를 적용하시는 것을 권고드립니다.

감사합니다.

--

--

JIPA
JIPA

Written by JIPA

Always Day 1. Security is job zero.

No responses yet