码迷,mamicode.com
首页 > 系统相关 > 详细

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

时间:2019-12-14 21:00:03      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:ping不通   改变   劫持   删除   运行   自己   调整   数据安全   设置   

数据安全战略非常重要,必须做好计划; 特别是在数据中心,所有虚拟资产都必须得到很好的保护。 一个图谋不轨的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 )如果来自内部源,将其发到物理上联链路。


                          技术图片

 

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

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

标签:ping不通   改变   劫持   删除   运行   自己   调整   数据安全   设置   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!