从 8.0 Update 3 开始,vSphere 通过使用 TLS 配置文件支持 TLS 1.3 和 1.2。TLS 配置文件简化了管理 TLS 参数的工作,同时提高了可支持性。

vSphere 8.0 Update 3 在 ESXivCenter Server 主机上激活名为 COMPATIBLE 的默认 TLS 配置文件。COMPATIBLE 配置文件支持 TLS 1.3 以及某些 TLS 1.2 连接。

可以使用 vSphere Configuration Profiles 或 esxcli 命令管理 ESXi 主机上的 TLS 配置文件。在 vCenter Server 主机上,可以使用 API 管理 TLS 配置文件。例如,可以在 vSphere Client 中使用开发人员中心。请参见《vSphere Automation SDK 编程指南》《vSphere Automation REST API 编程指南》

vCenter Server 和 Envoy

vCenter Server 运行两个反向代理服务:

  • VMware 反向代理服务 rhttpproxy
  • Envoy

Envoy 是一个开源 Edge 和服务代理。Envoy 拥有端口 443,所有入站 vCenter Server 请求都通过 Envoy 进行路由。rhttpproxy 用作 Envoy 的配置管理服务器。因此,TLS 配置将应用于 rhttpproxy,而后者又会将配置发送到 Envoy。

vSphere 如何使用 TLS 配置文件实现 TLS

vSphere 8.0 Update 3 通过将参数(包括协议版本、组(也称为曲线)和密码)分组到单个 TLS 配置文件中来实现 TLS 1.3。此 TLS 配置文件在系统范围内应用。使用单个 TLS 配置文件可减轻主机的管理开销。您不再需要手动配置各个 TLS 参数,但该功能仍可根据需要使用。TLS 配置文件还可以显著提高可支持性。将参数分组到 TLS 配置文件中可简化从中进行选择的 VMware 验证的 TLS 解决方案组。在 ESXi 上,TLS 配置文件与 vSphere Configuration Profiles 集成。

提供了以下 ESXi TLS 配置文件:

  • COMPATIBLE:默认配置文件。此配置文件中参数的精确映射可以随版本变化,但保证此配置文件与支持的所有产品和版本(当前为 N-2 版本)兼容。即,使用 COMPATIBLE 配置文件的版本 N 中的 ESXi 主机可以与版本 N-2 中的主机进行通信。
  • NIST_2024:一种更严格的配置文件,专门支持 NIST 2024 标准。保证此配置文件中的参数精确映射,以跨版本满足 NIST 2024 标准。保证此配置文件仅与当前版本或更高版本兼容,而与旧版本不兼容。
  • MANUAL:使用此配置文件创建并测试手动提供 TLS 参数的临时配置。不保证 MANUAL 配置文件无错误地运行。您必须测试 MANUAL 配置文件,包括跨软件升级。选择使用 MANUAL 配置文件时,系统行为首先默认为之前选择的配置文件(COMPATIBLE 或 NIST_2024),且在您进行更改之前保持不变。必须使用 esxcli 命令来管理 MANUAL TLS 配置文件。有关更改 MANUAL TLS 配置文件中的参数的详细信息,请参见 esxcli 随附的帮助文本。

将 TLS 配置文件配置为所需状态时,必须重新引导 ESXi 主机或修复 ESXi 主机所在的 vLCM 集群才能应用更改。

下面的表显示了 vSphere 8.0 Update 3 中 ESXivCenter Server 的 TLS 配置文件的详细信息。“密码列表”列显示 TLS 1.2 及更低版本协议的 TLS 密码。“密码套件”列显示 TLS 1.3 协议的密码。

表 1. ESXi TLS 1.3 配置文件
TLS 配置文件名称 TLS 协议版本 密码列表 密码套件 曲线 是否支持 VMware?
COMPATIBLE TLS 1.3 和 TLS 1.2 ECDHE+AESGCM:ECDHE+AES

TLS_AES_256_GCM_SHA384;TLS_AES_128_GCM_SHA256

prime256v1:secp384r1:secp521r1
NIST_2024 TLS 1.3 和 TLS 1.2 ECDHE+AESGCM

TLS_AES_256_GCM_SHA384;TLS_AES_128_GCM_SHA256

prime256v1:secp384r1:secp521r1
MANUAL 任意 任意 任意 任意

备注:

  • 支持的设置(协议、密码列表、密码套件和曲线)最多代表支持的内容。
  • NIST_2024 配置文件仅适用于入站连接。
  • vSphere 8.0 Update 3 中使用的 BoringSSL 加密模块尚未达到 TLS 1.3 使用的 FIPS 认证。因此,在 ESXivCenter Server 上,端口 443(反向代理)使用 TLS 1.2 进行通信。COMPATIBLE 和 NIST_2024 TLS 配置文件不使用非 FIPS TLS 1.3。

