Application Load Balancer (ALB) の HTTPS リスナーを設定すると、TLS セキュリティポリシーによって、サポートされる TLS バージョンと暗号スイートが設定されます。このポリシーは、ALB とクライアント間の TLS ネゴシエーションを管理します。ALB は、いくつかのデフォルトのシステムポリシーを提供します。特定の要件を満たすために、カスタム TLS セキュリティポリシーを作成することもできます。
仕組み
TLS セキュリティポリシーは ALB 上で設定され、TLS ネゴシエーションでサポートされる TLS バージョンと暗号スイートを定義します。ハンドシェイク中、クライアントはサポートするプロトコルバージョンと暗号スイートのリストを Client Hello メッセージで送信します。ALB はポリシーを使用して、双方がサポートするプロトコルバージョンと暗号スイートの組み合わせを選択します。その後、ALB はこの選択を Server Hello 応答で送信します。キー交換やセッションキーの生成などの後続のステップは、この選択に基づいています。
デフォルトのシステムポリシー
情報セキュリティ基準によっては、ALB に特定の TLS セキュリティポリシーを使用する必要がある場合があります。次の表に、デフォルトのシステムポリシーでサポートされている TLS バージョンと暗号スイートを示します。必要に応じて設定できます。デフォルトのポリシーが要件を満たさない場合は、カスタムポリシーを作成できます。
特別な互換性要件のないインターネット向けのアプリケーションでは、tls_cipher_policy_1_2 ポリシー以降のバージョンを使用してください。
コンソール
ALB コンソールの TLS セキュリティポリシーページに移動します。[デフォルトのシステムポリシー] タブで、ポリシーの詳細を表示できます。
API
ListSystemSecurityPolicies 操作を呼び出して、デフォルトのシステムポリシーをクエリできます。
カスタムポリシー
Standard Edition および WAF 対応の ALB インスタンスのみがカスタムポリシーをサポートします。Basic Edition の ALB インスタンスはサポートしません。
カスタムポリシーの作成
コンソール
ALB コンソールの TLS セキュリティポリシーページに移動し、ALB インスタンスが配置されているリージョンを選択します。
[カスタムポリシーの作成] をクリックし、次のパラメーターを設定してから [作成] をクリックします。
[最小バージョンの選択]: アプリケーションに特別な互換性要件がない場合は、セキュリティを確保するために [TLS 1.2 以降] を選択します。
[TLS 1.3 の有効化]: ネットワーク通信のセキュリティと効率を確保するために、サービスに互換性がある場合はこのオプションを有効にできます。
[暗号スイートの選択]: 暗号スイートは TLS バージョンと一致する必要があります。
ポリシーが作成されたら、リスナーの TLS セキュリティポリシーを設定するときに選択できます。
API
CreateSecurityPolicy 操作を呼び出して、カスタムポリシーを作成できます。カスタムポリシーのリージョンは、ALB インスタンスのリージョンと同じである必要があることに注意してください。
カスタムポリシーの TLS バージョンと暗号スイートの更新
コンソール
ALB コンソールの TLS セキュリティポリシーページに移動し、カスタムポリシーのリージョンを選択します。
ターゲットのカスタムポリシーを見つけ、[アクション] 列の [編集] をクリックし、[TLS セキュリティポリシーの編集] ダイアログボックスで TLS バージョンと暗号スイートを更新します。
API 操作
UpdateSecurityPolicyAttribute 操作を呼び出して、カスタムポリシーの属性を更新できます。
カスタムポリシーを別のリージョンにコピーする
コンソール
ALB コンソールの TLS セキュリティポリシーページに移動し、カスタムポリシーのリージョンを選択します。
ターゲットのカスタムポリシーを見つけ、[アクション] 列の [他のリージョンにコピー] をクリックし、ターゲットリージョンを選択して [OK] をクリックします。
API
ListSecurityPolicies 操作を呼び出して、カスタムポリシーの TLSVersions および Ciphers パラメーターを取得できます。次に、これらのパラメーターを使用して CreateSecurityPolicy 操作を呼び出し、ターゲットリージョンにカスタムポリシーを作成します。
カスタムポリシーの削除
リスナーで使用されているカスタムポリシーは削除できません。ポリシーを削除するには、まずリスナーの TLS セキュリティポリシーを変更するか、リスナーを削除する必要があります。
コンソール
ALB コンソールの TLS セキュリティポリシーページに移動し、カスタムポリシーのリージョンを選択します。
ターゲットのカスタムポリシーを見つけ、[アクション] 列の [削除] をクリックし、[OK] をクリックします。
API
DeleteSecurityPolicy 操作を呼び出して、カスタムポリシーを削除できます。
リスナーの TLS セキュリティポリシーの設定
コンソール
HTTPS リスナーを作成する場合、[SSL 証明書の設定] タブで [TLS セキュリティポリシー] を選択します。HTTPS リスナーをすばやく作成する場合、[リスナーのクイック作成] ダイアログボックスで [TLS セキュリティポリシー] を選択します。
TLS セキュリティポリシーを変更する: インスタンスの詳細ページで、[リスナー] タブに移動します。ターゲット HTTPS リスナーの ID をクリックして、[リスナーの詳細] ページに移動します。[SSL 証明書] セクションで、[TLS セキュリティポリシー] を変更します。
API
CreateListener 操作を呼び出して HTTPS リスナーを作成するか、UpdateListenerAttribute 操作を呼び出して HTTPS リスナーの設定を更新するときに、SecurityPolicyId パラメーターを TLS セキュリティポリシーの ID に設定します。
ListSystemSecurityPolicies を呼び出して、デフォルトのシステムポリシーの
SecurityPolicyIdをクエリできます。ListSecurityPolicies を呼び出して、カスタムポリシーの
SecurityPolicyIdをクエリできます。
課金
TLS セキュリティポリシーは無料です。ただし、ALB インスタンスに対しては課金されます。詳細については、「課金」をご参照ください。
本番稼働
バックエンドトラフィックのセキュリティ: エンドツーエンドのセキュリティを確保するには、ALB とバックエンドサーバーを同じ VPC にデプロイします。セキュリティグループなどのポリシーを使用して、アクセスを厳密に制限します。
TLS バージョン: アプリケーションに特別な互換性要件がない場合は、セキュリティを確保するために TLS 1.2 と TLS 1.3 を使用します。
変更のロールバック: TLS セキュリティポリシーを変更した後に問題が発生した場合は、リスナーの設定を変更して、すぐに変更をロールバックします。これらの変更はオフピーク時に行ってください。