본문 바로가기
Cloud/AWS

AWS) ELB - SSL/TLS 인증서, SNI란

by 박채니 2024. 2. 26.
안녕하세요, 코린이의 코딩 학습기 채니 입니다.
"유데미" AWS 강의를 참고하여 포스팅한 개인 공부 내용입니다.

 

ELB - SSL/TLS

 

SSL 인증서

→ 클라이언트와 로드 밸런서 사이에서 트래픽이 전송되는 동안 암호화되도록 해줌 (전송 중 암호화)

→ 발신자와 수신자만 해독 가능

→ 사용자가 정한 만료 날짜 존재, 인증서의 진위 확인을 위해 주기적 갱신 필요

→ AWS에선 ACM (AWS Certificate Manager)에서 관리 

 

SSL

  • 보안 소켓 계층
  • 연결 암호화 시 사용

 

TLS

  • SSL의 새 버전으로 전송 계층 보안 의미

 

Public SSL 인증서

 

  • 인증 기관에서 발행
    • Comodo, Symantec, GoDaddy, Globalsign, Digicert ...
  • 로드 밸런서에 첨부된 퍼블릭 SSL 인증서 활용 시, 클라이언트와 로드밸런서 사이의 연결 암호화 가능

 


 

로드 밸런서 - SSL 인증서

로드 밸런서 측면에서 작동하는 방식

 

사용자

  • HTTPS('S'는 SSL 인증서, 때문에 암호화됐고 안전)와 공용 인터넷을 통해 로드 밸런서 연결

로드 밸런서

  • 내부적으로 SSL 종료 실행
  • X.509 인증서 로딩 (SSL or TLS 서버 인증서)

백엔드

  • HTTP를 통해 EC2 인스턴스와 통신 (암호화 X)
    • 트래픽은 VPC (프라이빗 네트워크)를 통해 전송

HTTPS 리스너

  • 설정 시 기본 인증서 지정 필요
  • 인증서 목록을 추가해 여러 도메인 지원 가능 (옵션)
  • 클라이언트는 SNI (Server Name Indication) 통해 도달하려는 호스트 이름 지정 가능
  • HTTPS에 특정 보안 정책 설정을 통해 SSL과 TLS의 구버전 지원 가능 (레거시 클라이언트)

 


⭐️ SNI (Server Name Indication)

하나의 웹 서버여러 SSL 인증서를 로드웹 서버가 여러 웹사이트 지원하게 만드는 방법

→ 클라이언트가 초기 SSL 핸드 셰이크에서 대상 서버의 호스트 이름을 표시해야 하는 새 프로토콜

→ 클라이언트가 A 웹사이트에 연결하고 싶다고 하면 서버는 어떤 인증서를 로드해야 하는지 알 수 있음 

ALB, NLB, CloudFront에서만 적용 가능