기본으로 돌아가기: SSL/TLS와 NGINX를 활용한 웹 트래픽 암호화

NGINX | 2023년 1월 26일

인터넷상의 악의적 행위자들이 보여주는 집요함과 교묘한 수법에는 한계가 없어 보입니다. 거의 매일 또 다른 네트워크 침해, 데이터 탈취 또는 랜섬웨어 공격 소식이 헤드라인을 장식합니다. 그 결과는 치명적일 수 있으므로 웹 자산과 트래픽이 해커의 악의적인 손에 넘어가지 않도록 보호하는 일이 갈수록 중요해지고 있습니다.

인터넷 트래픽의 주요 유형 중 하나인 브라우저와 웹사이트 간의 HTTP 트래픽 역시 이러한 공격의 대상이 됩니다. HTTP 트래픽을 도청과 변조로부터 보호하는 기본적인 방법 중 하나는 전송 계층 보안(TLS) 프로토콜을 사용해 암호화하는 것입니다. 암호화된 트래픽은 정확히 말하면 HTTPS 트래픽이라고 하며, 여기서 S는 보안, 즉 안전함을 의미합니다. 하지만 대부분의 경우에는 일반적으로 HTTP라는 용어로 두 가지 트래픽 유형을 모두 지칭합니다.

URL을 보면 웹사이트가 암호화를 지원하는지 알 수 있습니다:

  • 다음으로 시작하는 URL은 https:// 암호화를 사용합니다
  • 다음으로 시작하는 URL은 http:// 암호화되지 않습니다

또한 많은 브라우저에서는 암호화가 사용 중일 때 주소 표시줄 왼쪽 끝에 자물쇠 아이콘이 표시됩니다.

참고: TLS의 전신인 SSL(Secure Sockets Layer)은 현재 사용이 권장되지 않지만, 보안 취약점에도 불구하고 여전히 상당히 널리 사용되고 있습니다. 마찬가지로 HTTP 트래픽 암호화를 지칭할 때는 실제로 TLS를 사용하더라도 SSL(또는 SSL/TLS)이라는 용어가 자주 사용됩니다.

SSL/TLS와 NGINX

NGINX의 SSL/TLS 암호화를 간단히 소개하기 위해 몇 가지 지시어를 살펴보겠습니다. HTTPS를 위한 기본 NGINX 구성은 매우 간단합니다:

server {    listen              443 ssl;
    server_name         www.example.com;
    ssl_certificate     www.example.com.crt;
    ssl_certificate_key www.example.com.key;
    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         HIGH:!aNULL:!MD5;
    #...
}

The listen 지시어는 NGINX가 ssl 매개변수를 사용해 포트 443에서 server_name 지시어로 지정된 도메인(여기서는 www.example.com)으로 들어오는 HTTPS 트래픽을 수신하도록 합니다.

The ssl_certificate 및 ssl_certificate_key 지시문은 도메인의 TLS 인증서와 키가 저장된 파일을 지정합니다. ssl_protocols 및 ssl_ciphers 지시문은 이 NGINX 가상 서버가 지원하는 SSL/TLS 버전과 암호화 스위트(암호화 알고리즘)를 각각 지정합니다. 이러한 지시문을 설정하면 NGINX는 클라이언트와 보안 연결을 협상하고 사용자의 인증서로 인증된 HTTPS 콘텐츠를 제공합니다.

웨비나 시청하기

HTTPS용 지시어의 사용 방법을 설명하는 것과 인증서, 키, 암호화 알고리즘의 기본 개념을 이해하는 것은 차원이 다른 문제입니다. 이러한 개념을 쉽고 자세하게 알아보려면 무료 주문형 웨비나인 NGINX 101: SSL/TLS 및 NGINX를 활용한 웹 트래픽 암호화를 시청하세요.

웨비나에서는 웹 트래픽 암호화를 심층적으로 살펴보고 다음 내용을 배울 수 있습니다:

  • NGINX가 클라이언트와 HTTPS로 보호되는 세션을 설정하는 방법
  • 실시간 데모로 살펴보는 NGINX 기본 및 고급 구성
  • HTTP 요청을 HTTPS로 리디렉션하는 방법
  • 권장 TLS 설정

NGINX Open Source를 시작하는 데 관심이 있지만 아직 궁금한 점이 있다면, NGINX 커뮤니티 Slack에 참여하세요 – 자기소개를 하고 NGINX 고급 사용자 커뮤니티와 교류해 보세요! NGINX Plus를 사용할 준비가 되었다면 지금 30일 무료 평가판을 시작하거나, 사용 사례에 대해 논의하려면 문의해 주세요.


공유

작성자 소개

관련 블로그 게시물

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric
NGINX | 2023. 11. 30.

시청하기: KubeCon North America 2023에서의 NGINX Gateway Fabric

이 영상에서는 KubeCon의 NGINX 부스를 찾아가, 저희가 공개한 Kubernetes Gateway API 구현을 살펴봅니다.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법
NGINX | 2023. 03. 23.

F5 NGINX로 대규모 WAF 플릿을 확인하고 관리하는 2가지 방법

앱 보안을 강화하는 두 가지 방법을 소개합니다. NGINX Management Suite를 통해 WAF 운영에 대한 가시성을 높이고, NGINX App Protect WAF를 활용해 코드형 보안을 구현하는 것입니다.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션
NGINX | 2021. 09. 27.

Ingress 컨트롤러 선택 가이드, 4부: NGINX Ingress Controller 옵션

개발 주체, 개발 철학, 프로덕션 환경 준비도, 보안 및 지원을 기준으로 어떤 NGINX Ingress 컨트롤러가 가장 적합한지 알아보세요.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법
NGINX | 2021. 07. 06.

진화하는 공격 환경에 NGINX App Protect Denial of Service가 적응하는 방법

NGINX App Protect Denial of Service(DoS)가 계층 7 DoS 공격을 방어하기 위해 완화 방법을 실시간으로 조정하는 방식을 설명합니다. 정상적인 사용자 행동과 서버 상태에 대한 모델을 생성하여 공격을 나타내는 이상 징후를 감지하고 맞춤형 완화 시그니처를 적용할 수 있습니다.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리
NGINX | 2021. 06. 30.

NGINX Instance Manager를 활용한 대규모 구성 업데이트 및 인증서 관리

NGINX Instance Manager 버전 1.0에는 두 가지 새로운 기능이 도입되었습니다. NGINX 인스턴스에 태그와 사용자 역할을 지정하면 전체 그룹에 구성을 한 번에 적용할 수 있습니다. 인증서 검사는 만료 예정인 인증서를 감지하여 서비스 중단을 방지할 수 있도록 인증서를 교체할 수 있게 해줍니다.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유
NGINX | 2015. 03. 25.

Netflix가 자사 CDN의 핵심으로 NGINX를 선택한 이유

Netflix가 글로벌 콘텐츠 전송 네트워크인 Open Connect의 스트리밍 미디어 기술로 NGINX를 선택한 이유를 NGINX 개발자 Gleb Smirnoff에게서 알아보세요.