ロード バランサの TLS ネゴシエーションを制御する SSL policies
Google Cloud Japan Team
クラウドにデプロイされるアプリケーションのセキュリティ ニーズは多種多様です。HTTPS または TLS のフロントエンドとしてロード バランサを使用する場合は、ロード バランサがクライアントとの接続をどのように保護するかを制御できるようにしておかなければなりません。
セキュリティやコンプライアンス上の要件に応じて、ロード バランサが使える TLS プロトコルや暗号方式が制限されることがあります。レガシー クライアントに対応するため、古い TLS 機能をロード バランサでサポートしなければならないこともあります。このようなケースに対応するべく、私たちはこのほど、HTTPS / SSL プロキシ ロード バランサのネゴシエーションを制御する SSL policies をリリースしました。
SSL policies とは
TLS プロトコルはインターネット セキュリティの中心的な存在ですが、導入から 20 年以上の間に何も変わらなかったわけではありません。SSL としてスタートして以来、TLS になってからも何度かバージョンアップし、そのたびに新しい暗号化技法を追加し、機能を拡張してきました。TLS を使用するときには、サーバーとクライアントはプロトコル バージョンや暗号方式などを含め、どのような TLS 通信を行うのかを相手とネゴシエートします。新しい SSL policies 機能を使えば、ロード バランサがネゴシエートする TLS の機能と、設定の経時的な管理方法の両方を指定できます。
SSL policy を作成するときは次の 2 つを指定します。
- TLS バージョンの下限 : たとえばこれを 1.1 にすると、ロード バランサは、TLS 1.1 以降をサポートするクライアントとのみ TLS をネゴシエートします。
- 機能のプロファイル : ロード バランサが使用できる暗号スイートのセットを選択します。
プロファイルとしては、定義済みとカスタムのいずれも使用できます。
プロファイル名 | 説明 |
COMPATIBLE | 広範なクライアント(旧式の TLS 機能のみをサポートするものも含む)を使用した、ロード バランサと SSL のネゴシエーションを許可します。 |
MODERN | 最新のクライアントが TLS をネゴシエートできるように、幅広い TLS 機能をサポートします。 |
RESTRICTED | より厳格なコンプライアンス要件を満たすための TLS 機能のサブセットをサポートします。 |
CUSTOM | SSL policy で有効にする一連の機能を正確に指定できるようにします。 |
これらのプロファイルによってどの TLS 機能が有効になるかについては、SSL policies のドキュメントを参照してください。
SSL policy の作成に必要な gcloud コマンドは以下の 1 行だけです。
作成した SSL policy は、以下に示す第 2 の gcloud コマンドによってロード バランサに紐づけられます。
以下は、Cloud Console でのプロファイルのプレビュー画面です(近日リリース)。


TLS の発展に歩調を合わせるために
私たちは、さまざまなセキュリティ ニーズを満たすことができる定義済みプロファイルを設計しました。これらのプロファイルでは、クライアントが広く実装するようになった新機能を有効にしたり、不適切になった機能を無効にしたりといった作業を私たちが行います。定義済みプロファイルを使用すれば、TLS の新しい機能をロード バランサでサポートするにあたって、お客様が SSL policy を手作業で操作する必要はありません。ニーズを満たす定義済みプロファイルが見当たらない場合は、カスタム プロファイルを使用してください。次に示すのは、Cloud Console でのカスタム プロファイルのプレビュー画面です(近日リリース)。


カスタム プロファイルを使用すれば、必要となる TLS 機能をきめ細かく選択できるほか、SSL policy を最新の状態に保つための新機能導入もお客様側で管理できます。
SSL policies をお試しください
SSL policies の詳細はこちらのドキュメントにありますので、ぜひお試しください。ご意見をお待ちしています。* この投稿は米国時間 2 月 28 日、Software Engineer の David Gingold によって投稿されたもの(投稿はこちら)の抄訳です。
- By David Gingold, Software Engineer