vSphere虚拟交换机安全策略解读-混杂模式、MAC地址更改、伪传输

数据安全战略非常重要,必须做好计划; 特别是在数据中心,所有虚拟资产都必须得到很好的保护。 一个图谋不轨的hacker可能会劫持VM并重新配置以满足他的邪恶目的。本文详细讲述了vSphere虚拟交换机基于2层的安全策略。

有3个安全策略可供选择:混杂模式、MAC地址更改、伪传输。

既然是2层安全策略,而MAC地址又是处于2层,所以这3个策略都与MAC地址有关,可称之为“MAC防火墙”。

背景知识:

对于物理机,有2个MAC地址:

■固化在物理网卡ROM中的MAC地址,不可更改,该地址称为”初始MAC地址“;

■操作系统也有个MAC地址,叫做”有效MAC地址“(也就是网卡地址),该地址能在网卡属性或者注册表中更改,如:

可见通过物理机网卡发送到网络上的帧,源MAC不一定是固化的原始MAC。

在默认的情况下,初始MAC地址和有效MAC地址是相同的,除非用户更改。

虚拟机也有类似的2个概念:

■存在于VMX配置文件中的MAC地址(在“虚拟机网卡配置”里可也看到这个地址,类似于固化的初始MAC地址),客户OS无法更改。

示例:ethernet0.generatedAddress = "00:50:56:8e:ca:14"

■客户OS的网卡地址(也就是有效MAC地址),可以更改;

地位超然的ESXi主机当然对其管辖下的所有VM的这2个MAC地址了然于胸。

名词解释:

虚拟交换机:vSwitch

入站帧:进入虚拟机网卡的帧

出站帧:离开虚拟机网卡的帧

主机:运行ESXi的物理服务器

客户机:虚拟机(VM)

客户机OS:在虚拟机上运行的操作系统

有了以上知识储备,就可以详细解读这3个安全策略了。

安全策略既可以在vSwitch级别设置,也可以在端口/端口组级别设置,如过是后者,初始情况下这3个策略都是灰色,意为执行vSwitch级别的策略,选中以后,端口组策略就覆盖了交换机的策略。

 混杂模式:

在同一个VLAN里的VM能收到本VLAN的全部数据包,客户安装WireShark或者IDS,就可以看到目标是其它VM的数据包和广播包

注:该功能可能被恶意使用。

  MAC地址更改:

ESXi发现有VM篡改了MAC地址,把网卡MAC地址改为与VMX文件中定义的MAC地址不同(有效MAC与初始MAC不同),该咋办?

我们这样思考:

首先,ESXi明确知道内部所有客户机的2个MAC地址及其所属虚拟交换机的端口;

其次,发现VM1的网卡MAC与VMX文件中定义的初始MAC不符(A≠C,有效MAC≠初始MAC),说明VM1修改了有效MAC;

但这种修改是善意的,还是恶意的呢?虚拟交换机必须做出选择:

拒绝 - VM1修改了MAC?它想干嘛?想冒充其它的VM么?与VM1连接的虚拟交换机端口被禁用!

接受 - 这是善意的修改,VM1连接的虚拟端口启用。

Hacker经常用MAC欺骗(MAC模拟)来冒充另一个虚拟机,或通过将MAC更改为随机值将自己隐身。 将此项设为“拒绝”就切断了可疑分子的网络连接,从而保护了网络。

注1:本策略的执行者是虚拟交换机。

注2:如果使用Microsoft网络负载平衡(NLB),或连接了iSCSI存储,需设为“接受”。

注3:虽然与VM1连接的端口被禁用,但客户OS无法检测出这种情况(因为并不是在第1、2层上从虚拟网卡上断开,而是丢弃了所有发往该VM的帧)。

          伪传输:

在网卡属性窗口里修改了MAC地址,发出的帧的源MAC肯定就改变了,但有些软件(或者是木.马)会直接修改以太网帧的源MAC。此时正在传输的帧的源MAC虚拟网卡的MAC不同,本策略关注的就是这点:是否有软件修改了帧的源MAC地址,使其与网卡的“有效MAC地址”不符。

