这些安全控制提供了一组客户机操作系统最佳做法的基准。它们的结构化方式解释了实施相应控制措施的好处和利弊权衡。要对这些控制进行更改,请使用提供的 PowerCLI 或 vSphere Client

使用的变量

本节中的 PowerCLI 命令使用以下变量:

  • $VM = "virtual_machine_name"

VMware Tools 路径

VMware Tools 的默认安装路径为 C:\Program Files\VMware\VMware Tools

配置客户机操作系统安全引导

客户机操作系统必须启用安全引导。

受所有现代客户机操作系统支持的安全引导使用公钥加密来验证固件、引导加载程序、驱动程序和操作系统内核。通过防止引导链有效性不确定的系统引导,安全引导可以有效限制恶意软件。

安装默认值:特定于站点
基准建议值:True
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
在安装客户机操作系统后启用安全引导可能涉及更多步骤。有关说明,请参阅客户机操作系统文档。
PowerCLI 命令评估
(Get-VM -Name $VM).ExtensionData.Config.BootOptions.EfiSecureBootEnabled 
PowerCLI 命令修复示例
$VMobj = (Get-VM -Name $VM)
$ConfigSpec = New-Object VMware.Vim.VirtualMachineConfigSpec
$bootOptions = New-Object VMware.Vim.VirtualMachineBootOptions
$bootOptions.EfiSecureBootEnabled = $true
$ConfigSpec.BootOptions = $bootOptions
$task = $VMobj.ExtensionData.ReconfigVM_Task($ConfigSpec)
vSphere Client 中的设置位置
虚拟机 > 编辑设置 > 虚拟机选项

限制使用 MSI 转换

重新配置 VMware Tools 时,客户机操作系统必须限制使用 MSI 转换。

MSI 转换允许更改 Microsoft Windows 客户机操作系统上的安装数据库。这非常有用,但也提供了从 vSphere 更改客户机操作系统的安全配置文件的机会。

安装默认值:False
基准建议值:False
需要执行的操作
审核安装默认值。
默认值已更改时的潜在功能影响
需要时,管理员必须使用其他方法来更新和重新配置 VMware Tools。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get autoupgrade allow-msi-transforms
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set autoupgrade allow-msi-transforms false
vSphere Client 中的设置位置
不适用

停用 Appinfo

除非需要,否则客户机操作系统必须停用 Appinfo 信息收集。

Appinfo 是通过 VMware Tools 执行应用程序发现的方法。如果未使用此工具,请停用模块以减小攻击面。

安装默认值:False
基准建议值:True
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的产品和服务可能需要此功能。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get appinfo disabled
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set appinfo disabled true
vSphere Client 中的设置位置
不适用

停用 ContainerInfo

除非需要,否则客户机操作系统必须停用 ContainerInfo。

适用于 Linux 的 VMware Tools ContainerInfo 插件会收集 Linux 客户机操作系统中正在运行的容器的列表。

安装默认值:21600
基准建议值:0
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的产品和服务可能需要此功能。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get containerinfo poll-interval
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set containerinfo poll-interval 0
vSphere Client 中的设置位置
不适用

停用客户机操作

除非需要,否则停用客户机操作。

客户机操作是一组支持大多数主机与客户机交互的功能。停用它们可减小攻击面,但也会大幅降低功能性。确保您的环境不需要这些功能。请勿在模板虚拟机上停用客户机操作。

有关功能列表,请参见以下文档:

https://vdc-download.vmware.com/vmwb-repository/dcr-public/fe08899f-1eec-4d8d-b3bc-a6664c168c2c/7fdf97a1-4c0d-4be0-9d43-2ceebbc174d9/doc/vim.vm.guest.GuestOperationsManager.html

安装默认值:False
基准建议值:True
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的产品和服务可能需要此功能。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get guestoperations disabled
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set guestoperations disabled true
vSphere Client 中的设置位置
不适用

防止客户机操作系统重新自定义

必须防止已部署和自定义虚拟机上的客户机操作系统重新自定义。

虚拟机部署过程为 vSphere 管理员提供了许多选项,可以使用脚本和运行命令自定义虚拟机。这些自定义方法也可以成为攻击者通过克隆和重新自定义访问虚拟机内部数据的途径。部署虚拟机后,禁止再次自定义该虚拟机。始终可以恢复此更改。

