标签: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