再次强调:上个策略比较的是虚拟网卡的”有效地址“与”初始地址“的不符,方向是入站;本策略比较的是”正在传输的帧的源地址“与虚拟网卡的”有效地址“的不符,方向是出站。

一旦有软件以伪造的源MAC地址向外发送数据帧,虚拟网卡就删除该帧,但放行合法的帧。这说明本策略的执行动作是”过滤“,而非一刀切的”断网“。

试想VM感染了木.马,该木.马以虚假的源MAC地址向外发欺骗帧,此时正在传输的帧的源MAC与虚拟网卡的有效MAC不同。虚拟网卡将会丢弃该帧,但其它合法软件的帧正常发出。

对于另一种情况,“嵌套虚拟机”也就会造成这种现象,这需要详细解释一下:

在物理EXSi主机里再建立一个虚拟的ESXi主机,里面的VM3和VM4是嵌套虚拟机,也就是“虚拟机里的虚拟机”。

物理ESXi主机虚拟ESXi主机分配了4个网卡,MAC地址分别给了C,D,E,F。

如果嵌套VM3和嵌套VM4通过网卡F向外发送数据,出去的源MAC地址就不是F而是A或B。

ESXi一旦发现正在传输的帧的源MAC与发送该帧的虚拟网卡MAC地址不符(运行时MAC与有效MAC地址不符),该咋办?

拒绝 - 凡不符的帧被虚拟网卡丢弃,符合的帧出站,也就意味着拒绝嵌套VM发送流量;

接受 - 源MAC爱谁谁,统统向外转发。MAC地址A,B,C,D,E,F都可以从网卡F离开虚拟机向外传输。

注:本策略的执行者是VM的虚拟网卡。

          理论验证:

为了检验前述的3个理论,我做了一次实验,准备了2台虚拟机:XP1和XP2。在XP1里安装“网络执法官”,它能以虚假的源MAC向外发送ARP欺骗包。

实验开始:

  验证“MAC地址更改”

1、设为“拒绝”并修改XP1的网卡MAC:XP1与XP2之间相互ping不通,且都没有收到对方的ARP请求,证明在初始MAC与有效MAC不符的情况下,与该VM连接的虚拟交换机端口被禁用,帧出不去也进不来。

2、把策略改回“接受”:再用XP1以虚假的MAC向XP2发起欺骗,此时向XP2发出的帧的源MAC被欺骗软件修改,且欺骗有效,XP2网络被断开。这说明本策略不判断虚拟网卡有效MAC与运行时帧的源MAC是否相符的情况(网卡MAC≠运行时帧MAC)。

         总结:由此可见本策略不防ARP病毒,不防虚假MAC欺骗,仅判断VM的MAC是否与初始MAC不同,在相同的情况下,对黑、客软件发起的MAC地址欺骗没有防御力。

验证“伪传输”

1、设为“拒绝”且不修改XP1网卡的MAC:XP1欺骗XP2失败,但XP1能ping通XP2,这说明XP1欺骗软件发出的虚假源MAC的ARP包被虚拟网卡丢弃(有效MAC与运行时帧的源MAC不符),但ping包放行(有效MAC与运行时MAC相符)。虚拟网卡起到了“过滤”的作用。

2、还是设为“拒绝”同时修改XP1网卡MAC:有趣的事情发生了:XP1完全无法与外界通信了!说明XP1与虚拟交换机所连接的端口被禁用,难道同时“MAC地址更改”被设为“拒绝”?非也,设置的是“接受”。

这说明本策略内含“MAC地址更改”策略,且有更高的优先级。

尊重实验结果,总结如下:

       初始MAC=有效MAC=运行时帧的源MAC,这样的帧被放行发出,其余的帧被删除。

总结:在VM的MAC没有被修改的前提下设为”拒绝“起到过滤的作用,非法源MAC包被丢弃,合法源MAC包放行;