安装默认值:True
基准建议值:False
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
设置后,能够在克隆时自定义虚拟机。请勿在模板虚拟机上进行此更改。
进行此更改可能会影响通过 VMware Site Recovery Manager 或 VMware Cloud Disaster Recovery 更改 IP 地址的灾难恢复过程。有关详细信息,请参见以下文档:
https://docs.vmware.com/cn/VMware-Cloud-Disaster-Recovery/services/vmware-cloud-disaster-recovery/GUID-94202BE7-FEAF-4E35-8B55-15F6B3798309.html
PowerCLI 命令评估
VMwareToolboxCmd.exe config get deployPkg enable-customization
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set deployPkg enable-customization false
vSphere Client 中的设置位置
不适用

停用 GuestStore 升级操作

除非需要,否则客户机操作必须停用 GuestStore 升级操作。

GuestStore 功能提供了一种简单灵活的机制,可以将 GuestStore 存储库中的 VMware 特定内容或自定义内容同时分发给多个客户机。如果未使用此功能,请停用插件以减小攻击面。

安装默认值:手动
基准建议值:关闭
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的产品和服务可能需要此功能。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get gueststoreupgrade policy
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set gueststoreupgrade policy off
vSphere Client 中的设置位置
不适用

停用 Service Discovery

除非需要,否则客户机操作系统必须停用 Service Discovery。

VMware Tools Service Discovery 插件连接到 Aria Operations 并向该产品提供有关客户机操作系统和工作负载的其他数据。如果未使用此功能,请停用插件以减小攻击面。

安装默认值:False
基准建议值:True
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
VMware 生态系统中的产品和服务可能需要此功能。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get servicediscovery disabled
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set servicediscovery disabled true
vSphere Client 中的设置位置
不适用

激活 VMware Tools 日志记录

客户机操作系统必须启用 VMware Tools 日志记录。

确保 VMware Tools 根据需要记录信息。有关示例,请参见 https://github.com/vmware/open-vm-tools/blob/master/open-vm-tools/tools.conf

安装默认值:True
基准建议值:True
需要执行的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
VMwareToolboxCmd.exe config get logging log
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set logging log true
vSphere Client 中的设置位置
不适用

将 VMware Tools 日志发送到系统日志服务

客户机操作系统必须将 VMware Tools 日志发送到系统日志服务。

默认情况下,VMware Tools 将日志发送到磁盘上的文件。配置日志以发送到 Linux 客户机上的 syslog,以及发送到 Microsoft Windows 客户机上的 Windows 事件服务,以进行管理和集中存档。

安装默认值:文件
基准建议值:syslog
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
更新依赖于位于默认位置的这些文件的进程。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get logging vmsvc.handler
VMwareToolboxCmd.exe config get logging toolboxcmd.handler
VMwareToolboxCmd.exe config get logging vgauthsvc.handler
VMwareToolboxCmd.exe config get logging vmtoolsd.handler
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set logging vmsvc.handler syslog
VMwareToolboxCmd.exe config set logging toolboxcmd.handler syslog
VMwareToolboxCmd.exe config set logging vgauthsvc.handler syslog
VMwareToolboxCmd.exe config set logging vmtoolsd.handler syslog
vSphere Client 中的设置位置
不适用

确保 VMware Tools 版本为最新

客户机操作系统必须确保 VMware Tools 为最新。

VMware Tools 是 VMware 生态系统的重要组成部分。使用 VMware Tools,您可以执行客户机操作系统管理,如:

  • 正常关机
  • 生命周期管理
  • 获取半虚拟化设备的驱动程序
  • 自定义和部署虚拟机模板

与所有软件一样,您必须根据需要管理和更新 VMware Tools。确保运行的是受支持的客户机操作系统版本,无论是作为 Linux 分发包的一部分提供还是由您为 Microsoft Windows 安装。

