Classic Load Balancer를 위한 SSL 협상 구성 - Elastic Load Balancing

Classic Load Balancer를 위한 SSL 협상 구성

Elastic Load Balancing은 보안 정책이라고 하는 Secure Socket Layer(SSL) 협상 구성을 사용해 클라이언트와 로드 밸런서 간의 연결을 협상합니다. 보안 정책은 A security policy is a combination of SSL 프로토콜, SSL 암호 및 Server Order Preference 옵션의 조합입니다. 로드 밸런서를 위한 SSL 연결 구성에 대한 자세한 내용은 Classic Load Balancer의 리스너를 참조하십시오.

보안 정책

보안 정책은 클라이언트와 로드 밸런서 간의 SSL 협상 동안 어떤 암호와 프로토콜이 지원되는지 결정합니다. 사전 정의 또는 사용자 정의 보안 정책을 사용하도록 Classic Load Balancer를 구성할 수 있습니다.

AWS Certificate Manager(ACM)가 제공하는 인증서에는 RSA 퍼블릭 키가 포함되어 있습니다. 따라서 ACM가 제공하는 인증서를 사용할 경우 보안 정책에 RSA를 사용하는 암호 그룹을 반드시 포함하고 있어야 하며, 그렇지 않으면 TLS 연결에 실패합니다.

사전 정의 보안 정책

가장 최근의 사전 정의 보안 정책의 이름에는 출시된 연과 월에 따른 버전 정보가 포함되어 있습니다. 예를 들어 기본 사전 정의 보안 정책은 ELBSecurityPolicy-2016-08입니다. 사전 정의 보안 정책이 새로 발표될 때마다 이를 사용하도록 구성을 업데이트할 수 있습니다.

사전 정의 보안 정책에서 지원되는 프로토콜 및 암호에 대한 자세한 내용은 Classic Load Balancer에 대해 미리 정의된 SSL 보안 정책를 참조하십시오.

사용자 지정 보안 정책

필요한 암호와 프로토콜을 갖춘 사용자 지정 협상 구성을 생성할 수 있습니다. 예를 들어 일부 보안 규정 준수 표준(예: PCI 및 SOC)은 보안 표준 준수를 위해 특정한 프로토콜 및 암호 세트를 요구할 수 있습니다. 이러한 경우에는 이러한 표준을 충족하는 사용자 지정 보안 정책을 생성할 수 있습니다.

사용자 지정 보안 정책을 생성하는 방법에 대한 자세한 내용은 Classic Load Balancer의 SSL 협상 구성 업데이트를 참조하십시오.

SSL 프로토콜

SSL 프로토콜은 클라이언트와 서버 간에 보안 연결을 설정하여 클라이언트와 로드 밸런서 간에 전달되는 모든 데이터를 안전하게 보호합니다.

Secure Sockets Layer(SSL)와 Transport Layer Security(TLS)는 인터넷 같이 보안성이 낮은 네트워크에서 기밀 데이터를 암호화하는 데 사용되는 암호화 프로토콜입니다. TLS 프로토콜은 SSL 프로토콜의 최신 버전입니다. Elastic Load Balancing 설명서에서는 SSL과 TLS 프로토콜 모두를 SSL 프로토콜이라고 지칭하고 있습니다.

권장 프로토콜

미리 정의된 보안 정책인 ELBSecurityPolicy-TLS-1-2-2017-01에 사용되는 TLS 1.2를 사용하는 것이 좋습니다. 사용자 지정 보안 정책에 TLS 1.2를 사용할 수도 있습니다. 기본 보안 정책은 TLS 1.2와 이전 버전의 TLS를 모두 지원하므로 ELB SecurityPolicy-TLS-1-2-2017-01보다 보안 수준이 낮습니다.

지원 중단된 프로토콜

이전에 사용자 지정 정책에서 SSL 2.0 프로토콜을 활성화한 경우에는 보안 정책을 미리 정의된 보안 정책 중 하나로 업데이트하는 것이 좋습니다.

Server Order Preference

