可以通过限制虚拟机网络适配器的一些 MAC 地址模式,来保护标准交换机流量不受第 2 层的攻击。

每个虚拟机网络适配器均包含一个初始 MAC 地址和一个有效 MAC 地址。

初始 MAC 地址

创建适配器时将分配初始 MAC 地址。尽管可以从客户机操作系统外部重新配置初始 MAC 地址,但不能由客户机操作系统进行更改。

有效 MAC 地址

每个适配器均具有一个有效 MAC 地址,可筛选与该有效 MAC 地址不同的目标 MAC 地址的入站网络流量。客户机操作系统负责设置有效 MAC 地址,并通常将有效 MAC 地址与初始 MAC 地址保持一致。

创建虚拟机网络适配器时会发生什么

虚拟机网络适配器一经创建后,其有效 MAC 地址与初始 MAC 地址相同。客户机操作系统可随时将有效 MAC 地址更改为其他值。如果操作系统更改了有效 MAC 地址,其网络适配器将接收传至新 MAC 地址的网络流量。

通过网络适配器发送数据包时,客户机操作系统通常将其适配器的有效 MAC 地址输入以太网帧的源 MAC 地址字段中。它还将接收网络适配器的 MAC 地址输入目标 MAC 地址字段中。接收网络适配器仅在数据包中的目标 MAC 地址与其自身有效的 MAC 地址匹配时才接受数据包。

操作系统可发送带有模拟源 MAC 地址的帧。因此,操作系统可以模拟接收端网络授权的网络适配器,并在网络中的设备上实施恶意攻击。

使用安全策略保护端口和组

通过在端口组或端口上配置安全策略,保护虚拟流量免受模拟和第 2 层拦截攻击。

分布式端口组和端口上的安全策略包括以下选项:

您可以通过从 vSphere Client 选择与主机关联的虚拟交换机来查看和更改默认设置。请参见《vSphere 网络连接》文档。

MAC 地址更改

虚拟交换机的安全策略包括一个 MAC 地址更改选项。此选项让虚拟机能够接收 Mac 地址不同于 VMX 中所配置地址的帧。

Mac 地址更改选项设置为接受时,ESXi 接受将虚拟机的有效 MAC 地址更改为非初始 MAC 地址的其他地址的请求。

Mac 地址更改选项设置为拒绝时,ESXi 不接受将虚拟机 有效 MAC 地址更改为非初始 MAC 地址的其他地址的请求。此选项可保护主机免受 MAC 模拟的威胁。虚拟机适配器用于发送请求的端口将被停用,必须在有效 MAC 地址与初始 MAC 地址匹配后虚拟机适配器才能再接收帧。客户机操作系统检测不到 MAC 地址更改请求已被拒绝。

注: iSCSI 启动器依赖于能够从某些类型的存储获取 MAC 地址更改。如果将 ESXi iSCSI 与 iSCSI 存储一起使用,则将 MAC 地址更改选项设置为 接受

有时,可能确实需要多个适配器在一个网络中使用同一 MAC 地址(例如在单播模式中使用 Microsoft 网络负载均衡时)。在标准多播模式下使用 Microsoft 网络负载均衡时,适配器不能共享 MAC 地址。

注: 从 vSphere 7.0 开始, 伪信号 MAC 地址更改的默认值已从“接受”更改为“拒绝”。请联系存储供应商进行验证。

伪传输

伪信号选项将影响从虚拟机传输的流量。

伪信号选项设置为接受时,ESXi 不会比较源 MAC 地址和有效 MAC 地址。

要防止 MAC 模拟,可将伪信号选项设置为拒绝。这样,主机将对客户机操作系统传输的源 MAC 地址与其虚拟机适配器的有效 MAC 地址进行比较,以确认是否匹配。如果地址不匹配,ESXi 主机将丢弃数据包。

客户机操作系统检测不到其虚拟机适配器无法使用模拟 MAC 地址发送数据包。ESXi 主机会在带有模拟地址的任何数据包递送之前将其截断,而客户机操作系统可能假设数据包已被丢弃。

注: 从 vSphere 7.0 开始, 伪传输 MAC 地址更改的默认值更改为了“拒绝”,而不是“接受”。

混杂模式运行

混杂模式会清除虚拟机适配器执行的任何接收筛选,以便客户机操作系统接收在网络上观察到的所有流量。默认情况下,虚拟机适配器不能在混杂模式中运行。

尽管混杂模式对于跟踪网络活动很有用,但它是一种不安全的运行模式,因为混杂模式中的任何适配器均可访问数据包,即使某些数据包是否仅由特定的网络适配器接收也是如此。这意味着虚拟机中的管理员或根用户可以查看发往其他客户机或主机操作系统的流量。

有关为混杂模式配置虚拟机适配器的信息,请参见《vSphere 网络连接》文档中有关为 vSphere 标准交换机或标准端口组配置安全策略的主题。

注: 有时您可能确实需要将标准虚拟交换机或分布式虚拟交换机配置为在混杂模式中运行(例如运行网络入侵检测软件或数据包嗅探器时)。