ELB リスナーの TLS セキュリティポリシーの確認

リスナーの種類とクライアント要件に合う TLS プロトコルと暗号スイートを使用してください。

説明

ロードバランサーの TLS リスナーが古いプロトコルや弱い暗号スイートを許可すると、クライアント接続の保護が弱まり、必要なセキュリティ基準を満たせない可能性があります。許可する範囲は、リスナーに適用したセキュリティポリシーによって決まります。

SslPolicy はプロトコル名ではなく、AWS セキュリティポリシー名です。ALB の HTTPS や NLB の TLS など、実際のリスナーに合うポリシーを選び、別の場所で TLS を終端する接続も個別に確認してください。

想定される影響

  • 弱い接続方式を許可すると、通信の保護が弱まるおそれがあります。
  • セキュリティ要件を満たせなかったり、クライアント接続が失敗したりする可能性があります。

対処方法

ロードバランサーとリスナーでサポートされるポリシーから、必要な TLS バージョンと暗号スイートだけを許可するものを選択してください。TLS を終端するリスナーには有効な証明書を設定し、クライアントの互換性と実際のネゴシエーションを試験してください。機密データを扱うほかの通信区間も別途保護してください。

例

ALB HTTPS リスナーのセキュリティポリシーを比較します。セキュリティグループ、サブネット、対象グループ、certificate_arn は実環境に合わせて指定してください。変更前にクライアントが対応する TLS バージョンを確認してください。

変更前

yaml
- name: ALB 생성
  community.aws.elb_application_lb:
    name: myelb
    security_groups:
      - sg-12345678
    subnets:
      - subnet-012345678
      - subnet-abcdef000
    listeners:
      - Protocol: HTTPS
        Port: 443
        SslPolicy: ELBSecurityPolicy-2016-08
        Certificates:
          - CertificateArn: "{{ certificate_arn }}"
        DefaultActions:
          - Type: forward
            TargetGroupName: app-tg
    state: present

ELBSecurityPolicy-2016-08 は TLS 1.0 と 1.1 も許可します。これらを禁止する環境の要件には適合しません。

変更後

yaml
- name: ALB 생성
  community.aws.elb_application_lb:
    name: myelb
    security_groups:
      - sg-12345678
    subnets:
      - subnet-012345678
      - subnet-abcdef000
    listeners:
      - Protocol: HTTPS
        Port: 443
        SslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
        Certificates:
          - CertificateArn: "{{ certificate_arn }}"
        DefaultActions:
          - Type: forward
            TargetGroupName: app-tg
    state: present

ELBSecurityPolicy-TLS13-1-2-2021-06 は TLS 1.2 と 1.3 に限定します。証明書とクライアントがポリシーに対応することも確認してください。

参考資料