NLB インスタンスの TCP/SSL リスナーを構成する際、TLS セキュリティポリシーはクライアントとの TLS ハンドシェイクでサポートされる TLS バージョンおよび暗号スイートを定義します。複数のシステム定義済みセキュリティポリシーから選択するか、特定のセキュリティ要件またはコンプライアンス要件がある場合はカスタムポリシーを作成できます。
仕組み
NLB インスタンスの TLS セキュリティポリシーは、TLS ハンドシェイク中にインスタンスがサポートする TLS バージョンおよび暗号スイートを定義します。ハンドシェイク中、クライアントは Client Hello メッセージで自身がサポートするプロトコルバージョンおよび暗号スイートのリストを送信します。NLB インスタンスはポリシーに基づき、相互にサポートされているプロトコルバージョンと暗号スイートの組み合わせを選択し、Server Hello メッセージで応答します。その後のキー交換やセッションキー生成などのステップでは、このネゴシエートされた組み合わせが使用されます。
デフォルトポリシー
特別な互換性要件のないインターネット向けアプリケーションの場合、tls_cipher_policy_1_2 ポリシーまたはそれ以降のバージョンを使用することを推奨します。
コンソール
NLB コンソールの TLS セキュリティポリシー ページに移動します。デフォルトポリシー タブでポリシーの詳細を確認します。
API
ListSystemSecurityPolicy 操作を呼び出して、デフォルトポリシーを照会します。
カスタムポリシー
カスタムポリシーの作成
コンソール
-
NLB コンソールの TLS セキュリティポリシー ページに移動し、ご利用の NLB インスタンスのリージョンを選択します。
-
カスタムポリシーの作成 をクリックし、パラメーターを設定してから 作成 をクリックします。
-
最小バージョン :ワークロードに特別な互換性要件がない場合は、セキュリティを強化するために TLS 1.2 以降 を選択してください。
-
TLS 1.3 を有効化 :互換性のあるサービスに対してこのオプションを有効化することで、セキュリティとパフォーマンスを向上させることができます。
-
暗号スイート:選択した TLS バージョンと互換性のある暗号スイートを選択します。
-
-
ポリシーを作成後、リスナーの TLS セキュリティポリシーを構成する 際に選択できます。
API
CreateSecurityPolicy 操作を呼び出して、ご利用の NLB インスタンスと同じリージョンにカスタムポリシーを作成します。
カスタムポリシーの更新
コンソール
-
NLB コンソールの TLS セキュリティポリシー ページに移動し、カスタムポリシーのリージョンを選択します。
-
対象のカスタムポリシーを見つけ、 操作 列の 編集 をクリックします。TLS セキュリティポリシーの編集 ダイアログボックスで、TLS プロトコルバージョンまたは暗号スイートを更新します。
API
UpdateSecurityPolicyAttribute 操作を呼び出して、カスタムポリシーの属性を更新します。
カスタムポリシーの複製
コンソール
-
NLB コンソールの TLS セキュリティポリシー ページに移動し、カスタムポリシーのリージョンを選択します。
-
対象のカスタムポリシーを見つけ、操作 列の 他のリージョンに複製 をクリックし、ターゲットリージョンを選択してから OK をクリックします。
API
ListSecurityPolicy を呼び出して、カスタムポリシーから TlsVersion や Ciphers などのパラメーターを取得します。CreateSecurityPolicy を呼び出してカスタムポリシーを作成する際に、これらのパラメーターを渡し、RegionId フィールドにターゲットリージョンの ID を設定します。
カスタムポリシーの削除
リスナーで使用中のカスタムポリシーは削除できません。ポリシーを削除するには、まずリスナーの TLS セキュリティポリシーを変更するか、リスナーを削除する必要があります。
コンソール
-
NLB コンソールの TLS セキュリティポリシー ページに移動し、カスタムポリシーのリージョンを選択します。
-
対象のカスタムポリシーを見つけ、操作 列の 削除 をクリックしてから、OK をクリックします。
API
DeleteSecurityPolicy 操作を呼び出して、カスタムポリシーを削除します。
TLS セキュリティポリシーの構成
コンソール
-
TCP/SSL リスナーを作成する 際は、SSL 証明書の構成 タブで TLS セキュリティポリシー を選択します。TCP/SSL リスナーをクイック作成する 際は、リスナーのクイック作成 ダイアログボックスで TLS セキュリティポリシー を選択します。
-
TLS セキュリティポリシーを変更する 場合は、インスタンス詳細ページの リスナー タブに移動します。対象の TCP/SSL リスナーの ID をクリックして リスナー詳細 ページを開きます。SSL 証明書 セクションで、TLS セキュリティポリシー を変更します。
API
CreateListener 操作を呼び出して TCP/SSL リスナーを作成する場合、または UpdateListenerAttribute 操作を呼び出して TCP/SSL リスナーの構成を更新する場合、SecurityPolicyId パラメーターに TLS セキュリティポリシーの ID を設定します。
-
ListSystemSecurityPolicy 操作を呼び出して、デフォルトポリシーの
SecurityPolicyIdを照会します。 -
ListSecurityPolicy 操作を呼び出して、カスタムポリシーの
SecurityPolicyIdを照会します。
課金
TLS セキュリティポリシーは無料です。ご利用の NLB インスタンスに対してのみ課金されます。詳細については、「NLB 課金ルール」をご参照ください。
本番環境での検討事項
-
バックエンドトラフィックのセキュリティ:TCP 上の SSL はクライアントと NLB インスタンス間のトラフィックを暗号化しますが、NLB インスタンスとバックエンドサーバー間のトラフィックはデフォルトで暗号化されていません(プレーンテキスト)。エンドツーエンドのセキュリティを確保するには、NLB インスタンスとバックエンドサーバーを同じ VPC 内に配置し、セキュリティグループなどのポリシーでアクセスを厳密に制御してください。
-
TLS バージョン:アプリケーションに特別な互換性要件がない場合は、TLS 1.2 および TLS 1.3 の使用を推奨します。
-
変更のロールバック:TLS セキュリティポリシーを変更した後に問題が発生した場合は、直ちにリスナー構成を変更して変更をロールバックしてください。潜在的なサービス中断を最小限に抑えるため、これらの変更はオフピーク時間帯に行うことを推奨します。
-
キー交換アルゴリズム:特別な互換性要件のない本番環境では、以下の RSA キー交換アルゴリズムスイートの使用を避けてください:
AES128-GCM-SHA256、AES256-GCM-SHA384、AES128-SHA256、AES256-SHA256、AES128-SHA、AES256-SHA、およびDES-CBC3-SHA。これらのスイートはフォワードシークレシー (PFS) をサポートしておらず、サイドチャネル攻撃に対して脆弱です。キー交換には ECDHE または DHE を含む暗号スイートを優先的に使用してください。
TLS 暗号スイートマッピング
この表は、TLS 暗号スイート名を OpenSSL 形式、IANA 標準形式、および 16 進数値にマッピングしたものです。