Compute SSL ポリシーの最小 TLS バージョンの確認

必要なクライアントとの互換性を保ちながら、古い TLS 接続を制限してください。

説明

古い TLS バージョンを許可する SSL ポリシーは、現在の通信セキュリティ要件を満たさない場合があります。実際にネゴシエーションできる接続は、最小 TLS バージョン、プロファイル、暗号スイートによって決まるため、併せて確認する必要があります。

ポリシーは実際のターゲット HTTPS または SSL プロキシに関連付けて適用します。クライアントとロードバランサー間の TLS を管理するもので、バックエンドの暗号化は別途構成が必要です。

想定される影響

  • 許可された古いプロトコルを使う接続が、組織のセキュリティ要件を満たさない場合があります。
  • 互換性を確認せずにポリシーを強化すると、必要なクライアントが接続できなくなるおそれがあります。

対処方法

対応するプロファイルと暗号スイートの組み合わせで、min_tls_version を TLS_1_2 以上に設定してください。実際のプロキシへ関連付け、必要なクライアントが接続でき、許可しないプロトコルが拒否されることを試験してください。バックエンドの通信暗号化も別途確認してください。

例

SSL ポリシーの定義を比較する抜粋です。ポリシー名、プロジェクト名、サービスアカウントの JSON ファイルへのパスを実際の値に置き換えてください。プロキシへの関連付けは省略しています。

変更前

yaml
- name: create a SSL policy
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy
    profile: CUSTOM
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

- name: create a SSL policy2
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy2
    profile: CUSTOM
    min_tls_version: TLS_1_1
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: "/tmp/auth.pem"
    state: present

最小バージョンを省略するか TLS_1_1 に設定しています。記載の二つの GCM スイートは TLS 1.2 用なので、この値だけで実際の TLS 1.1 接続や弱い暗号の使用を断定することはできません。

変更後

yaml
- name: create a SSL policy
  google.cloud.gcp_compute_ssl_policy:
    name: test-ssl-policy
    profile: CUSTOM
    min_tls_version: TLS_1_2
    custom_features:
      - TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
      - TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
    project: test_project
    auth_kind: serviceaccount
    service_account_file: /tmp/auth.pem
    state: present

同じ CUSTOM 暗号スイートに TLS_1_2 を明示します。ポリシーの関連付けと、クライアントが実際にネゴシエーションする TLS を確認してください。

参考資料