安装默认值:不适用
基准建议值:不适用
需要执行的操作
审核安装默认值。
默认值已更改时的潜在功能影响
PowerCLI 命令评估
Get-VM -Name $VM | Select-Object -Property Name,@{Name='ToolsVersion';Expression={$_.Guest.ToolsVersion}}
PowerCLI 命令修复示例
特定于站点。可以通过多种方式更新 VMware Tools.VMXNET3 和 PVSCSI 的驱动程序也可通过 Windows Update 获取,因此请确保将其导入 WSUS 等工具。
vSphere Client 中的设置位置
虚拟机 > 虚拟机详细信息 > VMware Tools

停用 GlobalConf

除非需要,否则客户机操作系统必须停用 GlobalConf。

VMware Tools 的 GlobalConf 功能提供了将 tools.conf 文件配置推送到虚拟机的功能。

安装默认值:False
基准建议值:False
需要执行的操作
审核安装默认值。
默认值已更改时的潜在功能影响
需要时,管理员需要使用其他方法来更新和重新配置 VMware Tools。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get globalconf enabled
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set globalconf enabled false
vSphere Client 中的设置位置
不适用

限制自动续订 VMware Tools 功能

客户机操作系统必须限制自动移除 VMware Tools 功能。

VMware Tools 自动升级过程可以在 VMware Tools 安装中添加或移除功能,这非常有用,但也提供了从 vSphere 更改客户机操作系统安全配置文件的机会。

安装默认值:True
基准建议值:False
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
需要时,管理员需要使用其他方法来更新和重新配置 VMware Tools。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get autoupgrade allow-remove-feature
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set autoupgrade allow-remove-feature false
vSphere Client 中的设置位置
不适用

配置 VMware Tools 以进行自动升级

客户机操作系统必须根据环境情况配置自动 VMware Tools 升级。

VMware Tools 更新可以通过 vSphere 启动,这有助于维护当前的 VMware Tools 版本。如果您以其他方式管理和更新 VMware Tools,请停用此功能。通常,保持激活自动更新。

安装默认值:True
基准建议值:True
需要执行的操作
审核安装默认值。
默认值已更改时的潜在功能影响
需要时,管理员需要使用其他方法来更新和重新配置 VMware Tools。
PowerCLI 命令评估
VMwareToolboxCmd.exe config get autoupgrade allow-upgrade
PowerCLI 命令修复示例
VMwareToolboxCmd.exe config set autoupgrade allow-upgrade true
vSphere Client 中的设置位置
不适用

验证虚拟机硬件版本

客户机操作系统必须确保虚拟机硬件的版本为 19 或更高版本(如果受支持)。

虚拟机硬件 19 与 ESXi 7.0 Update 2 及更高版本兼容。较高版本的虚拟机硬件可启用新功能并提供更好的性能。如果已完全更新到 vSphere 8.0 或更高版本,请考虑升级到虚拟机硬件 20。与往常一样,升级时要谨慎,并且在系统范围内推出之前对升级过程进行全面测试。

考虑虚拟机可能运行的所有位置,或者可能需要还原虚拟机的所有位置。例如,VMware Cloud Disaster Recovery 服务的用户需要考虑潜在恢复 SDDC 的 vSphere 级别。当 VMware Cloud 在 vSphere 上运行时,它可能没有相同的受支持虚拟硬件版本。

不支持对 VMware 提供的虚拟设备的配置进行更改,这可能会导致服务中断。

注: 升级虚拟机硬件版本时,即使影响极小,也会进行驱动程序和其他更新。
安装默认值:特定于站点
基准建议值:vmx-19 或更高版本
需要执行的操作
修改安装默认值。
默认值已更改时的潜在功能影响
更改虚拟机硬件版本会更改客户机内的设备版本,这可能会产生影响。请始终测试升级虚拟硬件版本,并记住快照也会捕获虚拟机版本,以便在必要时恢复版本。
不支持对 VMware 提供的虚拟设备的配置进行更改,这可能会导致服务中断。
PowerCLI 命令评估
(Get-VM -Name $VM | Get-View) | Select-Object -Property Name,@{Name='HW Version';Expression={$_.Config.Version}}
PowerCLI 命令修复示例
Set-VM -VM $VM -HardwareVersion vmx-19
vSphere Client 中的设置位置
在“新建虚拟机”向导中创建虚拟机时, 选择兼容性选项将设置虚拟机硬件版本。