ECDSA 암호를 사용하도록 Application Load Balancer TLS/SSL 리스너를 구성하려면 어떻게 해야 하나요?

3분 분량
0

내 Application Load Balancer의 보안 정책에는 RSA 및 ECDSA 암호가 나열되어 있습니다. 하지만 로드 밸런서에 연결하면 RSA 암호만 선택된 것으로 표시됩니다.

간략한 설명

여러 인증서로 Application Load Balancer HTTPS 리스너를 구성할 수 있습니다. 하지만 보안 정책이 필요합니다. 각 보안 정책에는 RSA 및 ECDSA 암호화 알고리즘에 대한 암호가 포함되어 있습니다. TLS 핸드셰이크 중에 Application Load Balancer는 선택 프로세스 로직을 사용하여 HTTPS 연결에 사용할 Application Load Balancer 인증서를 결정합니다. 선택한 인증서가 RSA 또는 ECDSA(타원 곡선) 키로 생성된 경우 Application Load Balancer는 암호화에 RSA 또는 ECDSA 암호를 사용합니다.

해결 방법

Application Load Balancer와 함께 ECDSA 암호를 사용하려면 다음 단계를 완료합니다.

새 ECDSA 인증서를 생성하거나 ACM으로 가져와서 HTTPS 리스너에 바인딩합니다.

새 ECDSA 인증서 생성

먼저 인증서 요구 사항을 결정합니다. 그런 다음 AWS Certificate Manager(ACM)에서 ECDSA 인증서를 요청합니다.

ECDSA 인증서를 ACM으로 가져오기

인증 기관과 협력하여 도메인의 ECDSA 인증서를.pem 형식으로 받은 후 새 ECDSA 인증서를 ACM으로 가져옵니다.

ECDSA 인증서를 생성하거나 ACM으로 가져온 후 인증서를 Application Load Balancer에 연결합니다.

(선택 사항) 로드 밸런서의 TLS 리스너에 지원되는 암호가 있는지 테스트합니다.

어떤 프로토콜과 암호가 사용되는지 테스트하려면 sslscan과 같은 오픈 소스 명령줄 도구를 사용합니다.

참고: sslscan을 사용하면 추가 타사 유틸리티를 사용하지 않고도 모든 암호에 대한 전체 정보를 얻을 수 있습니다. 예를 들어 curl을 사용하는 경우 개별 암호 제품군을 지정해야 합니다. 여기에는 TLS 프로토콜과 암호 제품군을 지정하는 별도의 curl 요청이 필요합니다.

모든 Amazon Elastic Compute Cloud(Amazon EC2) Linux 인스턴스 또는 로컬 시스템에서 sslscan 명령을 설치하고 실행할 수 있습니다. 테스트하려는 로드 밸런서가 소스 IP 주소의 TLS 연결을 수락하는지 확인합니다.

Amazon Linux EC2 인스턴스에서 sslscan을 사용하려면 다음 단계를 완료합니다.

1.    Extra Packages for Enterprise Linux(EPEL) 리포지토리를 활성화합니다.

2.    Amazon EC2 Linux 인스턴스에 sslscan을 설치합니다.

sudo yum install sslscan

3.    지원되는 암호에 대해 Application Load Balancer를 스캔하려면 다음 명령을 실행합니다. example.com을 자신의 도메인 이름으로 바꿉니다.

[ec2-user@ ~]$ sslscan --show-ciphers example.com | grep Accepted

다음은 Application Load Balancer에서 취약성 검사를 실행한 결과를 보여주는 예제 출력입니다. 이 예에서 로드 밸런서는 P-256 ECDSA 인증서와 기본 보안 정책을 사용합니다.

    Accepted  TLSv1  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-ECDSA-AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-ECDSA-AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-ECDSA-AES128-SHA

다음 예제 출력은 RSA 2048 인증서와 기본 보안 정책이 있는 로드 밸런서를 특징으로 합니다.

    Accepted  TLSv1  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLSv1  256 bits  AES256-SHA
    Accepted  TLSv1  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLSv1  128 bits  AES128-SHA
    Accepted  TLS11  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS11  256 bits  AES256-SHA
    Accepted  TLS11  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS11  128 bits  AES128-SHA
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-GCM-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA384
    Accepted  TLS12  256 bits  ECDHE-RSA-AES256-SHA
    Accepted  TLS12  256 bits  AES256-GCM-SHA384
    Accepted  TLS12  256 bits  AES256-SHA256
    Accepted  TLS12  256 bits  AES256-SHA
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-GCM-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA256
    Accepted  TLS12  128 bits  ECDHE-RSA-AES128-SHA
    Accepted  TLS12  128 bits  AES128-GCM-SHA256
    Accepted  TLS12  128 bits  AES128-SHA256
    Accepted  TLS12  128 bits  AES128-SHA

Application Load Balancer에서 ECDSA 인증서를 올바르게 구성한 경우 출력에 협상된 ECDHE-ECDSA-* 암호 그룹이 표시됩니다. 출력에 다른 암호 세트가 표시되면 Application Load Balancer 보안 정책을 검토하고 업데이트합니다.

AWS 공식
AWS 공식업데이트됨 9달 전