ELB でカスタムセキュリティポリシーを使用する方法を教えてください
この記事はアノテーション株式会社 AWS Technical Support Advent Calendar 2024 | Advent Calendar 2024 - Qiita 5日目の記事です。
困っていること
ELB でカスタムセキュリティポリシーを使用することはできますか?
指定の暗号スイートは有効、無効にするなどセキュリティーポリシーの詳細な挙動を指定したいです。
どう解決すればいいの?
ELB でカスタムセキュリティポリシーを利用する場合は、CLB を利用する必要があります。
Predefined SSL security policies for Classic Load Balancers - Elastic Load Balancing
ポリシーの 1 つを使用して、 ELBSecurityPolicy-TLS特定の TLS プロトコル バージョンを無効にする必要があるコンプライアンスおよびセキュリティ基準を満たすことができます。または、カスタム セキュリティ ポリシーを作成することもできます。詳しくは、SSL ネゴシエーション構成の更新を参照してください。
ALB や NLB では、カスタムセキュリティポリシーをサポートしていません。
Application Load Balancer 用の HTTPS リスナーを更新する - Elastic Load Balancing
Application Load Balancer は、カスタムセキュリティポリシーをサポートしていません。詳細については、「セキュリィポリシー」を参照してください。
Network Load Balancer の TLS リスナーを更新する - Elastic Load Balancing
Network Load Balancer は、カスタムセキュリティポリシーをサポートしていません。詳細については、「Network Load Balancer のセキュリティポリシー」を参照してください。
通常、ALB では事前定義されたセキュリティポリシーを選択します。
ALB のセキュリティポリシーには ELBSecurityPolicy-TLS13-1-3-2021-06
等のポリシーがあり、既存の ALB のセキュリティーポリシーを指定する形になります。
このポリシーの「TLS_AES_128_GCM_SHA256」のような特定の暗号スイートについて、ALB の機能では個別に有効/無効を選択することはできません。
CLB の場合には、事前定義されたセキュリティーポリシーに加えて、カスタムで内容を詳細に指定しカスタムセキュリティポリシーを作成することが可能です。
上記のカスタムセキュリティポリシーの操作は、aws elb create-load-balancer-policy
コマンドでも作成可能です。
下記 AWS ドキュメントの 'カスタムSSLセキュリティポリシーを使用するには' にコマンドの例がありますので、併せて参照してください。
Classic Load Balancer の SSL ネゴシエーション設定を更新する - Elastic Load Balancing
aws elb create-load-balancer-policy --load-balancer-name my-loadbalancer
--policy-name my-SSLNegotiation-policy --policy-type-name SSLNegotiationPolicyType
--policy-attributes AttributeName=Protocol-TLSv1.2,AttributeValue=true
AttributeName=Protocol-TLSv1.1,AttributeValue=true
AttributeName=DHE-RSA-AES256-SHA256,AttributeValue=true
AttributeName=Server-Defined-Cipher-Order,AttributeValue=true
参考資料
Application Load Balancer のセキュリティポリシー - Elastic Load Balancing
create-load-balancer-policy — AWS CLI 1.36.12 Command Reference
Classic Load Balancer の SSL ネゴシエーション設定を更新する - Elastic Load Balancing