同样设为”拒绝“并修改VM的MAC,会丢弃所有的帧,又能起到防MAC修改的作用

对下图的解释:

 MAC地址更改:如果设为“拒绝”并修改了VM的MAC,虚拟交换机会关闭该VM所连接的端口。

       伪传输:设置为“拒绝”的前提下:

修改VM的MAC:禁用该VM所连接的端口。

不修改VM的MAC:转发合法源MAC帧,被软件修改的非法的源MAC帧被虚拟网卡被丢弃。

        

 

 

          验证“混杂模式”

重新安排实验:

ESXi主机192.168.1.202之下有3个XP虚拟机,当前是在“xp-03 47”控制台,IP是192.168.1.47,安装了嗅探软件Ethereal,现在xp-04 44” ping “xp-05 31”。

拒绝 - vSwitch端口组仍然处于默认的交换模式,ICMP数据包只能在这2个虚拟机中往返,”xp03 47“看不到这些流量。

接受 - vSwitch端口组处于混杂模式,”xp-03 47“就能看到这些数据包了,注意上图ICMP协议包源地址和目标地址不是监听者“xp-03 47”的。

虚拟交换机与物理交换机的异同

         相同点:VMware 虚拟交换机(常称为vSwitch )不对流量进行特殊或者专利的修改。所有流入虚拟交换机的帧遵循IEEE 802.3协议的相同标准,遵循OSI 模型数据链路层的概念框架,以及TCP/IP 网络接口层的实际应用。同时,参考VMware官方的硬件兼容性列表,vSwitch支持多个厂商的网卡。

         不同点:

■可以调整接口数量

■交换逻辑与物理交换机不同。

如果一个帧进入交换机,目标是未知的MAC 地址,物理交换机就会进入学习状态-在所有端口泛洪该帧。但对于虚拟交换机,由于明确知道内部虚拟机的MAC地址及其属于哪个端口(虚拟机端口和Vmkernel端口),所以不需要经历MAC地址学习的过程-该帧会被忽略。

类似地,如果一个帧从虚拟端口进入虚拟交换机(例如从一个VM 发出),目标是未知的MAC 地址,它将通过物理上联链路处理。这使得虚拟交换机的二层交换策略变得非常简洁。

            虚拟交换机的交换逻辑如下:

           1 )以太网帧进入虚拟交换机。

           2 )如果目标是已知的MAC 地址,将该帧交换到拥有该地址的虚拟端口。

           3 ) 如果目标是未和的MAC 地址:

                  a )如果来自外部源, 抛弃该帧。

                  b )如果来自内部源,将其发到物理上联链路。

 

           希望这篇文章能够给你一个清晰的概念。

原文地址:https://www.cnblogs.com/sky5hat/p/12040793.html

时间: 2025-01-06 01:17:24

vSphere虚拟交换机安全策略解读-混杂模式、MAC地址更改、伪传输的相关文章

理解vSphere虚拟交换机中的VLAN类型

VMware vSphere虚拟机交换机支持四种VLAN类型,分别是:无.VLAN.VLAN中继.专用VLAN. 在路由/交换领域,VLAN的中继端口叫做Trunk.Trunk技术用在交换机之间互连,使不同VLAN通过共享链路与其它交换机中的相同VLAN通信.交换机之间互连的端口就称为Trunk端口.Trunk是基于OSI第二层数据链路层(Data Link Layer)的技术. 如果没有VLAN中继,假设两台交换机上分别创建了多个VLAN(VLAN是基于Layer 2的),在两台交换机上相同的

交换机安全(2)- MAC地址泛洪

MAC层攻击 – MAC地址泛洪 常见的二层攻击或交换机攻击是MAC泛洪,入侵者使用大量无效的源MAC地址,这会导致交换机的CAM表溢出,由于交换机在MAC地址表中找不到目的MAC地址对应的端口,从而导致交换机向其它所有端口定期泛洪数据帧.交换机不会再接收新的合法条目,这会影响到网络中的所有用户的传输速度. 攻击者可通过MAC泛洪实现DOS攻击,也可能会获取全网的数据包. CAM表的容量依据交换机的型号有所不同,常用的Catalyst 接入层交换机为8192,可通过以下的命令查看. Switch

