vSphere 默认仅激活 TLS。默认已停用 TLS 1.0 和 TLS 1.1。无论是执行全新安装、升级还是迁移,vSphere 都会停用 TLS 1.0 和 TLS 1.1。可以使用 TLS Configurator 实用程序在 vCenter Server 系统上临时激活协议的旧版本。在所有连接都使用 TLS 1.2 后,可以停用安全性较低的旧版本。

ESXi 8.0 开始,仅支持 TLS 1.2。ESXi 8.0 不再支持 TLS 1.0 和 1.1,您也无法激活这些较旧的协议版本。在 ESXi 8.0 上运行 TLS Configurator 实用程序失败,但不报告错误。

vCenter Server 上重新配置旧协议版本之前,请考虑您的环境。根据环境要求和软件版本,除了启用 TLS 1.2 之外,您可能还需要重新激活 TLS 1.0 和 TLS 1.1 以保持互操作性。请参见 VMware 知识库文章 (https://kb.vmware.com/s/article/2145796) 以了解支持 TLS 1.2 的 VMware 产品。对于第三方集成,请参见供应商的文档。TLS Configurator 实用程序适用于 vSphere 8.0 和早期版本,包括 7.0、6.7、6.5 和 6.0。

vCenter Server 使用可为 TLS 协议激活或停用的端口。TLS 配置实用程序的 scan 选项可显示为每个服务激活的 TLS 版本。请参见扫描 vCenter Server 上的 TLS 协议

有关 VMware 产品(包括 vSphere 和 vSAN)中所有受支持的端口和协议的列表,请参见 https://ports.vmware.com/ 中的 VMware Ports and Protocols Tool™。您可以按 VMware 产品搜索端口,创建自定义端口列表,以及打印或保存端口列表。

vCenter Server 和 Envoy

在 vSphere 7.0 及更高版本中,vCenter Server 运行两个反向代理服务:

  • VMware 反向代理服务 rhttpproxy
  • Envoy

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

有关 vSphere 和 TLS 的注意和警告

  • vSphere 6.7 版本是适用于 Windows 的 vCenter Server 的最终版本。有关为适用于 Windows 的 vCenter Server 上的 Update Manager 端口重新配置 TLS 的信息,请参见产品 6.7 版本对应的《vSphere 安全性》文档。
  • 可以使用 TLS 1.2 对 vCenter Server 和外部 Microsoft SQL Server 之间的连接进行加密。不能使用仅 TLS 1.2 连接来连接到外部 Oracle 数据库。请参见 VMware 知识库文章,网址为 https://kb.vmware.com/kb/2149745
  • 对于 vSphere 6.7 及更低版本,请勿对 Windows Server 2008 上运行的 vCenter ServerPlatform Services Controller 实例停用 TLS 1.0。Windows 2008 仅支持 TLS 1.0。请参见 Microsoft TechNet 文章《服务器角色和技术指南》中的 TLS/SSL 设置

执行可选的 vCenter Server TLS 手动备份

每次脚本修改 vCenter Server 时,TLS 配置实用程序都会执行 TLS 配置的备份。如果必须将备份保存到特定目录,则可以执行手动备份。

对于 vCenter Server,默认目录为 /tmp/yearmonthdayTtime

过程

  1. 使用 SSH 连接到 vCenter Server
  2. 将目录更改为 /usr/lib/vmware-TlsReconfigurator/VcTlsReconfigurator
  3. 要备份到特定目录,请运行以下命令:
    directory_path/VcTlsReconfigurator> ./reconfigureVc backup -d backup_directory_path
  4. 确认备份成功完成。
    成功的备份类似于以下示例。由于 reconfigureVc backup命令运行的方式不同,每次运行该命令时显示的服务顺序可能会有所不同。
    vCenter Transport Layer Security reconfigurator, version=8.0.0, build=10068142
    For more information refer to the following article: https://kb.vmware.com/kb/2147469
    Log file: "/var/log/vmware/vSphere-TlsReconfigurator/VcTlsReconfigurator.log".
    ================= Backing up vCenter Server TLS configuration ==================
    Using backup directory: /tmp/20220714T225653
    Backing up: vmcam
    Backing up: vmdird
    Backing up: vmware-rhttpproxy
    Backing up: vmware-stsd
    Backing up: vami-lighttp
    Backing up: vmware-rbd-watchdog
    Backing up: rsyslog
    Backing up: vmware-updatemgr
    Backing up: vmware-sps
    Backing up: vmware-vpxd
  5. (可选) 如果稍后必须执行还原,可以运行以下命令。
    reconfigureVc restore -d optional_custom_backup_directory_path

vCenter Server 系统上激活或停用 TLS 版本

可以使用 TLS 配置实用程序在 vCenter Server 系统上激活或停用 TLS 版本。在此过程中,您可以停用 TLS 1.0 并激活 TLS 1.1 和 TLS 1.2。或者,您可以停用 TLS 1.0 和 TLS 1.1,并且仅激活 TLS 1.2。

前提条件

确保 vCenter Server 管理的主机和服务可以使用仍处于激活状态的 TLS 版本进行通信。对于仅使用 TLS 1.0 进行通信的产品,将丢失连接。

过程

  1. 使用 administrator@vsphere.local 的用户名和密码登录到 vCenter Server系统,或者以可以运行脚本的其他 vCenter Single Sign-On 管理员组成员的身份登录。
  2. 转到脚本所在的目录。
    cd /usr/lib/vmware-TlsReconfigurator/VcTlsReconfigurator
  3. 根据要使用的 TLS 版本,运行以下命令。
    • 要停用 TLS 1.0 并同时激活 TLS 1.1 和 TLS 1.2,请运行以下命令。
      directory_path/VcTlsReconfigurator> ./reconfigureVc update -p TLSv1.1 TLSv1.2
    • 要停用 TLS 1.0 和 TLS 1.1 并仅激活 TLS 1.2,请运行以下命令。
      directory_path/VcTlsReconfigurator> ./reconfigureVc update -p TLSv1.2
  4. 如果您的环境中包括其他 vCenter Server系统,请在每个 vCenter Server 系统上重复执行此过程。

扫描 vCenter Server 上的 TLS 协议

vCenter Server 上激活或停用 TLS 版本后,可以使用 TLS 配置实用程序查看所做更改。

TLS 配置实用程序的 scan 选项可显示为每个服务激活的 TLS 版本。

过程

  1. 登录到 vCenter Server系统。
    1. 使用 SSH 连接到设备并以具有脚本运行特权的用户身份登录。
    2. 如果当前未启用 Bash Shell,请运行以下命令。
      shell.set --enabled true
      shell
  2. 转到 VcTlsReconfigurator 目录。
    cd /usr/lib/vmware-TlsReconfigurator/VcTlsReconfigurator
  3. 要显示哪些服务已激活 TLS 及使用哪些端口,请运行以下命令。
    reconfigureVc scan

恢复 vCenter Server TLS 配置更改

TLS 配置实用程序可用于恢复配置更改。恢复更改时,系统会激活您使用 TLS Configurator 实用程序停用的协议。

前提条件

恢复更改之前,请使用 vCenter Server管理界面备份 vCenter Server

过程

  1. 以具有脚本运行特权的用户身份连接到要恢复更改的 vCenter Server
  2. 如果当前未启用 Bash shell,请运行以下命令。
    shell.set --enabled true
    shell
  3. 转到 VcTlsReconfigurator 目录。
    cd /usr/lib/vmware-TlsReconfigurator/VcTlsReconfigurator
  4. 查看以前的备份。
    grep "backup directory" /var/log/vmware/vSphere-TlsReconfigurator/VcTlsReconfigurator.log
    
    输出类似于以下示例。
    2022-07-14T22:56:53.706Z INFO Using backup directory: /tmp/20220714T225653
    2022-07-14T22:58:08.594Z INFO Using backup directory: /tmp/20220714T225808
    
  5. 运行以下命令以执行还原。
    reconfigureVc restore -d Directory_path_from_previous_step
    
    将还原 TLS 配置。在该过程中,会重新启动 vCenter Server
  6. 对任何其他 vCenter Server实例重复此过程。