从 vSphere 8.0 Update 3 开始,可以使用 vSphere Clientesxcli 命令或 API 管理 ESXi 的 TLS 配置文件。对于 vCenter Server,使用 API 管理 TLS 配置文件。

如果使用 vSphere Configuration Profiles,则可以在 vLCM 集群级别管理 ESXi 主机的 TLS 设置。可以更改集群的 TLS 设置,然后根据此新配置修复集群。有关详细信息,请参见《管理主机和集群生命周期》文档中有关管理 vSphere Configuration Profiles 的章节。

对于独立 ESXi 主机和非 vLCM 集群,必须使用 esxcli 命令管理 TLS 配置文件。请参见《ESXCLI 概念和示例》文档和 esxcli 联机帮助。

目前,只能使用 API 管理 vCenter Server TLS 配置文件。请参见《vSphere Automation SDK 编程指南》《vSphere Automation REST API 编程指南》

使用 vSphere Client 查看 ESXi 主机的 TLS 配置文件

可以使用 vSphere Client 查看 vLCM 集群中 ESXi 主机的 TLS 配置文件。

在 vSphere Configuration Profiles 中,未显式配置的设置使用相应配置文件中的默认值。对于 TLS 配置文件,默认值为 COMPATIBLE。

要查看独立或非 vLCM 集群 ESXi 主机的 TLS 配置文件,请参见使用 CLI 查看 ESXi 主机的 TLS 配置文件

前提条件

您已启用 vSphere Configuration Profiles 并为集群创建了草稿配置。请参见《管理主机和集群生命周期》文档。

过程

  1. vSphere Client 中,导航到使用单个映像管理的 vLCM 集群。
  2. 配置选项卡上,单击所需状态 > 配置
  3. 设置选项卡上,单击系统
  4. 单击 tls_clienttls_server 以查看在当前所需的配置文档中定义的 TLS 配置文件。

使用 CLI 查看 ESXi 主机的 TLS 配置文件

可以使用 CLI 查看 ESXi 主机的当前配置的 TLS 配置文件。

对于独立 ESXi 主机和非 vLCM 集群,必须使用 esxcli 命令管理 TLS 配置文件。有关详细信息,请参见《ESXCLI 参考指南》。对于 vLCM 集群中的 ESXi 主机,可以使用 vSphere Configuration Profiles 或 esxcli 命令。

前提条件

ESXi 主机上启用 SSH 或 ESXi Shell

过程

  1. 连接到 ESXi 主机。
    可以使用 SSH 或 ESXi Shell
  2. 要查看当前配置的 TLS 配置文件,请运行以下命令。
    esxcli system tls [client | server] get
  3. 要查看当前配置的 TLS 配置文件中的参数,请运行以下命令:
    esxcli system tls [client | server] get --show-profile-defaults

使用 vSphere Client 更改 ESXi 主机的 TLS 配置文件

您可以更改 ESXi 主机的 TLS 配置文件。默认 TLS 配置文件为 COMPATIBLE。

前提条件

您已启用 vSphere Configuration Profiles 并为集群创建了草稿配置。请参见《管理主机和集群生命周期》文档。

过程

  1. vSphere Client 中,导航到使用单个映像进行管理的集群。
  2. 配置选项卡上,单击所需状态 > 配置
  3. 设置选项卡上,单击系统
  4. 单击 tls_clienttls_server
    根据之前是否更改了设置,单击 配置设置编辑
  5. 从下拉菜单中选择 TLS 配置文件。
  6. 单击保存
  7. 根据草稿配置修复集群。
    1. 要根据草稿配置修复集群,请在草稿选项卡上,单击应用更改
    2. 按照修复向导中的步骤进行操作。有关详细信息,请参见《管理主机和集群生命周期》文档。

结果

集群中的所有 ESXi 主机都符合所需配置。

使用 CLI 更改 ESXi 主机的 TLS 配置文件

您可以更改 ESXi 主机的 TLS 配置文件。默认 TLS 配置文件为 COMPATIBLE。

对于独立 ESXi 主机和非 vLCM 集群,必须使用 esxcli 命令管理 TLS 配置文件。有关详细信息,请参见《ESXCLI 参考指南》。对于 vLCM 集群中的 ESXi 主机,可以使用 vSphere Configuration Profiles 或 esxcli 命令。

前提条件

ESXi 主机上启用 SSH 或 ESXi Shell

过程

  1. 连接到 ESXi 主机。
    可以使用 SSH 或 ESXi Shell
  2. ESXi 主机置于维护模式。
  3. 要更改 TLS 配置文件,请运行以下命令。
    esxcli system tls [client | server] set --profile [COMPATIBLE | NIST_2024 | MANUAL]
    注: 如果要对 TLS 参数进行更改(在系统级别或服务级别),请选择 MANUAL 配置文件。
  4. 重新引导 ESXi 主机以使更改生效。
  5. ESXi 主机重新引导后,将其退出维护模式。

