SSL 政策概览

通过 SSL 政策,您可以控制 Google Cloud SSL 代理负载平衡器或外部 HTTP(S) 负载平衡器与客户端协商的 SSL 功能。在本文档中,术语“SSL”是指 SSL 和 TLS 协议。

默认情况下,HTTPS 负载平衡SSL 代理负载平衡会使用一组 SSL 功能,这些功能可提供良好的安全性和广泛的兼容性。但某些应用需要更好地控制用于其 HTTPS 或 SSL 连接的 SSL 版本和加密方式。您可以定义 SSL 政策来控制负载平衡器与客户端协商的 SSL 的功能。

以下示例展示了如何在负载平衡器上建立和终止来自客户端的连接。

外部 HTTP(S) 负载平衡器或 SSL 代理负载平衡器中的客户端连接(点击可放大)
外部 HTTP(S) 负载平衡器或 SSL 代理负载平衡器中的客户端连接(点击可放大)

您可以使用 SSL 政策来配置在负载平衡器中启用的最低 TLS 版本和 SSL 功能。SSL 政策会影响客户端与负载平衡器之间的连接(图中的连接 1)。但不会影响负载平衡器和后端之间的连接(连接 2)。

您可以将 SSL 政策用于 HTTP(S) 负载平衡和 SSL 代理负载平衡,但不能用于内部 HTTP(S) 负载平衡。如需了解详情,请参阅负载平衡器功能:安全性

定义 SSL 政策

要定义 SSL 政策,请指定最低 TLS 版本和配置文件。配置文件用于选择要在负载平衡器中启用的一组 SSL 功能。您可以通过三个 Google 管理的配置文件来指定适合您的应用的兼容级别,可以使用第四个自定义配置文件来单独选择 SSL 功能。

三个预配置的配置文件如下所示:

  • 兼容:可让数量最多的客户端(包括仅支持已过时的 SSL 功能的客户端)与负载平衡器协商 SSL。
  • 新型:支持大量 SSL 功能,允许使用新型客户端来协商 SSL。
  • 受限:支持的 SSL 功能较少,旨在满足更严格的合规要求。

此外,SSL 政策还指定了客户端可用于建立连接的最低 TLS 协议版本。配置文件也可以限制负载平衡器可以协商的 TLS 版本。例如,仅 TLS 1.2 支持在受限配置文件中启用的加密方式。无论选择的最低 TLS 版本如何,若要有效地选择受限配置文件,客户端都必须使用 TLS 1.2。

如果您未选择三个预配置配置文件中的一个或创建了自定义 SSL 政策,则负载平衡器将使用默认 SSL 政策。默认 SSL 政策等同于使用兼容配置文件并将最低 TLS 版本指定为 TLS 1.0 的 SSL 政策。

您可以将 SSL 政策附加到多个代理。但是,您不能为特定代理配置多个 SSL 政策。

SSL 代理负载平衡器和外部 HTTP(S) 负载平衡器不支持 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_SHA256”、“TLS_AES_256_GCM_SHA384”和“TLS_CHACHA20_POLY1305_SHA256”加密方式。
QUIC SSL 政策中的设置,不对加密方式的选择进行控制。
SSL 3.0 或更早版本 不适用。不受 Cloud Load Balancing 的支持。

下表列出了每个预配置的配置文件的可用 SSL 政策功能。所有功能都控制是否可以使用特定的加密套件,并且仅适用于使用 TLS 1.2 或更低版本的客户端连接,而不适用于使用 QUIC 的客户端。

功能 在兼容配置文件中 在新型配置文件中 在受限配置文件中
TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256
TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA
TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA
TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_AES_128_GCM_SHA256
TLS_RSA_WITH_AES_256_GCM_SHA384
TLS_RSA_WITH_AES_128_CBC_SHA
TLS_RSA_WITH_AES_256_CBC_SHA
TLS_RSA_WITH_3DES_EDE_CBC_SHA

功能更新

我们保留更新兼容、新型和受限配置文件中启用的一系列功能,以及可在自定义配置文件中配置的功能的权利。当我们移除对旧版 SSL 功能的支持,以及添加对新版功能的支持时,会进行此类更新。

当我们添加改进 SSL 功能的功能时,我们可能会选择在兼容、新型和受限配置文件中立即启用这些功能,以便选择这些配置文件的 SSL 政策能够利用这些新功能。但是,如果您的政策选择自定义配置文件,则必须修改政策的设置才能使用新增的功能。

我们会在移除可控制某项功能的功能(对所有政策强制开启或关闭此功能)时提前通知,除非出于安全原因必须移除该控制功能。

注意事项

停用特定 SSL 版本或加密方式可能会导致某些较旧的客户端无法使用 HTTPS 或 SSL 连接您的代理。此外,停用自定义配置文件中大量可供选择的加密方式可能导致客户端无法协商 HTTPS。

与负载平衡器关联的 SSL 证书使用 ECDSA 或 RSA 数字签名,而预定义的配置文件与这两种类型的证书签名兼容。自定义配置文件应启用与负载平衡器证书使用的数字签名兼容的加密方式。

控制加密套件的功能仅适用于使用 TLS 1.2 及更早版本的客户端连接。这些功能不对使用 QUIC 或 TLS 1.3 的连接中的加密方式的选择进行控制。

后续步骤