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

ELB の HTTPS リスナーには対応するセキュリティポリシーを使用し、古い TLS プロトコルや弱い暗号スイートを制限する必要があります。

説明

Crossplane の Listener では、sslPolicy に ELB セキュリティポリシーの名前を指定します。このポリシーは、HTTPS クライアント接続で許可する TLS プロトコルと暗号スイートを定めます。個々の暗号スイート名を指定するフィールドではありません。古いプロトコルや弱い暗号スイートを許可するポリシーは、接続の保護を弱める可能性があります。

このポリシーは、クライアントとロードバランサーの間に適用されます。ロードバランサーからバックエンドへの接続の暗号化は、別途確認する必要があります。

想定される影響

  • クライアントが古い TLS プロトコルや弱い暗号スイートで接続できる場合があります。
  • 脆弱な方式が実際に選択されると、通信の機密性や完全性が損なわれる可能性があります。

対処方法

  • sslPolicy に、リスナーが対応するセキュリティポリシー名を指定してください。組織の要件とクライアントの互換性を考慮し、TLS 1.2 以降のみを許可する適切なポリシーを選択してください。
  • HTTPS リスナーの証明書と実際に選択される接続方式を確認し、古いプロトコルが拒否されることを試験してください。
  • バックエンド接続の暗号化と証明書の設定も別途確認してください。

例

以下は HTTPS リスナーの TLS ポリシーを比較する部分的な例です。ロードバランサー、証明書、既定のアクションなど、残りの必須設定は別途指定する必要があります。

変更前

yaml
apiVersion: elbv2.aws.crossplane.io/v1alpha1
kind: Listener
metadata:
  name: test-listener
spec:
  forProvider:
    region: us-east-1
    port: 443
    protocol: HTTPS
    sslPolicy: ELBSecurityPolicy-2016-08
  providerConfigRef:
    name: example

ELBSecurityPolicy-2016-08 は TLS 1.0 と TLS 1.1 も許可します。

変更後

yaml
apiVersion: elbv2.aws.crossplane.io/v1alpha1
kind: Listener
metadata:
  name: test-listener
spec:
  forProvider:
    region: us-east-1
    port: 443
    protocol: HTTPS
    sslPolicy: ELBSecurityPolicy-TLS13-1-2-2021-06
  providerConfigRef:
    name: example

ELBSecurityPolicy-TLS13-1-2-2021-06 は TLS 1.2 と TLS 1.3 を許可します。変更前に、必要なクライアントがこのポリシーで接続できることを確認してください。

参考資料