vSphere虚拟交换机安全策略解读-混杂模式、MAC地址更改、伪传输
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 )如果来自内部源,将其发到物理上联链路。
希望这篇文章能够给你一个清晰的概念。