这些安全控制提供了一组基础的 vSphere 系统设计最佳实践。

消除 vCenter Server 第三方插件

减少或消除第三方 vCenter Server 插件。

在系统之间安装插件和其他第三方交叉连接会侵蚀不同基础架构系统之间的边界,从而为入侵一个系统的攻击者提供横向移动到另一个系统的机会。将其他系统与 vSphere 紧密耦合也常常会阻碍及时修补和升级。确保 vSphere 组件的任何第三方插件或加载项都能够创造价值。如果您选择使用插件而不是单个管理控制台,请确保使用插件可抵消它们带来的风险。

谨慎使用基础架构管理接口

将基础架构管理接口连接到通用身份验证和授权源时要谨慎。

集中式企业目录是攻击者的目标,因为它们在整个企业的授权中扮演着重要角色。一旦目录被入侵,攻击者就可以在组织内部自由行动。事实证明,将 IT 基础架构连接到集中式目录会给勒索软件和其他攻击制造巨大的机会。隔离所有基础架构系统的身份验证和授权。

对于 ESXi

  • 通过 vCenter Server 执行所有主机管理
  • 停用 ESXi Shell
  • ESXi 置于正常锁定模式
  • ESXi root 密码设置为复杂密码

激活 vSphere Distributed Resource Scheduler

在全自动模式下激活 vSphere Distributed Resource Scheduler (DRS)。

vSphere DRS 使用 vMotion 在物理主机之间移动工作负载,以确保性能和可用性。全自动模式可确保 vSphere Lifecycle Manager 可以与 DRS 协同工作,激活修补和更新操作。

如果需要特定的虚拟机到主机映射,请使用 DRS 规则。如果可能,请使用“应当”而不是“必须”规则,以便可以在修补和高可用性恢复期间暂时挂起该规则。

激活 vSphere High Availability

如果 ESXi 主机突然出现故障,vSphere High Availability (HA) 会在集群中的其他 ESXi 主机上重新启动工作负载。确保为您的环境正确配置了 HA 设置。

激活 Enhanced vMotion Compatibility

vSphere Enhanced vMotion Compatibility (EVC) 可确保工作负载在运行不同代 CPU 的集群中的 ESXi 主机之间使用 vMotion 进行实时迁移。在 CPU 存在漏洞的情况下,EVC 也能提供帮助。在这种情况下,CPU 可能会引入新的微码指令,使它们暂时互不兼容。

保护系统免受篡改

确保 ESXi 主机及相关存储和网络组件免受篡改、未经授权的访问和未经授权的移除。此外,还要保护主机免受环境因素的损害,如洪水、极端温度(低温或高温)以及灰尘和碎片。

使用 vSphere Native Key Provider 和 ESXi 密钥持久性等安全功能可能会导致安全材料本地存储在 ESXi 主机上,从而使攻击者能够引导和解锁原本受保护的集群。考虑物理安全和适当的威胁(如盗窃)非常重要。

除了盗窃之外,保持安全意识还意味着要向自己和组织提出以下问题:

  • 可能出了什么问题?
  • 如果出了问题,我怎么知道?

在处理无人值守的数据中心位置和主机代管设施时,这些问题显得更加重要。对于数据中心和机架配置,请提出以下问题:

  • 数据中心的门是否会自动关闭并自行正确锁定?
  • 如果门没关好,会主动发出警报吗?
  • 如果机架门已上锁,是否还能从侧面或顶部伸入机架断开电缆?未经授权的人是否可以将电缆连接到网络交换机?
  • 是否可以移除设备,如存储设备,甚至整个服务器?在这种情况下会发生什么?

要问的其他问题包括:

  • 有人能从服务器上的信息显示屏(如液晶面板或控制台)获取有关环境或业务的信息吗?
  • 如果这些信息显示屏处于非活动状态,是否可以从机架外部触发,例如,用一根坚硬的金属线?
  • 是否有其他按钮(如电源按钮)可能被按下,从而导致公司服务中断?

最后,问问自己,是否存在其他物理威胁,如洪水、冰冻或高温的可能性,或环境中的灰尘和碎片会影响可用性?

描述性地命名 vSphere 对象

确保对 vSphere 对象进行描述性命名,更改对象的默认名称以确保准确性并减少混淆。

