このドキュメントでは、SSL という用語は、SSL(セキュア ソケット レイヤ)プロトコルと TLS(Transport Layer Security)プロトコルの両方を指します。
SSL ポリシーでは、Google Cloud ロードバランサがクライアントと SSL のネゴシエートするときに使用する一連の SSL 機能を指定します。たとえば、SSL ポリシーを使用して、ロードバランサにトラフィックを送信するためにすべてのクライアントでサポートする必要のある TLS の最小バージョンと機能を定義できます。
次のロードバランサは、グローバル SSL ポリシーをサポートしています。
- グローバル外部アプリケーション ロードバランサ
- 従来のアプリケーション ロードバランサ
- クロスリージョン内部アプリケーション ロードバランサ
- グローバル外部プロキシ ネットワーク ロードバランサ
- 従来のプロキシ ネットワーク ロードバランサ
次のロードバランサは、リージョン SSL ポリシーをサポートしています。
- リージョン外部アプリケーション ロードバランサ
- リージョン内部アプリケーション ロードバランサ
デフォルトでは、これらのロードバランサは、優れたセキュリティと幅広い互換性を提供する一連の SSL 機能を使用します。アプリケーションの中には、HTTPS または SSL 接続に使用される SSL のバージョンおよび暗号をより詳細に管理しなければならないものがあります。SSL ポリシーを定義して、ロードバランサがクライアントと SSL をネゴシエートする際に使用する一連の SSL 機能を指定できます。
次の例は、クライアントからの接続がロードバランサで確立および終了される方法を示しています。
SSL ポリシーを使用して、ロードバランサで有効にする最小の TLS バージョンと SSL 機能を構成できます。SSL ポリシーは、クライアントとロードバランサ間の接続に影響を与えます(図の接続 1)。SSL ポリシーは、ロードバランサとバックエンド間の接続(接続 2)に影響しません。
SSL ポリシーの定義
SSL ポリシーを定義するには、最小の TLS バージョンとプロファイルを指定します。プロファイルにより、ロードバランサで有効にする一連の SSL 機能が選択されます。
事前に構成された 3 つの Google 管理プロファイルを使用すると、アプリケーションに適した互換性レベルを指定できます。3 つの事前構成プロファイルは次のとおりです。
- COMPATIBLE。最も幅広い範囲のクライアントがロードバランサと SSL をネゴシエートできるようにします。古くなった SSL 機能にしか対応していないクライアントも含みます。
- MODERN。幅広い SSL 機能を使って、最新のクライアントが SSL をネゴシエートできるようにします。
- RESTRICTED。厳しいコンプライアンス要件を満たす限定された SSL 機能のみをサポートします。
4 番目の CUSTOM プロファイルでは、SSL 機能を個別に選択できます。
SSL ポリシーは、クライアントが接続を確立するために使用できる TLS プロトコルの最小バージョンも指定します。
プロファイルでは、ロードバランサがネゴシエートできる TLS のバージョンを間接的に制限できます。たとえば、RESTRICTED プロファイルで有効になっている暗号は、TLS 1.2 でのみサポートされます。したがって、RESTRICTED プロファイルを選択すると、SSL ポリシーの最小 TLS バージョンで TLS 1.0 と 1.1 が許可されていても、クライアントは TLS 1.0 と 1.1 を使用できなくなります。
3 つの事前構成プロファイルのいずれかを選択しない場合やカスタム SSL ポリシーを作成しない場合、ロードバランサはデフォルトの SSL ポリシーを使用します。デフォルトの SSL ポリシーは、TLS 1.0 の最小 TLS バージョンの COMPATIBLE プロファイルを使用する SSL ポリシーと同等です。
複数のターゲット プロキシに SSL ポリシーを適用できます。特定のターゲット プロキシに対して複数の SSL ポリシーを構成することはできません。SSL ポリシーに変更を加えても、既存のロードバランサの接続は変更されず、中断もされません。
Cloud Load Balancing は、SSL バージョン 3.0 以前をサポートしていません。下のテーブルは、各 TLS / SSL バージョンの機能サポートについて説明したものです。
TLS / SSL バージョン | 機能サポート |
---|---|
TLS 1.0、1.1、1.2 | SSL ポリシーの設定では、クライアント接続に適用される暗号スイートを管理します。 |
TLS 1.3 | SSL ポリシーの設定では、暗号の選択は制御されません。TLS 1.3 は、TLS_AES_128_GCM_SHA256 、TLS_AES_256_GCM_SHA384 、TLS_CHACHA20_POLY1305_SHA256 の暗号のみをサポートしています。 |
QUIC | SSL ポリシーの設定では、暗号の選択は制御されません。 |
SSL 3.0 以前 | 該当なし。Cloud Load Balancing ではサポートされていません。 |
それぞれの TLS handshake を行っているときに、クライアントはサポートしている TLS プロトコルの最大バージョンを提示します。サーバーは、クライアントとサーバーでサポートされていて、かつサーバー構成で許可されている、最大のプロトコル バージョンを選択する必要があります。たとえば、ロードバランサの最小の TLS バージョンの構成が 1.2 の場合、TLS 1.3 をサポートするモダンなクライアントとの handshake では TLS 1.3 が選択されます。TLS 1.2 のみをサポートする古いクライアントとの handshake では TLS 1.2 が使用されます。TLS 1.1 のみをサポートするさらに古いクライアントとの handshake は失敗します。
次の表に、それぞれの事前構成プロファイルで使用可能な SSL ポリシーの機能を示します。これらの機能はすべて、特定の暗号スイートが使用できるかどうかを制御します。これらは TLS バージョン 1.2 以前を使用するクライアント接続にのみ適用され、QUIC を使用するクライアントには適用されません。
IANA 値 | 特徴 | COMPATIBLE プロファイル | MODERN プロファイル | RESTRICTED プロファイル |
---|---|---|---|---|
0xCCA9 | TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256 | ♦ | ♦ | ♦ |
0xCCA8 | TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256 | ♦ | ♦ | ♦ |
0xC02B | TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 | ♦ | ♦ | ♦ |
0xC02F | TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 | ♦ | ♦ | ♦ |
0xC02C | TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 | ♦ | ♦ | ♦ |
0xC030 | TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 | ♦ | ♦ | ♦ |
0xC009 | TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA | ♦ | ♦ | |
0xC013 | TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA | ♦ | ♦ | |
0xC00A | TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA | ♦ | ♦ | |
0xC014 | TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA | ♦ | ♦ | |
0x009C | TLS_RSA_WITH_AES_128_GCM_SHA256 | ♦ | ||
0x009D | TLS_RSA_WITH_AES_256_GCM_SHA384 | ♦ | ||
0x002F | TLS_RSA_WITH_AES_128_CBC_SHA | ♦ | ||
0x0035 | TLS_RSA_WITH_AES_256_CBC_SHA | ♦ | ||
0x000A | TLS_RSA_WITH_3DES_EDE_CBC_SHA | ♦ |
機能の更新
COMPATIBLE、MODERN、RESTRICTED の各プロファイルで有効になっている一連の機能、および CUSTOM プロファイルで構成可能な機能を更新する権利を留保します。これは Google が古い SSL 機能のサポートを終了し、新しい SSL 機能のサポートを追加する際に行われます。
SSL 機能を強化する機能を追加する際、COMPATIBLE、MODERN、および RESTRICTED の各プロファイルで機能を有効にすることで、そのプロファイルを選択する SSL ポリシーで新しい機能を使用できるようになります。ただし、ポリシーが CUSTOM プロファイルを選択している場合は、追加機能を使用するようにポリシーの設定を変更する必要があります。
制限事項
特定の SSL バージョンまたは暗号を無効にすると、一部の古いクライアントが、HTTPS または SSL を使用してプロキシに接続できなくなる場合があります。CUSTOM プロファイルで十分に広範な暗号を無効にすると、HTTPS をネゴシエートできるクライアントがいなくなる可能性があります。
ロードバランサに関連付けられた SSL 証明書は、ECDSA または RSA のデジタル署名を使用します。事前定義されたプロファイルは、この両方のタイプの証明書署名と互換性があります。カスタム プロファイルでは、ロードバランサの証明書で使用されるデジタル署名と互換性のある暗号を有効にする必要があります。
暗号スイートを管理する機能は、TLS バージョン 1.2 以前を使用するクライアント接続にのみ適用されます。QUIC または TLS 1.3 を使用する接続では、暗号の選択が制御されません。
次のステップ
- SSL ポリシーの作成、変更、削除を行う。SSL ポリシーの使用をご覧ください。
- SSL 証明書を構成する。SSL 証明書の作成と使用をご覧ください。