VMware vSphere 通过模板创建虚拟机后修改MAC地址脚本

#!/bin/bash #################### #Author:jncheng   # #Vsersion:20150402 # #################### source /etc/profile ###################################################################################################### # #List the system eth's Mac-add

理解网卡工作模式中的混杂模式

混杂模式,英文名称为Promiscuous Mode,它是指一台机器能接收所有经过它的数据流,而不论数据流中包含的目的地址是否是它自己,此模式与非混杂模式相对应.在非混杂模式下,网络适配器仅侦听自己的 MAC 地址上的流量.在混杂模式下,它可以侦听所有数据包.默认情况下,网络适配器设置为非混杂模式.混杂模式是数据链路层(L2)中的一个安全策略. 混杂模式下的网卡能接收所有通过它的数据流,不管是什么格式.地址(任何一个在同一冲突域中传输的所有包),在接收到数据包后由网络层判断确定这个包如何处理,例

让VMware ESXi虚拟交换机支持VLAN

目前虚拟化应用比较广泛,通常情况下,一台物理主机在安装VMware ESXi或Hyper-V虚拟机软件后,可以在一台物理主机上创建多个虚拟机,并且创建的每个虚拟机可以像原来的物理一样对外提供服务,这无疑可以充分利用服务器的资源,达到节省电力.节省空间的目的.但大多数朋友们在使用虚拟机的时候,也有一个问题:就是物理主机性能已经够高,一般情况下配置了64GB内存.2个6核心的intel的CPU的主机,可以创建30-60台虚拟机.但物理主机一般只配置2-4块网卡,每个网卡只连接一个网段.而企业网络中可

交换机端口安全之粘滞安全MAC地址

首先,为什么有粘滞安全MAC地址呢?原因是,虽然静态安全MAC地址可以使得交换机的某一接口只允许某一固定的计算机的接入,但是需要做的是,一一的找出计算机的MAC地址,所以,此时用粘滞安全MAC地址解决这个问题 SW1(config-if)#sw SW1(config-if)#switchport mo ac SW1(config-if)#sw SW1(config-if)#switchport po SW1(config-if)#switchport port-security SW1(conf

交换机与MAC地址表的简单阐述

OSI 7 6 5 4 3 - IP/route/ICMP 2 - MAC.网桥(bridge).交换机(switch) 1 - 网线.中继器(repeater).集线器(hub) ----------------------------------------------------------------------------- 交换: -定义 相同网段的主机互通,这个互通的过程,叫做交换: -实现 具有交换功能的设备,叫做交换机 -核心表 交换表/MAC地址表 里面包含的是MAC于por

Cisco 绑定mac地址

在Cisco中有以下三种方案可供选择,方案1和方案2实现的功能是一样的,即在具体的交换机端口上绑定特定的主机的MAC地址(网卡硬件地址),方案3是在具体的交换机端口上同时绑定特定的主机的MAC地址(网卡硬件地址)和IP地址. 1.方案1——基于端口的MAC地址绑定 思科2950交换机为例,登录进入交换机,输入管理口令进入配置模式,敲入命令: ng=1 cellPadding=0 width="80%" align=left bgColor=#cccccc border=0> Sw

Mininet实验 MAC地址学习

实验目的 了解交换机的MAC地址学习过程. 了解交换机对已知单播.未知单播和广播帧的转发方式. 实验原理 MAC(media access control,介质访问控制)地址是识别LAN节点的标识.MAC对设备(通常是网卡)接口是全球唯一的,MAC地址为48位,用12个16进制数表示.前6个16进制数字由IEEE管理,用来识别生产商或者厂商,构成OUI(Organization Unique Identifier,组织唯一识别符).后6个包括网卡序列号,或者特定硬件厂商的设定值.对于一个网卡来说