説明
Classic Load Balancer の HTTPS・SSL リスナーが弱い暗号スイートや旧式の TLS バージョンを許可すると、クライアント接続の保護が弱まる可能性があります。HTTPS を使用するだけでは十分ではありません。実際にリスナーへ関連付けられたセキュリティポリシーを確認してください。
想定される影響
- 弱い組み合わせで通信すると、通信の保護が弱まったり、組織の TLS 要件を満たせなかったりする場合があります。
- 互換性を確認せずにポリシーを変えると、古いクライアントが接続できなくなる場合があります。
対処方法
- そのロードバランサーの種類で使えるポリシーから、必要な TLS バージョンと暗号スイートの基準を満たすものを選んでください。不要な弱い暗号スイートや旧式のプロトコルは無効にしてください。
- リスナーの実際のポリシー関連付け、証明書、クライアント互換性を確認し、変更後に TLS 接続をテストしてください。
- クライアントとロードバランサー間の TLS と、転送先サーバーまでの暗号化は別々に管理してください。より強いポリシーや TLS 1.3 が必要なら、それらに対応するロードバランサーへの移行を検討してください。
例
同じ VPC 内のサブネット・セキュリティグループと、有効な証明書 ARN を指定する Classic ELB の例です。転送先の登録とネットワークルールは別途構成してください。どちらも転送先サーバーには HTTP を使用するため、通信経路全体を暗号化する構成ではありません。
変更前
yaml
Parameters:
SubnetIds:
Type: List<AWS::EC2::Subnet::Id>
SecurityGroupIds:
Type: List<AWS::EC2::SecurityGroup::Id>
CertificateArn:
Type: String
Resources:
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
Subnets: !Ref SubnetIds
SecurityGroups: !Ref SecurityGroupIds
Listeners:
- InstancePort: "80"
InstanceProtocol: HTTP
LoadBalancerPort: "443"
Protocol: HTTPS
SSLCertificateId: !Ref CertificateArn
PolicyNames:
- My-SSLNegotiation-Policy
Policies:
- PolicyName: My-SSLNegotiation-Policy
PolicyType: SSLNegotiationPolicyType
Attributes:
- Name: Reference-Security-Policy
Value: ELBSecurityPolicy-2015-05
ELBSecurityPolicy-2015-05 は TLS 1.0・1.1 と 3DES 暗号スイートを許可します。
変更後
yaml
Parameters:
SubnetIds:
Type: List<AWS::EC2::Subnet::Id>
SecurityGroupIds:
Type: List<AWS::EC2::SecurityGroup::Id>
CertificateArn:
Type: String
Resources:
MyLoadBalancer:
Type: AWS::ElasticLoadBalancing::LoadBalancer
Properties:
Subnets: !Ref SubnetIds
SecurityGroups: !Ref SecurityGroupIds
Listeners:
- InstancePort: "80"
InstanceProtocol: HTTP
LoadBalancerPort: "443"
Protocol: HTTPS
SSLCertificateId: !Ref CertificateArn
PolicyNames:
- My-SSLNegotiation-Policy
Policies:
- PolicyName: My-SSLNegotiation-Policy
PolicyType: SSLNegotiationPolicyType
Attributes:
- Name: Reference-Security-Policy
Value: ELBSecurityPolicy-TLS-1-2-2017-01
ELBSecurityPolicy-TLS-1-2-2017-01 は TLS 1.2 のみを許可し、3DES を除外します。ただし、静的 RSA と CBC 暗号スイートも含むため、組織の暗号スイート要件全体を満たすか別途確認してください。