对 vSphere 对象使用良好的命名实践,更改默认名称,例如“Datacenter”、“vSAN Datastore”、“DSwitch”、“VM Network”等,以包含更多信息。这有助于在制定、实施和审核安全策略和运维流程时提高准确性并减少错误。

使用 802.1Q VLAN 标记的端口组可能包含 VLAN 编号。数据中心和群组名称可以反映位置和用途。数据存储和虚拟分布式交换机名称可以反映它们连接到的数据中心和集群名称。密钥提供程序名称尤为重要,尤其是在通过复制到备用站点来保护加密虚拟机时。努力避免与其他数据中心和集群中的对象发生潜在的“名称冲突”。

某些组织不会使用物理位置标识符(如街道地址)命名系统,宁愿通过使用“站点 A”、“站点 B”等术语来掩盖数据中心的物理位置。这也有助于站点搬迁,避免重命名所有内容或忍受不准确的信息。

在决定命名方案时,请记住,许多对象可能具有类似的属性。例如,两个端口组可以分配相同的 VLAN,但具有不同的流量筛选和标记规则。在名称中包含项目名称或简短描述可能有助于消除此类型的对象的模糊性。

最后,在制定命名方案时要考虑自动化。在编写脚本和自动执行任务时,可以通过编程方式派生的名称通常非常有用。

隔离基础架构管理接口

确保 IT 基础架构管理接口在各自的网段上或作为隔离管理网络的一部分进行隔离。

确保为虚拟化组件配置的所有管理接口都位于仅用于虚拟化管理的网段(VLAN 等)上,不含工作负载和不相关的系统。确保通过周边安全控制对管理接口进行控制,只有经授权的 vSphere 管理员才能从经授权的工作站访问这些接口。

某些系统设计将 vCenter Server 和其他管理工具放置在自己的网络分段上,与 ESXi 隔离,因为这样可以更好地监控这些系统。在其他设计中,由于两种产品之间的关系以及防火墙配置错误或中断可能会中断服务,因此 ESXi 管理 vCenter Server。无论选择哪种设计,都要深思熟虑。

正确使用 vMotion

确保 vMotion 使用传输中数据加密(对于虚拟机设置为“必需”),或者确保用于 vMotion 的 VMkernel 网络接口隔离在具有外围控制的独立网段上。

vMotion 和 Storage vMotion 可分别跨网络复制虚拟机内存和存储数据。确保数据在传输过程中进行加密,从而保证数据的保密性。通过适当的外围控制将网络隔离到专用网段,可以增加深度防御,还可以进行网络流量管理。

与所有形式的加密一样,vMotion 加密确实会带来性能损失,但这种性能变化发生在后台 vMotion 进程中,不会影响虚拟机的运行。

正确使用 vSAN

确保 vSAN 使用传输中数据加密,或者确保用于 vSAN 的 VMkernel 网络接口隔离在具有外围控制的独立网段上。

vSAN 具有传输中数据加密功能,有助于在 vSAN 节点通信时保持机密性。与许多安全控制一样,在性能方面也要有所取舍。激活传输中数据加密时监控存储延迟和性能。未激活或无法激活传输中数据加密 vSAN 的组织应将网络流量隔离到具有适当外围控制的专用网段。

激活 Network I/O Control

通过激活 Network I/O Control (NIOC),确保您具有抵御网络拒绝服务的能力。

vSphere Network I/O Control (NIOC) 是一种流量管理技术,可在 Hypervisor 级别提供服务质量,通过在多租户云和共享工作负载环境中对资源进行优先排序来提高网络性能。NIOC 合并到 vSphere Distributed Switch (vDS) 中,将网络适配器带宽划分为“网络资源池”,这些资源池与不同的流量类型(如 vMotion 和管理流量)相对应。通过使用 NIOC,用户可以为这些池分配份额、限制和预留。

NIOC 可保留基本服务的网络可用性,并通过限制不太重要的流量来防止拥堵。为此,可以根据业务要求创建网络控制策略,确保流量类型隔离,并允许根据优先级和使用情况进行动态资源重新分配。

不配置供应商预留的 VLAN

确保来自 ESXi 主机的物理交换机上行链路未配置供应商预留的 VLAN。

