文/王宏财
目前,虚拟化技术已经成为云计算数据中心的关键技术。采用虚拟化技术后,能够最大程度利用服务器性能,但是虚拟化技术的引入使得网络和服务器的管理边界变得模糊。传统的网络和服务管理分属不同的运维组织,服务器管理人员仅负责业务、数据安装,而网络管理员负责网络连通及服务器安全防护。虚拟机引入后由于内置vSwitch,使得处于同一VLAN的不同虚拟机之间的流量将直接通过vSwitch交换转发。在目前的多租户应用场景中,同一租户的不同业务系统很有可能是同一VLAN的,导致目前成熟的安全防护技术无法实施。这样会导致虚拟化软件在已知传统安全威胁(如针对操作系统和应用程序的攻击)基础上引入新的安全威胁。
为了解决上述问题,本专利采用的核心思想为:通过修改vSwitch内置的Agent模块,动态监测同一个VLAN内虚拟机之间的二层流量交互,当监测到同VLAN内不同虚拟机之间的二层流量时,根据预先配置的规则改变该报文的VLAN,实现报文被自然重定向到外部网络安全设备,从而实现服务器内部相同VLAN不同虚拟机之间的二层流量的安全防护。
具体地,本发明的详细实现如图1所示:
图1 通过VLAN变换实现相同VLAN不同虚拟机之间二层流量的安全防护
1、配置VLAN标签转换策略
VLAN标签转换策略需要事先通过管理平台配置,分别定义符合哪些特征的数据流转换为哪种标签,定义形式如表1的示例:策略应用端口策略应用VLAN流量方向策略应用元组VLAN标签转换
连接VM,上行端口100VM1—>VM2Src:192.168.1.0/24;dst:192.168.1.0/2410
连接VM,上行端口100VM2—>VM1Src:192.168.1.0/24;dst:192.168.1.0/2420
连接物理网卡,下行端口20VM1—>VM2Src:192.168.1.0/24;dst:192.168.1.0/24100
连接物理网卡,下行端口10VM2—>VM1Src:192.168.1.0/24;dst:192.168.1.0/24100
表1 VLAN标签转换策略示例
2、报文处理流程
l VLAN100中的虚拟机VM1到虚拟机VM2的流量到达vSwitch;
l vSwitch内置的Agent模块根据上表中的配置策略将VLAN标签由100修改为10;
l 由于是跨VLAN转发,所以vSwitch需要将报文送到上行接入交换机;
l 接入交换机通过正常的二层MAC转发到安全模块处理;
l 安全模块处理完毕后将VLAN标签替换为20,发送给接入交换机;
l 接入交换机通过二层MAC转发将报文发送给vSwitch;
l vSwitch内置的Agent模块根据上述配置策略将VLAN标签20替换为100;
l vSwitch进行正常的流量转发。
至此,完成相同VLAN不同虚拟机之间流量的安全防护的完整流程。
专利评析:
本发明专利通过对相同VLAN不同虚拟机之间发送的二层流量VLAN进行变换,使得原先的二层流量变成跨VLAN的三层转发,这样,二层流量报文就会被自然地重定向到外部的网关设备,进而可以利用现有的常规的二层转发技术实现同VLAN不同虚拟机之间的二层流量的安全防护。显然,利用本发明技术,可以充分利用已有资源,且开发工作量非常少,得以极大程度降低用户的部署成本,具有较高的应用价值。