SSL 和 TLS 通訊協定的 SSL 政策

在本文件中,「SSL」SSL一詞指的是 SSL (安全資料傳輸層) 和 TLS (傳輸層安全標準) 通訊協定。

SSL 政策會指定負載平衡器與用戶端進行 SSL 通訊時使用的 SSL 功能組合。 Google Cloud 舉例來說,您可以使用 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 功能組合,適用於較嚴格的法規遵循規定。

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

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

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

如果您未從三個預先設定的設定檔中選擇其一或是建立自訂 SSL 政策,負載平衡器會使用預設的 SSL 政策。預設的 SSL 政策等同於 SSL 政策,使用 COMPATIBLE 設定檔,採用的最低 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 加密法。
QUIC SSL 政策中的設定不控制加密選擇。
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 版或更早版本的用戶端,不適用於使用 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 設定檔中設定的功能的權利。我們會移除對舊版 SSL 功能的支援,並新增新版功能的支援。

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

限制

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

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

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

後續步驟