Elastic Load Balancing은 클라이언트와 로드 밸런서 간의 연결 협상을 위해 Server Order Preference 옵션을 지원합니다. SSL 연결 협상이 이루어지는 동안 클라이언트와 로드 밸런서는 각각이 지원하는 암호 및 프로토콜 목록을 선호도 순으로 표시합니다. 기본적으로 클라이언트의 목록에서 로드 밸런서의 암호 중 하나와 일치하는 첫 번째 암호가 SSL 연결을 위해 선택됩니다. 로드 밸런서가 Server Order Preference를 지원하도록 구성이 되어 있으면 로드 밸런서가 클라이언트의 암호 목록에 있는 첫 번째 암호를 선택합니다. 따라서 로드 밸런서가 SSL 연결에 어떤 암호를 사용할 것인지 결정할 수 있습니다. Server Order Preference를 활성화하지 않은 경우에는 클라이언트가 표시한 암호의 순서가 클라이언트와 로드 밸런서 간의 연결 협상에 사용됩니다.

SSL 암호

SSL 암호는 코딩된 메시지를 생성하기 위해 암호화 키를 사용하는 암호화 알고리즘입니다. SSL 프로토콜은 여러 개의 SSL 암호를 사용해 인터넷 상의 데이터를 암호화합니다.

AWS Certificate Manager(ACM)가 제공하는 인증서에는 RSA 퍼블릭 키가 포함되어 있습니다. 따라서 ACM가 제공하는 인증서를 사용할 경우 보안 정책에 RSA를 사용하는 암호 그룹을 반드시 포함하고 있어야 하며, 그렇지 않으면 TLS 연결에 실패합니다.

Elastic Load Balancing은 클래식 로드 밸런서와 함께 사용할 수 있도록 다음 암호를 지원합니다. 사전 정의 SSL 정책에 따라 이 암호의 하위 집합을 평가합니다. 이들 암호는 모두 사용자 지정 정책에 사용할 수 있습니다. 기본 보안 정책에 포함된 암호들(별표(*)가 있는 암호들)만 사용하는 것이 좋습니다. 여타의 많은 암호들은 안전하지 않기 때문에 사용에 따른 위험은 사용자가 부담해야 합니다.