使用 CLI 编辑 MANUAL TLS 配置文件中的参数

您可以编辑 MANUAL TLS 配置文件中的参数集。要更改 TLS 参数(如密码列表和密码套件),必须先将 TLS 配置文件设置为 MANUAL。

警告: Broadcom 不支持 MANUAL TLS 配置文件。仅支持 COMPATIBLE 和 NIST_2024 TLS 配置文件。使用 MANUAL TLS 配置文件的风险自负。

必须使用 esxcli 命令管理 MANUAL TLS 配置文件中的参数。管理 MANUAL TLS 配置文件参数未与 vSphere Configuration Profiles 集成。

无法为单个 vSphere 服务设置 TLS 参数。使用 MANUAL TLS 配置文件所做的更改将在系统级别应用。

前提条件

ESXi 主机上启用 SSH 或 ESXi Shell

将 TLS 配置文件更改为 MANUAL。请参见使用 vSphere Client 更改 ESXi 主机的 TLS 配置文件使用 CLI 更改 ESXi 主机的 TLS 配置文件

过程

  1. 连接到 ESXi 主机。
    可以使用 SSH 或 ESXi Shell
  2. ESXi 主机置于维护模式。
  3. 确保 TLS 配置文件为 MANUAL。
    esxcli system tls [client | server] get
  4. 要更改参数,请运行以下任一命令。
    esxcli system tls [client | server] set --cipher-list=str
    esxcli system tls [client | server] set --cipher-suite=str
    esxcli system tls [client | server] set --groups=str
    esxcli system tls [client | server] set --protocol-versions=str

    其中,str 是 OpenSSL 样式的字符串,以冒号、逗号或空格分隔。例如:--cipher-list=ECDHE+AESGCM:ECDHE+AES

    有关详细信息,请运行以下命令:

    esxcli system tls [client | server] set --help
  5. 重新引导 ESXi 主机以使更改生效。
  6. ESXi 主机重新引导后,将其退出维护模式。

示例

以下示例先将 TLS 配置文件设置为 MANUAL,然后设置一组更严格的曲线(组)。需要重新引导才能使更改生效。
[root@host1] esxcli system tls server get
   Profile: COMPATIBLE
   Cipher List: <profile default>
   Cipher Suite: <profile default>
   Groups: <profile default>
   Protocol Versions: <profile default>
   Reboot Required: false
[root@host1] esxcli system tls server set --profile MANUAL
[root@host1] esxcli system tls server get
   Profile: MANUAL
   Cipher List: ECDHE+AESGCM:ECDHE+AES
   Cipher Suite: TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384
   Groups: prime256v1:secp384r1:secp521r1
   Protocol Versions: tls1.2,tls1.3
   Reboot Required: true
[root@host1] esxcli system tls server set --groups=prime256v1:secp384r1
[root@host1] esxcli system tls server get
   Profile: MANUAL
   Cipher List: TLS_AES_128_CCM_SHA256
   Cipher Suite: TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384
   Groups: prime256v1:secp384r1
   Protocol Versions: tls1.2,tls1.3
   Reboot Required: true

管理 vCenter Server 主机的 TLS 配置文件

使用 API 查看和更改 vCenter Server 主机的 TLS 配置文件。

您可以通过多种方式执行 HTTP 请求。此任务说明了如何使用 vSphere Client 中的开发人员中心管理 TLS 配置文件。有关使用 API 管理 vCenter Server Appliance 的详细信息,请参见《VMware vCenter Server 管理编程指南》

过程

  1. 使用 vSphere Client 登录到 vCenter Server 系统。
  2. 从菜单中,选择开发人员中心
  3. 单击 API 资源管理器
  4. 选择 API 下拉菜单中,选择设备
    可以使用以下 API 类别和操作。
    表 1. vCenter Server TLS API
    选项 API 类别 关联的操作
    获取所有 TLS 配置文件及其配置的列表。 tls/profiles/ GET
    获取特定 TLS 配置文件的参数。 tls/profiles/{id} GET
    获取全局配置的当前 TLS 配置文件的名称。 tls/profiles/global/ GET
    设置全局指定的标准配置文件之一。 tls/profiles/global/ PUT
    注: 此操作将重新启动 vCenter Server 服务。
    获取全局配置的当前 TLS 配置文件的参数。 tls/manual-parameters/global GET
    注: 目前,无法更改 vCenter Server TLS 配置文件的参数。
  5. 执行所需命令。