BLOG

새로운 기능 – 네트워크 로드 밸런서를 위한 TLS 종료
작성일: 2019년 2월 11일

Voiced by Amazon Polly

(원문에서 다운로드받으세요)

 

HTTPS 프로토콜을 사용하여 웹 사이트에 액세스하는 경우 보안 통신 채널을 생성하고 유지하기 위해 많은 흥미로운 작업(일반적으로 SSL/TLS 핸드셰이크라고 함)이 발생합니다. 클라이언트(브라우저)와 웹 서버가 함께 작동하여 서로 동의하는 암호를 협상하고 키를 교환하며 세션 키를 설정합니다. 설정이 완료되면 대화 종료 시 세션 키를 사용하여 추가 트래픽을 모두 암호화 및 해독합니다. 세션 키는 클라이언트와 서버 간의 대화에서만 사용되므로 타사에서 트래픽을 해독하거나 대화를 방해할 수 없습니다.

 

새 TLS 종료

 

현재 저희는 네트워크 로드 밸런서에서 종료되는 TLS(Transport Layer Security) 연결을 사용할 수 있는 기능을 제공하여 보안 웹 애플리케이션을 구축하는 프로세스를 간소화합니다(TLS는 HTTPS에서 “S”를 제공하는 것으로 간주할 수 있습니다). 이렇게 하면 백엔드 서버가 컴퓨팅 집약적인 작업에서 벗어나 모든 트래픽을 암호화 및 암호 해독할 수 있을 뿐만 아니라 다음과 같은 다양한 기능과 이점을 제공합니다.

 

소스 IP 보존 – TLS가 NLB에서 종료된 경우에도 소스 IP 주소와 포트가 백엔드 서버에 표시됩니다. 제 동료 Colm이 말했듯이, 이건 “놀라운 마술!”입니다.

 

단순화된 관리 – 규모에 맞게 TLS를 사용하면 서버 인증서를 각 백엔드 서버에 배포하는 책임을 져야 합니다. 이를 통해 추가적인 관리 작업(일부 프록시 서버 포함)이 생성되고 인증서 복사본이 여러 개 존재하기 때문에 공격 대상이 늘어납니다. 이 론칭은 이러한 모든 복잡성을 제거하고 인증서의 중앙 관리 지점을 제공합니다. AWS Certificate Manager(ACM)를 사용하는 경우 인증서는 안전하게 저장되고, 만료되어 정기적으로 순환되며, 자동으로 업데이트됩니다.

 

제로 데이 패칭 – TLS 프로토콜은 복잡하고, 새로운 위협에 대응하여 구현이 수시로 업데이트됩니다. NLB에서 연결을 종료하면 백엔드 서버를 보호하고 이러한 위협에 대응하여 NLB를 업데이트할 수 있습니다. 저희는 TLS/SSL 프로토콜의 보안에 중점을 두고 공식적으로 검증된 s2n을 사용합니다.

 

규정 준수 향상 – 기본 제공 보안 정책을 사용하여 애플리케이션에 허용되는 암호 제품군 및 프로토콜 버전을 지정할 수 있습니다. 이렇게 하면 PCI 및 FedRAMP 규정 준수 노력에 도움이 되고 TLS 점수를 완벽하게 얻을 수 있습니다.

 

Classic Upgrade – 현재 TLS 종료에 Classic Load Balancer를 사용하는 경우 Network Load Balancer로 전환하면 증가하는 로드에 대응하여 더 빠르게 확장할 수 있습니다. 또한 NLB의 정적 IP 주소를 사용하고 요청에 대한 소스 IP 주소를 기록할 수 있습니다.

 

로그 액세스 – 이제 Network Load Balancer에 대한 액세스 로그를 활성화하고 원하는 S3 버킷으로 이동할 수 있습니다. 로그 항목에는 TLS 프로토콜 버전, 암호 제품군, 연결 시간, 핸드셰이크 시간 등에 대한 자세한 정보가 포함됩니다.

 

TLS 종료 사용

 

Network Load Balancer를 생성하고 TLS 종료를 몇 분 만에 사용할 수 있습니다! API(CreateLoadBalancer), CLI(Create-load-balancer), EC2 Console 또는 AWS CloudFormation 템플릿을 사용할 수 있습니다. 콘솔을 사용하여 로드 밸런서를 클릭하여 시작합니다. 그런 다음 Network Load Balancer 영역에서 생성을 클릭합니다.

 

이름(MyLB2)을 입력하고 로드 밸런서 프로토콜로 TLS (Secure TCP)를 선택합니다.

 

 

그런 다음 가용 영역을 하나 이상 선택하고 선택적으로 각 영역에 대해 Elastic IP 주소를 선택합니다. NLB에 태그를 붙일 수도 있습니다. 모든 설정이 완료되면 다음: 보안 설정 구성을 클릭하여 계속 진행합니다.

 

다음 페이지에서 기존 인증서를 선택하거나 새 인증서를 업로드할 수 있습니다. 저는 이미 www.jeff-barr.com을 위한 것이 있으니, 그것을 선택하겠습니다. 보안 정책도 선택합니다(자세한 내용은 잠시 후에 보여드리겠습니다).

 

현재 선택할 수 있는 보안 정책은 7개입니다. 각 정책은 특정 TLS 버전 및 암호를 사용하도록 허용합니다.

 

describe-ssl-policies 명령을 사용하여 정책에 대해 자세히 알아볼 수 있습니다.

 

인증서와 정책을 선택한 후 다음:경로 구성을 클릭합니다. NLB와 대상 간에 사용할 통신 프로토콜(TCP 또는 TLS)을 선택할 수 있습니다. TLS를 선택하면 통신이 암호화되며, 이를 통해 전송 시 전체 엔드 투 엔드 암호화를 사용할 수 있습니다.

 

나머지 설정 프로세스는 정상적으로 진행되며, 즉시 Network Load Balancer를 사용할 수 있습니다.

 

지금 사용 가능합니다.

 

TLS 종료는 지금 사용 가능하며, 지금 바로 미국 동부(북 버지니아), 미국 동부(오하이오), 미국 서부(북 캘리포니아), 미국 서부(오리건), 아시아 태평양(뭄바이), 아시아 태평양(서울), 아시아 태평양(싱가폴), 아시아 태평양(시드니), 아시아 태평양(도쿄), 캐나다(중앙), 유럽(프랑크푸르트), 유럽(아일랜드), 유럽(런던), 유럽(파리), 남미(상파울로)에서 사용할 수 있습니다.

 

원문 UIRL : https://aws.amazon.com/ko/blogs/aws/new-tls-termination-for-network-load-balancers/

** 메가존클라우드 TechBlog는 AWS BLOG 영문 게재글중에서 한국 사용자들에게 유용한 정보 및 콘텐츠를 우선적으로 번역하여 내부 엔지니어 검수를 받아서, 정기적으로 게재하고 있습니다. 추가로 번역및 게재를 희망하는 글에 대해서 관리자에게 메일 또는 SNS페이지에 댓글을 남겨주시면, 우선적으로 번역해서 전달해드리도록 하겠습니다.