ELB 리스너 보안 정책 설정 확인 필요

HTTPS·TLS 리스너에 적절한 AWS 보안 정책과 인증서를 구성하고 허용 프로토콜과 암호군을 확인하세요.

설명

HTTPS·TLS 리스너의 보안 정책은 허용하는 TLS 프로토콜과 암호군을 결정합니다. 오래되거나 조직의 요구사항에 맞지 않는 정책은 필요한 연결 보호 수준을 제공하지 못할 수 있습니다. SslPolicy에는 개별 암호군이 아니라 해당 로드 밸런서에서 지원되는 AWS 보안 정책 이름을 지정해야 합니다.

일반 HTTP·TCP 리스너에는 TLS 전용 설정을 무조건 추가하지 마세요. 암호화가 필요한 연결이라면 적절한 리스너 프로토콜과 유효한 인증서를 함께 구성해야 합니다.

잠재적 영향

  • 약한 프로토콜이나 암호군을 허용하면 통신 보호 수준이 낮아질 수 있습니다.
  • 지원하지 않는 정책이나 잘못된 인증서 설정은 배포 실패나 클라이언트 연결 중단으로 이어질 수 있습니다.

해결 방법

  • 로드 밸런서 종류와 리스너 프로토콜을 확인하고 AWS 정책별 프로토콜·암호군 목록에서 요구사항에 맞는 정책을 선택하세요. ALB는 사용자 정의 보안 정책을 지원하지 않습니다.
  • 클라이언트 호환성과 인증서의 유효성·도메인을 확인한 뒤 변경하세요. 사용 중인 Ansible 컬렉션의 필수 설정과 리스너 갱신 동작도 확인하세요.
  • 적용 후 실제 리스너 정책과 TLS 협상 결과를 시험하세요. 클라이언트와 로드 밸런서 사이의 TLS 정책만으로 백엔드 연결까지 검증되는 것은 아닙니다.

예시

같은 ALB의 HTTPS 리스너 정책을 변경하는 대안 예시입니다. 보안 그룹, 서로 다른 가용 영역의 서브넷, 인증서 ARN과 대상 그룹을 실제 값으로 제공하세요. 기존 리스너나 다른 설정을 유지할 수 있도록 사용하는 컬렉션 버전의 갱신 동작을 확인하세요.

변경 전

yaml
- name: elb3
  community.aws.elb_application_lb:
    name: myelb
    security_groups:
      - "{{ alb_security_group_id }}"
    subnets:
      - "{{ alb_subnet_a_id }}"
      - "{{ alb_subnet_b_id }}"
    listeners:
      - Protocol: HTTPS
        Port: 443
        SslPolicy: ELBSecurityPolicy-2016-08
        Certificates:
          - CertificateArn: "{{ certificate_arn }}"
        DefaultActions:
          - Type: forward
            TargetGroupName: "{{ target_group_name }}"
    state: present

ELBSecurityPolicy-2016-08은 TLS 1.0·1.1도 허용하는 이전 정책입니다. 해당 프로토콜을 허용할 필요가 있는지 검토하세요.

변경 후

yaml
- name: elb1
  community.aws.elb_application_lb:
    name: myelb
    security_groups:
      - "{{ alb_security_group_id }}"
    subnets:
      - "{{ alb_subnet_a_id }}"
      - "{{ alb_subnet_b_id }}"
    listeners:
      - Protocol: HTTPS
        Port: 443
        SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
        Certificates:
          - CertificateArn: "{{ certificate_arn }}"
        DefaultActions:
          - Type: forward
            TargetGroupName: "{{ target_group_name }}"
    state: present

TLS 1.2·1.3을 지원하고 TLS 1.0·1.1은 허용하지 않는 정책으로 바꿉니다. 이 정책의 암호군과 클라이언트 호환성이 실제 요구사항을 충족하는지 확인하세요.

참조