从 8.0 Update 3 开始,vSphere 通过使用 TLS 配置文件支持 TLS 1.3 和 1.2。TLS 配置文件简化了管理 TLS 参数的工作,同时提高了可支持性。
vSphere 8.0 Update 3 在 ESXi 和 vCenter 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 中 ESXi 和 vCenter Server 的 TLS 配置文件的详细信息。“密码列表”列显示 TLS 1.2 及更低版本协议的 TLS 密码。“密码套件”列显示 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 认证。因此,在 ESXi 和 vCenter 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 未启用。
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 |
ESXi 和 vCenter 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,以达到开箱即用的最低限度互操作性。将来,升级到更高版本的 ESXi 或 vCenter Server 将保留当前使用的 TLS 配置文件(只要该配置文件尚未停用)。
升级到新版本时,建议的最佳做法是先将 TLS 配置文件设置为 COMPATIBLE。
如果在升级到 vSphere 8.0 Update 3 之前进行本地服务级别编辑,在升级后,会为主机分配 COMPATIBLE 配置文件,该配置文件不会反映这些更改。要使主机反映这些更改,请切换到使用 MANUAL 配置文件。请参见使用 vSphere Client 更改 ESXi 主机的 TLS 配置文件或使用 CLI 更改 ESXi 主机的 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 知识库文章。