🔑
Google Cloud デフォルトの SSL ポリシーは使ってはいけない
「カスタム SSL ポリシー」を作成し、TLS 1.0 と TLS 1.1 が使用されないようにしましょう。
どういうことか
「SSL ポリシー」では、Google Cloud ロードバランサがクライアントと SSL のネゴシエートするときに使用する一連の SSL 機能を指定します。
独自に「カスタム SSL ポリシー」を作成してロードバランサーに適用することができますが、そうでない場合は「デフォルトの SSL ポリシー」が使用されます。
しかし、この「デフォルトの SSL ポリシー」は下図のように、Minimum TLS Version: 1.0
と設定されており TLS 1.0 と TLS 1.1 が有効となっています。このポリシーを使用するとそれらのバージョンも使用できることになってしまいます。
TLS 1.0 と TLS 1.1 は、脆弱性のため RFC 8996 で deprecated となり、非推奨とされているバージョンです。すなわち、基本的には デフォルトの SSL ポリシー は使用すべきではないというわけです。
どうすればいいか
「カスタム SSL ポリシー」を作成し、Minimum TLS Version: 1.2
と設定してください。こうすることで、TLS 1.2 以上のバージョンのみが使用されるようになり、それ以下のバージョンは無効化されます。
Terraform での設定例は下記の通りです。
(グローバル外部 HTTPS ロードバランサの場合)
resource "google_compute_ssl_policy" "default" {
name = "my-custom-policy"
profile = "MODERN"
min_tls_version = "TLS_1_2"
}
resource "google_compute_target_https_proxy" "default" {
name = "my-proxy"
url_map = google_compute_url_map.default.name
# 省略
ssl_policy = google_compute_ssl_policy.default.name
}
Discussion