一些 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 參數。
編輯設定之後,必須重新啟動虛擬機器,變更才會生效。
您可以藉由在對應的 VMware Tools 中設定適當的參數,去除數個潛在的威脅並設定虛擬機器的 .vmx 檔案。其中許多參數的預設值都已設定為保護虛擬機器不受這些威脅。
與無權限使用者帳戶相關聯的威脅
與虛擬裝置相關聯的威脅
-
連線和修改裝置
-
依預設,停用連線和中斷連線裝置的功能。啟用該功能之後,不具有根或管理員權限的使用者和程序可以連線裝置 (如網路介面卡和 CD-ROM 光碟機),還可以修改裝置設定。即使用者可以連線已中斷連線的 CD-ROM 光碟機,並存取在磁碟機中媒體上的敏感資訊。使用者也可以中斷網路介面卡的連線,將虛擬機器與其網路隔離,這樣可以拒絕服務。若要避免與此功能相關聯的風險,請保留以下 .vmx 設定,這些設定可以停用連線和中斷連線裝置或修改裝置設定的功能:
isolation.device.connectable.disable = "TRUE" isolation.device.edit.disable = "TRUE"
與虛擬機器資訊流量相關聯的威脅
-
VMX 檔案大小
-
依預設,組態檔的大小限制為 1 MB,因為當資料存放區的磁碟空間不足時,不受控制的檔案大小會導致發生拒絕服務。資訊訊息有時候會從虛擬機器傳送到 .vmx 檔案。這些 setinfo 訊息透過將名稱-值配對寫入檔案,來定義虛擬機器特性或識別碼。如果檔案中必須儲存大量的自訂資訊,則您可能需要增加檔案大小。內容名稱為 tools.setInfo.sizeLimit,可以指定其值 (以 KB 為單位)。保留下列 .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"