×

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

hqy hqy 发表于2019-07-16 15:21:20 浏览6250 评论0

抢沙发发表评论

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

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

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

       既然是2层安全策略,而MAC地址又是处于2层,所以这3个策略都与MAC地址有关。


       背景知识:

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

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

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

           

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

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


          虚拟机也有类似的概念,不同的是虚拟机有3个MAC地址:

          ■存在于VMX配置文件中的MAC地址(类似于固化的初始MAC地址)

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

          ■虚拟操作系统的网卡地址(也就是有效MAC地址)

          ■运行时MAC地址(Runtime MAC address,虚拟交换机收到的MAC地址)

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


          名词解释:

          入站帧:进入虚拟交换机的帧

          出站帧:离开虚拟交换机的帧

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

          客户机:虚拟机VM


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


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


          MAC地址更改:

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

        

          我们这样思考:

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

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

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

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

          接受 - 这是善意的修改,我啥也不做。

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

       

          伪传输:

          该策略与“MAC地址更改”很类似,但控制的是“源MAC地址”的合法性,

          既然提到了“源”,也就有了方向,本策略控制是否允许合法的源MAC向外传输流量。

          主要用途是“嵌套虚拟机”场景,这个概念有点绕脑袋,需要仔细说明,如下图:

            

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

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

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

          虚拟交换机A一旦发现:接收帧的源MAC与发送该帧的网卡MAC地址不符(运行时MAC与有效MAC地址不符),该咋办?

          拒绝 - 从这个网卡出来的帧的源MAC,不是该网卡的MAC(A≠F),好奇怪的事情,丢弃该帧 ,也就意味着拒绝嵌套VM发送流量;

          接受 - 接受嵌套VM的流量,MAC地址A,B,C,D,E,F都可以从网卡F离开虚拟机向外传输。

          如果本策略设置为“拒绝”,除了阻止“嵌套虚拟机”的发包,还可以阻止VM以伪造的源MAC地址向外发欺骗包。


           总结:“MAC地址更改”和“伪传输”处理方法的区别:

          前者是粗暴地切断与VM连接的虚拟端口,是“端口”层面的操作;

          后者是丢弃帧,是“帧”层面的操作。


          混杂模式:

         在同一个VLAN里的VM能收到本VLAN的全部数据包,客户安装WireShark或者IDS,就可以看到到达其它VM的数据包(只能收到本端口组定义的VLAN的流量)。

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

          示例:

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

        “xp-04 44” ping “xp-05 31”,如果处于交换环境,ICMP数据包只能在这2个虚拟机中往返,xp03是看不到的,但设“混杂模式”为“接受”之后,xp-03就能看到这些数据包了,注意ICMP协议包源地址和目标地址。


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

         相同点: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.kinber.cn/post/858.html 转载需授权!

分享到:


推荐本站淘宝优惠价购买喜欢的宝贝:

image.png

 您阅读本篇文章共花了: 

群贤毕至

访客