提供了以下 vCenter Server TLS 1.3 配置文件:

  • COMPATIBLE:默认配置文件。此配置文件中参数的精确映射可以随版本变化,但保证此配置文件与支持的所有产品和版本(当前为 N-2 版本)兼容。
  • NIST_2024:一种更严格的配置文件,专门支持 NIST 2024 标准。保证此配置文件中的参数精确映射,以跨版本满足 NIST 2024 标准。保证此配置文件仅与当前版本或更高版本兼容,而与旧版本不兼容。
  • COMPATIBLE-NON-FIPS:一种修改后的配置文件,允许从 Envoy 代理建立非 FIPS TLS 1.3 连接。FIPS 未启用。
表 2. vCenter Server TLS 1.3 配置文件
TLS 配置文件名称 TLS 协议版本 密码套件 曲线 是否已启用 FIPS? 是否支持 VMware?
COMPATIBLE TLS 1.3

TLS_AES_256_GCM_SHA384;TLS_AES_128_GCM_SHA256

prime256v1:secp384r1:secp521r1
TLS 1.2

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES128-GCM-SHA256

AES256-GCM-SHA384

AES128-GCM-SHA256

ECDHE-RSA-AES256-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-SHA

ECDHE-ECDSA-AES128-SHA

AES256-SHA

AES128-SHA

NIST_2024 TLS 1.3 TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256 prime256v1:secp384r1:secp521r1
TLS 1.2

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES128-GCM-SHA256

COMPATIBLE-NON-FIPS TLS 1.3 TLS_AES_256_GCM_SHA384 TLS_AES_128_GCM_SHA256 prime256v1:secp384r1:secp521r1
TLS 1.2

ECDHE-RSA-AES256-GCM-SHA384

ECDHE-RSA-AES128-GCM-SHA256

ECDHE-ECDSA-AES256-GCM-SHA384

ECDHE-ECDSA-AES128-GCM-SHA256

AES256-GCM-SHA384

AES128-GCM-SHA256

ECDHE-RSA-AES256-SHA

ECDHE-RSA-AES128-SHA

ECDHE-ECDSA-AES256-SHA

ECDHE-ECDSA-AES128-SHA

AES256-SHA

AES128-SHA

ESXivCenter Server 中的 TLS 以及入站和出站连接

ESXi 8.0 Update 3 在入站(服务器)和出站(客户端)连接上均支持 TLS 1.3。ESXi 入站(服务器)连接最受关注,其中 NIST_2024 配置文件更为严格。

对于 ESXi,可以在入站(服务器)连接上使用 COMPATIBLE、NIST_2024 和 MANUAL 设置。可以在出站(客户端)连接上使用 COMPATIBLE 和 MANUAL 设置。

vCenter Server TLS 配置文件将其设置应用于入站和出站连接。

某些 vSphere 服务会公开接受 TLS 连接的端口,而大多数服务使用反向代理。默认情况下,所有入站连接均接受 TLS 1.2 和 TLS 1.3。目前,端口 443(反向代理)已禁用 TLS 1.3 并使用 TLS 1.2 进行通信。出站连接支持 TLS 1.2 和 TLS 1.3。有关详细信息,请参见ESXi 和 FIPS 中端口 443 上的 TLS 1.3

TLS 和生命周期管理

默认情况下,将 ESXi 主机或 vCenter Server 主机升级或迁移到 8.0 Update 3 会启用 COMPATIBLE TLS 配置文件。vSphere 8.0 Update 3 支持 TLS 1.3 和 TLS 1.2,以达到开箱即用的最低限度互操作性。将来,升级到更高版本的 ESXivCenter Server 将保留当前使用的 TLS 配置文件(只要该配置文件尚未停用)。

升级到新版本时,建议的最佳做法是先将 TLS 配置文件设置为 COMPATIBLE。

如果在升级到 vSphere 8.0 Update 3 之前进行本地服务级别编辑,在升级后,会为主机分配 COMPATIBLE 配置文件,该配置文件不会反映这些更改。要使主机反映这些更改,请切换到使用 MANUAL 配置文件。请参见使用 vSphere Client 更改 ESXi 主机的 TLS 配置文件使用 CLI 更改 ESXi 主机的 TLS 配置文件

警告: MANUAL TLS 配置文件不能保证在升级过程中无错误工作。必须确认编辑的 MANUAL TLS 配置文件从一个版本升级到另一个版本,或者切换到 COMPATIBLE TLS 配置文件时正常工作。

ESXi 和 FIPS 中端口 443 上的 TLS 1.3

目前,vSphere 在端口 443 上禁用 TLS 1.3。vSphere 8.0 Update 3 中使用的 Boring SSL 加密模块的版本未通过针对 TLS 1.3 的 FIPS 认证。使用 COMPATIBLE 或 NIST_2024 TLS 配置文件时,除 443 以外的所有端口都通过 TLS 1.3 进行通信。目前,由于此问题,端口 443 使用 TLS 1.2。

要在端口 443 上启用非 FIPS TLS 1.3,请参见 https://kb.vmware.com/s/article/92473 上的 VMware 知识库文章。