암호
  • ECDHE-ECDSA-AES128-GCM-SHA256 *

  • ECDHE-RSA-AES128-GCM-SHA256 *

  • ECDHE-ECDSA-AES128-SHA256 *

  • ECDHE-RSA-AES128-SHA256 *

  • ECDHE-ECDSA-AES128-SHA *

  • ECDHE-RSA-AES128-SHA *

  • DHE-RSA-AES128-SHA

  • ECDHE-ECDSA-AES256-GCM-SHA384 *

  • ECDHE-RSA-AES256-GCM-SHA384 *

  • ECDHE-ECDSA-AES256-SHA384 *

  • ECDHE-RSA-AES256-SHA384 *

  • ECDHE-RSA-AES256-SHA *

  • ECDHE-ECDSA-AES256-SHA *

  • AES128-GCM-SHA256 *

  • AES128-SHA256 *

  • AES128-SHA *

  • AES256-GCM-SHA384 *

  • AES256-SHA256 *

  • AES256-SHA *

  • DHE-DSS-AES128-SHA

  • CAMELLIA128-SHA

  • EDH-RSA-DES-CBC3-SHA

  • DES-CBC3-SHA

  • ECDHE-RSA-RC4-SHA

  • RC4-SHA

  • ECDHE-ECDSA-RC4-SHA

  • DHE-DSS-AES256-GCM-SHA384

  • DHE-RSA-AES256-GCM-SHA384

  • DHE-RSA-AES256-SHA256

  • DHE-DSS-AES256-SHA256

  • DHE-RSA-AES256-SHA

  • DHE-DSS-AES256-SHA

  • DHE-RSA-CAMELLIA256-SHA

  • DHE-DSS-CAMELLIA256-SHA

  • CAMELLIA256-SHA

  • EDH-DSS-DES-CBC3-SHA

  • DHE-DSS-AES128-GCM-SHA256

  • DHE-RSA-AES128-GCM-SHA256

  • DHE-RSA-AES128-SHA256

  • DHE-DSS-AES128-SHA256

  • DHE-RSA-CAMELLIA128-SHA

  • DHE-DSS-CAMELLIA128-SHA

  • ADH-AES128-GCM-SHA256

  • ADH-AES128-SHA

  • ADH-AES128-SHA256

  • ADH-AES256-GCM-SHA384

  • ADH-AES256-SHA

  • ADH-AES256-SHA256

  • ADH-CAMELLIA128-SHA

  • ADH-CAMELLIA256-SHA

  • ADH-DES-CBC3-SHA

  • ADH-DES-CBC-SHA

  • ADH-RC4-MD5

  • ADH-SEED-SHA

  • DES-CBC-SHA

  • DHE-DSS-SEED-SHA

  • DHE-RSA-SEED-SHA

  • EDH-DSS-DES-CBC-SHA

  • EDH-RSA-DES-CBC-SHA

  • IDEA-CBC-SHA

  • RC4-MD5

  • SEED-SHA

  • DES-CBC3-MD5

  • DES-CBC-MD5

  • RC2-CBC-MD5

  • PSK-AES256-CBC-SHA

  • PSK-3DES-EDE-CBC-SHA

  • KRB5-DES-CBC3-SHA

  • KRB5-DES-CBC3-MD5

  • PSK-AES128-CBC-SHA

  • PSK-RC4-SHA

  • KRB5-RC4-SHA

  • KRB5-RC4-MD5

  • KRB5-DES-CBC-SHA

  • KRB5-DES-CBC-MD5

  • EXP-EDH-RSA-DES-CBC-SHA

  • EXP-EDH-DSS-DES-CBC-SHA

  • EXP-ADH-DES-CBC-SHA

  • EXP-DES-CBC-SHA

  • EXP-RC2-CBC-MD5

  • EXP-KRB5-RC2-CBC-SHA

  • EXP-KRB5-DES-CBC-SHA

  • EXP-KRB5-RC2-CBC-MD5

  • EXP-KRB5-DES-CBC-MD5

  • EXP-ADH-RC4-MD5

  • EXP-RC4-MD5

  • EXP-KRB5-RC4-SHA

  • EXP-KRB5-RC4-MD5

* 기본 보안 정책 ELBSecurityPolicy-2016-08에 포함된 암호들입니다.

백엔드 연결을 위한 암호 그룹

Classic Load Balancer는 백엔드 연결에 정적 암호 그룹을 사용합니다. Classic Load Balancer와 등록된 인스턴스가 연결을 협상할 수 없는 경우 다음 암호 중 하나를 포함하세요.

  • AES256-GCM-SHA384

  • AES256-SHA256

  • AES256-SHA

  • CAMELLIA256-SHA

  • AES128-GCM-SHA256

  • AES128-SHA256

  • AES128-SHA

  • CAMELLIA128-SHA

  • RC4-SHA

  • DES-CBC3-SHA

  • DES-CBC-SHA

  • DHE-DSS-AES256-GCM-SHA384

  • DHE-RSA-AES256-GCM-SHA384

  • DHE-RSA-AES256-SHA256

  • DHE-DSS-AES256-SHA256

  • DHE-RSA-AES256-SHA

  • DHE-DSS-AES256-SHA

  • DHE-RSA-CAMELLIA256-SHA

  • DHE-DSS-CAMELLIA256-SHA

  • DHE-DSS-AES128-GCM-SHA256

  • DHE-RSA-AES128-GCM-SHA256

  • DHE-RSA-AES128-SHA256

  • DHE-DSS-AES128-SHA256

  • DHE-RSA-AES128-SHA

  • DHE-DSS-AES128-SHA

  • DHE-RSA-CAMELLIA128-SHA

  • DHE-DSS-CAMELLIA128-SHA

  • EDH-RSA-DES-CBC3-SHA

  • EDH-DSS-DES-CBC3-SHA

  • EDH-RSA-DES-CBC-SHA

  • EDH-DSS-DES-CBC-SHA