必须启用基于虚拟化的安全性(vbs)与内存完整性,仅intel kabylake+/amd zen 2+支持完整保护;配置shielded vm与hgs实现启动验证;禁用默认账户、强制tls 1.2+、关闭非必要管理通道;实施最小权限控制;建立内存快照、页表分析和idt校验三重监控机制。

在生产环境中部署虚拟化平台时,必须防止Hypervisor被恶意利用导致全栈失陷,不能仅依赖默认配置或等待漏洞爆发后再补救。
启用基于虚拟化的安全性(VBS)与内存完整性
此功能需硬件支持,仅在Intel Kabylake+或AMD Zen 2+处理器上启用完整保护能力,旧平台会降级为受限用户模式,性能损耗显著增大。
打开“Windows 安全中心”→“设备安全性”→“核心隔离详细信息”,将“内存完整性”开关设为“开启”。
若系统提示“不兼容的驱动程序”,需逐个排查并更新或卸载未签名的内核驱动——【未签名驱动会直接绕过HVCI校验,使整个防护失效】。
重启后运行 PowerShell 命令:Get-SystemInfo | Select-Object DeviceGuard, HypervisorEnforcedCodeIntegrity,确认两项返回值均为 True。
配置受防护的虚拟机(Shielded VM)与主机守卫者服务(HGS)
Shielded VM 只能在通过 HGS 证明的主机上启动,即使虚拟机磁盘被复制到非法主机也无法解密运行。
方法一:TPM 信任证明(推荐)
确保每台 Hyper-V 主机配备 TPM 2.0 芯片并已启用;部署三节点 HGS 集群;在 HGS 中注册主机 TPM 签名;为 Shielded VM 启用虚拟 TPM 和 BitLocker 加密。
方法二:主机密钥证明(无TPM时备用)
为每台主机生成唯一非对称密钥对;将公钥导入 HGS;HGS 使用该密钥验证主机身份;此方式防篡改能力弱于 TPM 证明。
【切换证明模式无需重建HGS集群,但需在所有主机上重新注册】
加固Hypervisor层基础配置
第一步:立即禁用所有默认账户与示例内容
删除 vSphere 中的 demo-user、admin@vsphere.local(如未重命名);清空 VMware Tools 自带的 sample-scripts 目录;移除 Hyper-V 默认创建的“Default Switch”之外的所有未命名虚拟交换机。
第二步:强制启用 TLS 1.2+ 加密通信
在 vCenter Server 上执行:govc settings.set /setting/network/tls/ciphersuite "TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384";对 Hyper-V 主机,在注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server 下新建 DWORD 值 DisabledByDefault = 0。
第三步:关闭非必要管理通道
禁用 VMware 的 CIM over HTTP、Hyper-V 的 WMI over DCOM;仅保留 HTTPS + WinRM(HTTPS)或 vSphere Client API 端口;物理防火墙策略中阻断 443 以外所有管理端口入向流量。
实施最小权限访问控制
为每个管理员角色创建专用账号,禁止共享 root / Administrator / Administrator@vsphere.local。
在 vSphere 中,将“Host.Configuration.MaintenanceMode”、“VirtualMachine.Provisioning.DeployTemplate”等高危权限从“Administrator”角色中剥离,单独授予经审批的运维组。
Hyper-V 主机上,使用 Local Security Policy → “User Rights Assignment” 移除普通用户组对“Manage auditing and security log”和“Load and unload device drivers”的分配。
这一步操作起来很简单,直接把文件拖进去就行。
建立持续监控与基线比对机制
方法一:Hypervisor 内存自省快照
每周凌晨 2 点自动调用 vmss -m(VMware)或 Export-VMCheckpoint(Hyper-V)导出内存映像;使用 Volatility3 加载 baseline.vmem 与 current.vmem,比对 IDT、GDT、CR3 值是否偏移。
方法二:页表结构行为分析
部署 bpftrace 脚本监听 hypervisor 层 page-fault 异常频率突增;当单秒内 >500 次非预期 PF 且目标地址落入 kernel-code 区域时触发告警。
方法三:中断描述符表(IDT)完整性校验
在启动时记录 IDT base address 与各 handler 地址哈希;运行时每 5 分钟轮询一次,任一 handler 地址变动即写入 Windows Event Log ID 1008 并暂停对应 VM。











