SSL 和 TLS 通訊協定的 SSL 政策

在本文件中,「SSL」SSL一詞指的是 SSL (安全資料傳輸層) 和 TLS (傳輸層安全標準) 通訊協定。本文資訊適用於透過 TCP 傳輸通訊協定的 TLS 連線,這類連線可使用任何支援的 TLS 版本。如果負載平衡器使用 HTTP/3 連線,則底層傳輸通訊協定為 QUIC,且僅使用 TLS 1.3。

SSL 政策會指定 Google Cloud 負載平衡器與用戶端交涉 SSL 時使用的 SSL 功能組合。舉例來說,您可以使用 SSL 政策定義最低 TLS 版本和功能,確保所有用戶端都支援這些項目,才能將流量傳送至負載平衡器。

下列負載平衡器支援全域 SSL 政策:

  • 全域外部應用程式負載平衡器
  • 傳統版應用程式負載平衡器
  • 跨區域內部應用程式負載平衡器
  • 全域外部 Proxy 網路負載平衡器
  • 傳統版 Proxy 網路負載平衡器

下列負載平衡器支援區域性安全資料傳輸層 (SSL) 政策:

  • 區域性外部應用程式負載平衡器
  • 區域性內部應用程式負載平衡器

依預設,這些負載平衡器會使用 SSL 功能組合,以提供充足的安全性和相容性。有些應用程式需要進一步控制 HTTPS 或 SSL 連線使用的 SSL 版本和加密方式。您可以定義 SSL 政策,指定負載平衡器與用戶端交涉 SSL 時使用的 SSL 功能組合。

下列範例顯示如何在負載平衡器上建立及終止來自用戶端的連線。

外部應用程式負載平衡器或外部 Proxy 網路負載平衡器中的用戶端連線。
外部應用程式負載平衡器或外部 Proxy 網路負載平衡器中的用戶端連線 (按一下可放大)。

您可以使用 SSL 政策來設定負載平衡器中啟用的最低 TLS 版本和 SSL 功能。SSL 政策會影響用戶端與負載平衡器之間的連線 (插圖中的連線 1)。SSL 政策不會影響負載平衡器與後端之間的連線 (連線 2)。

定義 SSL 政策

如要定義 SSL 政策,請指定最低 TLS 版本和設定檔。設定檔會選擇要在負載平衡器中啟用的 SSL 功能組合。

系統提供三個預先設定的 Google 管理設定檔,可讓您指定適用於應用程式的相容性層級。三個預先設定的設定檔如下:

  • 相容。允許與負載平衡器交涉 SSL 的用戶端組合範圍最廣,涵蓋僅支援過時 SSL 功能的用戶端。
  • MODERN。支援廣泛的 SSL 功能組合,可讓使用現行版本的客戶與 SSL 交涉。
  • 受限。支援較少的 SSL 功能組合,適用於較嚴格的法規遵循規定。

第四個 CUSTOM 設定檔可讓您個別選擇 SSL 功能。

SSL 政策也會指定用戶端可用來建立連線的 TLS 通訊協定的最低版本。

請注意,設定檔可以間接限制負載平衡器可以交涉的 TLS 版本。舉例來說,只有 TLS 1.2 版支援在 RESTRICTED 設定檔中啟用的加密方式;因此,即使 SSL 政策允許用戶端使用 TLS 1.0 和 1.1 版,選用 RESTRICTED 設定檔也會有效禁止用戶端使用這些版本。

如果您未從三個預先設定的設定檔中選擇其一,或是建立自訂 SSL 政策,負載平衡器會使用預設的 SSL 政策。預設 SSL 政策等同於使用 COMPATIBLE 設定檔的 SSL 政策,採用的最低 TLS 版本為 1.0。

您可以將 SSL 政策附加至多個目標 Proxy,但無法為特定目標 Proxy 設定多個 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_SHA256TLS_AES_256_GCM_SHA384TLS_CHACHA20_POLY1305_SHA256 加密。
SSL 3.0 或以下版本 不適用。Cloud Load Balancing 不支援。

在每次 TLS 握手期間,用戶端會指出支援的最高 TLS 通訊協定版本。伺服器必須選取用戶端和伺服器支援的最高通訊協定版本,且該版本必須符合伺服器設定。舉例來說,如果負載平衡器設定的最低 TLS 版本為 1.2,與支援 TLS 1.3 的新式用戶端握手時,就會選取 TLS 1.3。與僅支援 TLS 1.2 的舊版用戶端握手時,會使用 TLS 1.2。如果用戶端只支援 TLS 1.1,握手程序就會失敗。

下表列出了每個預先設定的設定檔可用的 SSL 政策功能。所有功能都會控制是否可以使用特定的加密套件,並且僅適用於使用 TLS 1.2 版或更早版本的連線,不適用於使用 TLS 1.3 的連線。

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 設定檔中設定的功能。當我們移除對舊版 SSL 功能的支援並新增新版功能的支援時,就會執行更新。

當我們新增強化 SSL 技術能力的功能時,可能會立即啟用 COMPATIBLE、MODERN 和 RESTRICTED 設定檔中的這些功能,如此採用這些設定檔的 SSL 政策便可使用新功能。不過,如果您的政策選擇 CUSTOM 設定檔,則必須修改政策的設定才能使用新增的功能。

限制

  • 停用特定 SSL 版本或加密方式可能會導致某些舊版用戶端無法透過 HTTPS 或 SSL 連線至您的 Proxy。如果在 CUSTOM 設定檔中停用的加密方式範圍大到足夠的程度,就可能導致所有用戶端都無法與 HTTPS 交涉。

  • 與負載平衡器相關的 SSL 憑證會使用 ECDSA 或 RSA 數位簽名。預先定義的設定檔與這兩種類型的憑證簽名相容。自訂設定檔啟用的加密方式應與負載均衡器憑證使用的數位簽名相容。

  • 控制加密套件的功能僅適用於採用 TLS 1.2 以下版本的用戶端連線。這些功能不會控制使用 TLS 1.3 連線的加密選擇。

後續步驟