某些网络供应商会保留特定的 VLAN ID 以供内部或特定使用。确保您的 vSphere 网络配置不包含这些值。

ESXi 上行链路配置为访问端口

确保来自 ESXi 主机的物理交换机上行链路配置为分配给单个 VLAN 的“访问端口”,或者配置为没有本机 VLAN 的标记 802.1Q VLAN 中继。确保 vSphere 端口组不允许访问 VLAN 1 或未标记的本机 VLAN。

将“本机”VLAN 配置为接受未标记流量的网络连接,或有权访问 VLAN 1 的网络连接可能会使攻击者有机会制作破坏网络安全控制的专用数据包。默认情况下,VLAN 1 通常用于网络管理和通信,应与工作负载隔离。确保端口组未配置为访问本机 VLAN。确保 VLAN 中继端口配置了特定的 VLAN 定义(而不是“全部”)。最后,确保端口组配置正确,使攻击者无法利用虚拟化环境规避网络安全控制。

正确配置存储架构连接

确保存储架构连接使用传输中数据加密,或隔离在自己的网段或具有外围控制的 SAN 上。

在传输过程中保护存储数据有助于确保数据的机密性。通常出于可用性或性能方面的考虑,许多存储技术都不支持加密。在这些情况下,将网络隔离到具有适当外围控制的专用网段,可以成为一种有效的补偿控制,并能增加深度防御。

在存储系统上采用 LUN 屏蔽

确保存储系统采用 LUN 屏蔽、分区和其他存储端安全技术,以确保存储分配仅对在其中使用该存储的 vSphere 集群可见。

存储控制器上的 LUN 屏蔽和 SAN 分区有助于确保未经授权的主机无法看到存储流量,并且未经授权的主机也无法绕过其他安全控制来挂载数据存储。

限制与授权系统的连接

请考虑使用 vCenter Server Appliance 防火墙限制与授权系统和管理员的连接。

vCenter Server Appliance 包含一个基本防火墙,可以用来限制 vCenter Server 的入站连接。这可以与外围安全控制一起成为有效的深度防御层。

与往常一样,在添加规则以阻止连接之前,请确保已制定相关规则,允许从管理工作站访问。

不要将加密密钥存储在物理访问没有受到保护的 ESXi 主机上

在没有确保主机物理访问安全的情况下,环境不得将加密密钥存储在 ESXi 主机上。

为防止出现依赖关系循环, vSphere Native Key Provider 会将解密密钥直接存储在 ESXi 主机上,可以存储在可信平台模块 (TPM) 中,也可以作为加密 ESXi 配置的一部分。但是,如果您无法对主机进行物理保护,并且攻击者窃取了主机,则攻击者将拥有解锁和执行加密工作负载的手段。因此,确保物理安全(请参见 保护系统免受篡改)或选择使用包含额外网络安全控制的标准密钥提供程序(请参见 什么是标准密钥提供程序)至关重要。

使用大小适当的持久性、非 SD、非 USB 设备作为 ESXi 引导卷

环境必须使用大小适当的持久性、非 SD、非 USB 设备作为 ESXi 引导卷。

闪存是一种会随时间磨损的组件,每次数据写入都会缩短其使用寿命。SSD 和 NVMe 设备具有可减少这种磨损的内置功能,使其更加可靠。但是,SD 卡和大多数 USB 闪存驱动器没有这些功能,可能会出现可靠性问题,例如坏扇区,通常没有任何明显的迹象。

为了减少磨损并延长 SD 和 USB 设备的使用寿命,在这些设备上安装 ESXi 时,可以将审核和系统日志保存到 RAM 磁盘,而不是不断写入设备。这意味着,您必须为这些日志设置新的长期存储位置,并更改日志输出,以转到这些新位置。

选择可靠的引导设备可以省去这些额外步骤,有助于 ESXi 自动通过安全审核。

正确配置 vSAN iSCSI 目标

确保 vSAN iSCSI 目标使用自己的 VMkernel 网络接口(隔离在自己的网段上),并使用分布式端口组流量筛选和标记、NSX 或外部网络安全控制采用单独的外围控制。

由于 iSCSI 目标客户端位于集群外部,因此请在自己的网络接口上隔离它们。这样,您可以单独限制其他仅限内部的网络通信。此类型的隔离还有助于诊断和管理性能。