説明
Classic ELB のセキュリティポリシーで SSLv2、SSLv3、TLS 1.0、TLS 1.1 を許可すると、クライアントが古い暗号化プロトコルで接続できます。このような接続は、既知のプロトコルの弱点の影響を受けたり、サービスの転送時のセキュリティ要件を満たさなかったりする場合があります。
ポリシー名だけでなく、リスナーに実際に適用されるプロトコルと暗号スイートを確認する必要があります。フロントエンドのポリシーは、バックエンド接続の TLS 設定を代替しません。
想定される影響
- 古いプロトコルを使用する接続では、機密データの保護が弱まるおそれがあります。
- 古いポリシーを削除すると旧式のクライアントが接続できなくなる場合があり、互換性の確認が必要です。
対処方法
古いプロトコルを許可するポリシーを削除し、TLS 1.2 を使用する ELBSecurityPolicy-TLS-1-2-2017-01 など、要件に合う Classic ELB ポリシーを選んでください。証明書とクライアントの互換性を確認し、HTTPS または SSL リスナーの PolicyNames で関連付けてください。変更後に実際に使用されるプロトコルと暗号スイートを確認してください。
例
ポリシー定義だけを比較する抜粋です。適用するには証明書とリスナーが必要で、そのリスナーの PolicyNames に MySSLPolicy を指定してください。
変更前
yaml
Resources:
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
Policies:
- PolicyName: MySSLPolicy
PolicyType: SSLNegotiationPolicyType
Attributes:
- Name: Protocol-SSLv2
Value: true
SSLv2 を許可する過去のポリシー構成です。運用中のリスナーにこの設定を残さないでください。
変更後
yaml
Resources:
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
Policies:
- PolicyName: MySSLPolicy
PolicyType: SSLNegotiationPolicyType
Attributes:
- Name: Reference-Security-Policy
Value: ELBSecurityPolicy-TLS-1-2-2017-01
TLS 1.2 のみを許可する定義済みポリシーを参照します。この定義を記述するだけでは、リスナーには関連付けられません。