SSL이란? 그리고 NGINX SSL 성능 살펴보기

인터넷은 우리의 정보를 전 세계로 전송할 수 있는 강력한 도구입니다. 하지만 이러한 정보가 외부로 노출되면 개인정보 유출, 신용 카드 정보 도용 등의 위험에 노출될 수 있습니다. 이런 위험을 방지하려면, 우리가 전송하는 정보를 안전하게 보호할 방법이 필요합니다. 바로 이 점에서 SSL(Secure Sockets Layer)이 중요한 역할을 합니다.

Bare Metal Servers에 NGINX Plus를 배포하기 위한 크기 조정 가이드에 게시된 최신 벤치마크는 최신 하드웨어 및 OpenSSL 구현을 사용하여 더욱 대표적인 SSL성능 측정을 제공합니다.

NGINX와 NGINX Plus는 암호화된 SSL 및 TLS 연결을 Termination하기 위해 OpenSSL을 사용합니다. 이 포스트에서는 SSL성능에 대해 높은 수준의 개요를 살펴보고, 측정이 어려운 SSL 성능과 상대적으로 측정하기 쉬운 OpenSSL 성능 간의 상관관계를 설정하려고 합니다.

목차

1. SSL이란?
1-1. 작동 원리
1-2. 왜 중요한가?
1-3. 어떻게 사용하는가?
2. NGINX SSL 소개
3. NGINX SSL 성능 결과 요약

1. SSL이란?

SSL은 Secure Sockets Layer의 약자로, 웹 사이트와 사용자의 브라우저 간에 데이터를 암호화하여 전송하는 프로토콜입니다. 이는 정보를 안전하게 전송하며, 외부 공격자가 중간에 데이터를 가로채거나 변조하는 것을 방지합니다.

1-1. 작동 원리

SSL은 대칭키와 공개키 암호화를 조합하여 사용합니다. 이 두 가지 키는 데이터 전송 과정에서 보안을 유지하는 데 도움이 됩니다. 사용자가 SSL로 보호된 웹 사이트를 방문하면, 웹 사이트는 공개키와 일련의 인증서를 사용자에게 보냅니다. 사용자의 브라우저는 이를 사용하여 고유한 대칭키를 생성하고, 이 키를 공개키로 암호화하여 웹 사이트에 전송합니다. 웹 사이트는 자신의 개인 키로 암호화된 대칭키를 복호화하고, 이후부터의 모든 통신은 이 대칭키를 사용하여 암호화됩니다.

1-2. 왜 중요한가?

SSL은 인터넷에서 정보를 안전하게 보호하고, 민감한 데이터가 제3자에게 노출되는 것을 방지하는 데 필수적입니다. 신용 카드 정보, 개인 식별 정보(PII), 사용자 로그인 정보 등을 안전하게 보호하며, 이를 통해 사용자의 신뢰를 얻고 사이트의 신뢰성을 향상시킵니다.

1-3. 어떻게 사용하는가?

SSL을 사용하려면, 먼저 SSL 인증서를 발급받아야 합니다. 인증서는 보통 인증서 발급기관(CA)에 의해 제공되며, 도메인의 소유자가 누구인지 확인하는 데 사용됩니다. 인증서가 발급되면, 웹 서버에 설치하고 웹 사이트를 HTTPS로 전환하여 SSL을 활성화할 수 있습니다.

2. NGINX SSL 소개

NGINX 및 NGINX Plus는 일반적으로 웹 및 애플리케이션 서버를 대신하여 암호화된 SSL 및 TLS를 Termination하는 데 사용됩니다. 애플리케이션의 가장자리에서 SSL Termination를 수행함으로써 내부 서버의 부하를 줄이고, 인증서 관리를 간소화하며, 인증서 비용을 줄일 수 있습니다. 그러나 SSL Termination는 극도로 CPU를 많이 사용하기 때문에 확장성 병목 현상이 발생할 수 있습니다.

새로운 NGINX SSL성능 백서는 다양한 트래픽 유형과 암호화 방식에서 NGINX의 SSL Termination 성능을 조사합니다. OpenSSL 벤치마크와 NGINX성능 간의 상관 관계를 확립하여 사용자가 선택한 하드웨어 또는 가상 머신의 용량을 신속히 추정할 수 있도록 돕습니다.

3. NGINX SSL 성능 결과 요약

Openssl speed rsa 명령을 사용하여 단일 코어가 초당 몇 개의 RSA2048-bit 신호를 유지할 수 있는지 측정할 수 있습니다. 대략적인 추정으로, 단일 코어가 유지할 수 있는 전체 SSL 핸드셰이크(ECDHE-RSA를 사용)의 수는 해당 값의 45%에서 60% 사이입니다.

예를 들어, 수행된 테스트에서 가상화된 단일 가상화 인텔 코어는 초당 약 600개의 RSA 2048-bit 신호와 초당 350개의 전체 2048-bit SSL 핸드셰이크 작업을 수행할 수 있습니다. 이는 코어당 초당 서비스의 수백 명의 신규 사용자와 같습니.

ssl_paper

NGINX의 SSL성능은 다른 제한(일반적으로 대역폭)이 충족될 때까지 호스트 서버에서 사용 가능한 코어 수에 따라 확장됩니다. 일반적으로 대역폭과 같은 다른 제한이 충족될 때까지 확장됩니다. 따라서 8코어 가상 머신은 초당 1,000명 이상의 새로운 사용자 트래픽을 받을 수 있으며 여전히 여분의 리소스를 확보할 수 있습니다.

NGINX Plus를 직접 사용해 보시려면 30일 무료 평가판을 신청하거나 NGINX STORE에 연락하여 문의하십시오.

사용 사례에 대해 최신 소식을 빠르게 전달받고 싶으시면 아래 뉴스레터를 구독하세요.