由于 VMware Tools 配置设置可能会导致面临一些安全威胁或风险,因此,在配置 VMware Tools 时,必须确保遵循特定的数据安全注意事项。

在配置 VMware Tools 组件或功能时,可能存在多种安全威胁。

例如,通过 VMware Tools,您可以将虚拟设备(如串行端口和并行端口)连接到虚拟机。已连接的设备可能是一个潜在的攻击通道。为尽可能地保护虚拟机并降低安全风险,请禁用容易受到安全威胁的 VMware Tools 功能。

注: 有关在生产环境中安全部署 VMware vSphere 的完整信息(包括主机、虚拟机、管理组件和网络连接基础架构的安全建议),请参见 《vSphere 强化指南》。VMware Tools 设置仅与部署的虚拟机方面相关。

虚拟机封装在少数文件中。其中,配置文件(.vmx 文件)控制虚拟硬件的性能及其他设置。可以使用多种方法查看和修改配置设置:

  • 使用 vSphere Web Client 编辑虚拟机设置。在 vSphere Web Client 中,编辑这些配置参数是虚拟机编辑设置对话框中的高级选项。
  • 使用 vSphere Host Client 编辑虚拟机设置。在 vSphere Host Client 中,编辑这些配置参数是虚拟机编辑设置对话框中的高级选项。
  • 使用基于 vSphere API 的工具(如 Power CLI)查看和修改 .vmx 参数。

编辑设置后,需要重新启动虚拟机,更改才能生效。

通过对要在虚拟机的 .vmx 文件中设置的相应 VMware Tools 参数进行适当的参数设置,可以消除多种潜在威胁。其中许多参数的默认值都已设置为保护虚拟机免受这些威胁。

威胁:未授权用户帐户访问

复制和粘贴
默认情况下,禁用复制和粘贴文本、图形和文件的功能,同样禁用拖放文件的功能。启用该选项后,可以从剪贴板中复制格式文本、图形和文件(具体取决于 VMware 产品),并将其粘贴到虚拟机中的客户机操作系统。也就是说,当虚拟机的控制台窗口获得焦点时,虚拟机中的非特权用户以及运行的进程均可以访问运行控制台窗口的计算机上的剪贴板。要避免与此功能关联的风险,请保留以下 .vmx 设置,这些设置可以禁用复制和粘贴功能:
isolation.tools.copy.disable = "TRUE"
isolation.tools.paste.disable = "TRUE"

威胁:虚拟设备

连接和修改设备
默认情况下,禁用连接和断开连接设备的功能。启用该功能后,不具有 root 或管理员权限的用户和进程可以连接设备(如网络适配器和 CD-ROM 驱动器),还可以修改设备设置。也就是说,用户可以连接已断开连接的 CD-ROM 驱动器并访问该驱动器中的介质上的敏感信息。用户也可以断开网络适配器连接,将虚拟机与其网络隔离,这样可以拒绝服务。要避免与此功能关联的风险,请保留以下 .vmx 设置,这些设置可以禁用连接和断开连接设备或修改设备设置的功能:
isolation.device.connectable.disable = "TRUE"
isolation.device.edit.disable = "TRUE"

威胁:虚拟机信息流

VMX 文件大小
默认情况下,配置文件的大小限制为 1 MB,因为当数据存储磁盘空间不足时,不受控制的文件大小会导致拒绝服务故障。有时将信息性消息从虚拟机发送到 .vmx 文件。这些 setinfo 消息通过将名称-值对写入文件来定义虚拟机特性或标识符。如果文件中必须存储大量的自定义信息,则您可能需要增加文件大小。属性名称为 tools.setInfo.sizeLimit,可以指定其值(以千字节为单位)。保留以下 .vmx 设置:
tools.setInfo.sizeLimit = "1048576"
将性能计数器发送到 PerfMon
可以将 CPU 和内存的虚拟机性能计数器集成到 Linux 和 Microsoft Windows 客户机操作系统的 PerfMon 中。通过此功能,可以向客户机操作系统提供有关物理主机的详细信息。恶意用户可能会利用此信息对主机发起进一步的攻击。默认情况下禁用此功能。保留以下 .vmx 设置以阻止将主机信息发送到虚拟机:
tools.guestlib.enableHostInfo = "FALSE"

此设置阻止部分衡量指标,但非全部。如果将此属性设置为 FALSE,则会阻止以下衡量指标:

  • GUESTLIB_HOST_CPU_NUM_CORES
  • GUESTLIB_HOST_CPU_USED_MS
  • GUESTLIB_HOST_MEM_SWAPPED_MB
  • GUESTLIB_HOST_MEM_SHARED_MB
  • GUESTLIB_HOST_MEM_USED_MB
  • GUESTLIB_HOST_MEM_PHYS_MB
  • GUESTLIB_HOST_MEM_PHYS_FREE_MB
  • GUESTLIB_HOST_MEM_KERN_OVHD_MB
  • GUESTLIB_HOST_MEM_MAPPED_MB
  • GUESTLIB_HOST_MEM_UNMAPPED_MB
vSphere 中未公开的可导致漏洞的功能
除 vSphere 以外,VMware 虚拟机还在多个 VMware 产品中运行,因此一些虚拟机参数不应用于 vSphere 环境中。虽然这些功能不显示在 vSphere 用户界面上,但禁用它们可减少客户机操作系统访问主机的途径。使用以下 .vmx 设置禁用这些功能:
isolation.tools.unity.push.update.disable = "TRUE"
isolation.tools.ghi.launchmenu.change = "TRUE"
isolation.tools.ghi.autologon.disable = "TRUE"
isolation.tools.hgfsServerSet.disable = "TRUE"
isolation.tools.memSchedFakeSampleStats.disable = "TRUE"
isolation.tools.getCreds.disable = "TRUE"