一种云平台虚拟化流量的监控方法及装置
技术领域
本发明涉及虚拟机领域,特别是涉及一种云平台虚拟化流量的监控方法及装置。
背景技术
虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。每个虚拟机可以独立运行,可以安装各种软件与应用。由于虚拟机是一台计算机虚拟化实现多台计算机的功能,其整体性能也会被各个虚拟机所分配划分,划分虚拟机越多,各个虚拟机所分配的中央处理器CPU、内存、存储空间资源也越少,因此组件虚拟机要求计算机的配置越高越好,通常应用于服务器行业。
虚拟机在现实中的作用非常大,尤其是在企业中的应用非常广泛。由于企业服务器通常配置很高,在企业中为了满足处理各种复杂业务的需求,通常会将一台服务器划分出具有各自独立的网间协议IP地址的多个虚拟机,并为不同部门分配不同数量的虚拟机以供各部门专用。每个虚拟机都可以使用自身分配的资源处理业务,还可以通过交换设备实现不同部门的虚拟机之间的数据传送。
在传统的虚拟机使用过程中,发明人发现:不同部门的虚拟机之间具有较高的数据隔离特性,跨部门虚拟机之间的数据传送很容易导致病毒文件或木马文件在各个部门间的传播,使企业网络环境出现安全隐患。
发明内容
有鉴于此,本发明提出了一种云平台虚拟化流量的监控方法及装置,主要目的在于解决跨部门虚拟机之间的数据传送存在安全隐患的问题。
依据本发明的第一个方面,本发明提供了一种云平台虚拟化流量的监控方法,包括:
获取宿主机内部虚拟机的分组信息,宿主机内包含至少两个虚拟机分组,每个虚拟机分组中至少包含一个虚拟机;
监测虚拟机之间的数据迁移;
根据分组信息查找边界数据,边界数据为不同分组中虚拟机之间所迁移的数据;
将边界数据牵引到防火墙中进行过滤。
依据本发明的第二个方面,本发明提供了一种云平台虚拟化流量的监控装置,该装置通常位于交换设备中,包括:
获取单元,用于获取宿主机内部虚拟机的分组信息,宿主机内包含至少两个虚拟机分组,每个虚拟机分组中至少包含一个虚拟机;
监测单元,用于监测虚拟机之间的数据迁移;
查找单元,用于根据获取单元获取的分组信息查找边界数据,边界数据为不同分组中虚拟机之间所迁移的数据;
牵引单元,用于将查找单元查找的边界数据牵引到防火墙中进行过滤。
借由上述技术方案,本发明实施例提供的云平台虚拟化流量的监控方法及装置,能够监测虚拟机之间的数据迁移,并根据获取的宿主机内部虚拟机的分组信息查找到不同分组中虚拟机之间所迁移的数据,也就是边界数据,并将边界数据牵引到防火墙中进行过滤。与现有技术中由于不同分组或不同部门虚拟机之间具有较高的数据隔离特性,跨组或跨部门虚拟机之间的数据传送很容易传播病毒文件或木马文件的缺点相比,本发明通过对虚拟机之间的数据迁移进行监控,查找出跨组迁移的边界数据,对边界数据进行防火墙过滤,有效保证跨组迁移的数据以及不同分组虚拟机的安全性。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提供的一种云平台虚拟化流量的监控方法的流程图;
图2示出了本发明实施例提供的一种云平台虚拟化流量的监控装置的组成框图;
图3示出了本发明实施例提供的一种云平台虚拟化流量的监控装置的组成框图;
图4示出了本发明实施例提供的一种云平台虚拟化流量的监控装置的组成框图。
具体实施方式
下面将参照附图更加详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
在企业中为了满足处理各种复杂业务的需求,通常会将一台服务器划分出具有各自独立的网间协议IP地址的多个虚拟机,并为不同部门分配不同数量的虚拟机以供各部门专用。每个虚拟机都可以使用自身分配的资源处理业务,还可以通过交换设备实现不同部门的虚拟机之间的数据传送。但是由于不同部门的虚拟机之间具有较高的数据隔离特性,跨部门虚拟机之间的数据传送很容易导致病毒文件或木马文件在各个部门间的传播,使企业网络环境出现安全隐患。
为了解决跨部门虚拟机之间的数据传送存在安全隐患的问题,本发明实施例提供了一种云平台虚拟化流量的监控方法,该方法主要用于交换设备一侧。如图1所示,该方法包括:
101、获取宿主机内部虚拟机的分组信息。
通常宿主机的整体配置较高,为了满足不同部门的业务需求,往往会根据宿主机的CPU、内存、硬盘资源在宿主机内部划分出多个虚拟机,并为不同部门分配不同数量的虚拟机供其使用。宿主机内部划分的多个虚拟机具有各自独立的IP地址以及各自所属的分组标记,它们可以称为分组信息。在本发明实施例对云平台虚拟化流量的监控过程中,需要执行步骤101获取宿主机内部虚拟机的分组信息。其中,在本发明实施例中的宿主机包含至少两个虚拟机分组,每个虚拟机分组中至少包含一个虚拟机。
102、监测虚拟机之间的数据迁移。
在不同虚拟机之间的数据传送过程中,发送数据的虚拟机称为源虚拟机,接收数据的虚拟机称为目标虚拟机,源虚拟机发送的数据需要通过交换设备识别后才能转发给目标虚拟机。本实施例中的步骤102监测虚拟机之间的数据迁移的过程在本质上就是通过交换设备获取到发送数据的源虚拟机和接收数据的目标虚拟机的过程。
103、根据分组信息查找边界数据。
在实际数据传送的过程中,同一部门的虚拟机之间可以进行数据传送,不同部门的虚拟机之间也可以进行传送。但是基于不同部门的虚拟机之间具有较高的数据隔离特性,因此对不同部门的虚拟机之间传送的数据具有较高的安全性要求。在本发明实施例中将不同分组的虚拟机之间传送的数据定义为边界数据。在本实施例的步骤103中需要根据获取的宿主机内部虚拟机的分组信息,从各个虚拟机之间传送的数据中查找到边界数据,通常对这些边界数据具有较高的安全性要求。
104、将边界数据牵引到防火墙中进行过滤。
当在步骤103中获取到边界数据后,将边界数据牵引到防火墙中进行过滤,避免存在安全隐患的数据跨部门传送。
本发明实施例提供的云平台虚拟化流量的监控方法,能够监测虚拟机之间的数据迁移,并根据获取的宿主机内部虚拟机的分组信息查找到不同分组中虚拟机之间所迁移的数据,也就是边界数据,并将边界数据牵引到防火墙中进行过滤。与现有技术中由于不同分组或不同部门虚拟机之间具有较高的数据隔离特性,跨组或跨部门虚拟机之间的数据传送很容易传播病毒文件或木马文件的缺点相比,本发明通过对虚拟机之间的数据迁移进行监控,查找出跨组迁移的边界数据,对边界数据进行防火墙过滤,有效保证跨组迁移的数据以及不同分组虚拟机的安全性。
进一步的,为了更好的对上述图1所示的方法进行理解,作为对上述实施方式的细化和扩展,本发明实施例将针对图1中的步骤进行详细说明。
作为宿主机运行的环境,云平台为宿主机提供了各种服务应用,在本发明实施例中步骤101可以获取云平台下发的宿主机内部虚拟机的分组信息。本实施例提供的宿主机内包含至少两个虚拟机分组,每个虚拟机分组中至少包含一个虚拟机。
由于虚拟机的分组信息包括每个虚拟机各自独立的IP地址以及各自所属的分组标记,因此可以通过IP地址将每台虚拟机进行区分,通过分组标记将每个虚拟机所属的分组进行区分。在实际应用过程中,分组信息的记录方式可以有多种,本实施例通过网络拓扑结构表记录虚拟机的IP地址及分组标记。当然也可以通过IP地址及分组标记的映射表,或者网络拓扑结构图来记录虚拟机的分组信息。
数据在虚拟机之间的传送过程中,源虚拟机发送的数据需要通过交换设备识别后才能转发给目标虚拟机。因此,交换设备需要对虚拟机之间的数据迁移进行监测,才能将数据正确的传送到目标虚拟机。数据以数据包的形式在虚拟机之间进行传送,当数据包到达交换设备后,交换设备对数据包进行解析,获取数据包报头字段的信息,由于报头字段中包括数据的源IP地址及目标IP地址,也就是发送该数据的源虚拟机IP地址以及接收该数据的目标虚拟机IP地址,因此交换设备可以根据从数据包报头字段中获取的源虚拟机IP地址及目标虚拟机IP地址监测虚拟机之间的数据迁移方向,从而能够确定具体是哪些IP地址的虚拟机之间进行数据迁移。
虽然任意虚拟机之间都可以进行数据传送,但是由于虚拟机进行了分组,处于不同分组中的虚拟机通常会处理不同的业务,不同分组的虚拟机之间具有较高的数据隔离特性,跨组的虚拟机之间的数据传送很容易传播病毒文件或木马文件,因此对跨组的虚拟机之间传送的数据要有较高的安全性要求。在这种情况下,交换设备不仅需要确定具体是哪些IP地址的虚拟机之间进行数据迁移,同时还要确定这些迁移的数据是否为不同分组的虚拟机之间传送的数据,也就是边界数据,以便后续针对边界数据的安全性进行处理。
在查找边界数据时,还要根据虚拟机的分组信息进行查找。在本实施例中,由于虚拟机的IP地址及分组标记是由网络拓扑结构表记录的,因此交换设备在传送的数据包的报头字段中获取到源虚拟机的IP地址及目标虚拟机的IP地址后,还要从云平台获取的网络拓扑结构表中查找到对应该源虚拟机的IP地址及目标虚拟机的IP地址的分组标记,判断其分组标记是否相同。若查找到的两个分组标记相同,则确定该源虚拟机与目标虚拟机属于同一分组,它们之间迁移的数据不是边界数据,对其安全性不作过高要求;若查找到的两个分组标记不相同,则确定该源虚拟机与目标虚拟机属于不同分组,它们之间迁移的数据为边界数据,对其安全性有较高要求。
上述是针对一台虚拟机向另一台虚拟机传送数据为例进行说明的,当然,若一台虚拟机同时向至少两台虚拟机传送数据时,由于接收数据的多台目标虚拟机中可能有和源虚拟机同组的,也有可能和源虚拟机不同组的,因此需要分别确定迁移到各个目标虚拟机中的数据是否为边界数据,具体方法如上所述,此处不再赘述。
当确定边界数据后,需要对边界数据的安全性进行验证,因此,需要将边界数据牵引到防火墙中进行过滤。在实际应用过程中,若将数据进行过滤之后才向目标虚拟机进行转发,则会造成数据传送的延迟,在数据必须跨组传送的情况下,甚至会对业务处理造成影响。
因此,考虑到数据传送的及时性,需要在对数据进行过滤的过程中同时将数据转发给目标虚拟机,也就是说对数据的过滤和转发互不干扰。为了达到这种效果,本实施例提供了一种实施方式,需要在交换设备确立了边界数据后,对边界数据进行备份获得备份边界数据,将备份边界数据牵引到防火墙中进行过滤,同时对原边界数据进行转发。这种实施方式既能保证边界数据传送的及时性又能对边界数据的安全性进行过滤,在发现边界数据存在安全隐患时及时通知目标虚拟机对该边界数据进行查杀。
上述是对宿主机中具有一台交换设备为例进行说明的,当宿主机中具有多台交换设备时(一台交换设备具有一个防火墙),边界数据经过多台交换设备的过程中并不需要在每台交换设备中都进行备份并牵引到防火墙过滤。因此,在宿主机中具有多台交换设备的场景下,本实施例还提供了一种实施方式,在边界数据被第一台交换设备进行备份后,交换设备将原边界数据进行字段标记,当原边界数据经过其他交换设备时,其他交换设备直接对具有标记的原边界数据进行转发,不对原边界数据进行备份和后续的过滤。
本实施例在交换设备接收到传送的数据后,对确定的边界数据进行备份,将备份边界数据牵引到防火墙进行过滤的同时将原边界数据进行转发,既能保证边界数据传送的及时性又能对边界数据的安全性进行过滤,在发现边界数据存在安全隐患时及时通知目标虚拟机对该边界数据进行查杀。此外,交换设备将边界数据进行备份后,对原边界数据进行字段标记,以便在存在至少两个交换设备的情况下,防止其他交换设备对原边界数据重复进行备份以及备份后的过滤,从而极大的降低重复备份和过滤数据对处理资源的浪费。
进一步的,作为对上述图1所示方法的实现,本发明实施例还提供了一种云平台虚拟化流量的监控装置,该装置通常位于交换设备中,也可以独立于交换设备,但是与交换设备具有数据交互关系。如图2所示,该装置包括:获取单元21、监测单元22、查找单元23及牵引单元24,其中,
获取单元21,用于获取宿主机内部虚拟机的分组信息,宿主机内包含至少两个虚拟机分组,每个虚拟机分组中至少包含一个虚拟机;
监测单元22,用于监测虚拟机之间的数据迁移;
查找单元23,用于根据获取单元21获取的分组信息查找边界数据,边界数据为不同分组中虚拟机之间所迁移的数据;
牵引单元24,用于将查找单元23查找的边界数据牵引到防火墙中进行过滤。
进一步的,获取单元21用于获取云平台下发的分组信息。
进一步的,获取单元21获取的分组信息为网络拓扑结构表,网络拓扑结构表用于记录所有虚拟机的网间协议IP地址及分组标记。
进一步的,监测单元22用于分别获取源虚拟机和目标虚拟机的IP地址。
进一步的,如图3所示,查找单元23包括:
查找模块231,用于根据获取的IP地址,在网络拓扑结构表分别查找对应源虚拟机和目标虚拟机的分组标记;
判断模块232,用于判断查找模块231查找到的两个分组标记不相同时,确定源虚拟机与目标虚拟机之间迁移的数据为边界数据。
进一步的,查找单元23还用于当一个源虚拟机向至少两个目标虚拟机分别迁移相同的数据时,分别确定迁移到各个目标虚拟机中的数据是否为边界数据。
进一步的,牵引单元24包括:
备份模块241,用于对边界数据进行备份,获得备份边界数据;
牵引模块242,用于将备份边界数据牵引到防火墙中进行过滤;
转发模块243,用于对原边界数据进行转发。
进一步的,如图4所示,该装置还包括:
标记单元25,用于在牵引单元24对边界数据进行备份之后,对备份边界数据对应的原边界数据进行字段标记,以便在存在至少两个交换设备的情况下,防止其他交换设备对原边界数据重复进行备份。
本发明实施例提供的云平台虚拟化流量的监控装置,能够监测虚拟机之间的数据迁移,并根据获取的宿主机内部虚拟机的分组信息查找到不同分组中虚拟机之间所迁移的数据,也就是边界数据,并将边界数据牵引到防火墙中进行过滤。与现有技术中由于不同分组或不同部门虚拟机之间具有较高的数据隔离特性,跨组或跨部门虚拟机之间的数据传送很容易传播病毒文件或木马文件的缺点相比,本发明通过对虚拟机之间的数据迁移进行监控,查找出跨组迁移的边界数据,对边界数据进行防火墙过滤,有效保证跨组迁移的数据以及不同分组虚拟机的安全性。
此外,本实施例在交换设备接收到传送的数据后,对确定的边界数据进行备份,将备份边界数据牵引到防火墙进行过滤的同时将原边界数据进行转发,既能保证边界数据传送的及时性又能对边界数据的安全性进行过滤,在发现边界数据存在安全隐患时及时通知目标虚拟机对该边界数据进行查杀。此外,交换设备将边界数据进行备份后,对原边界数据进行字段标记,以便在存在至少两个交换设备的情况下,防止其他交换设备对原边界数据重复进行备份以及备份后的过滤,从而极大的降低重复备份和过滤数据对处理资源的浪费。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
可以理解的是,上述方法及装置中的相关特征可以相互参考。另外,上述实施例中的“第一”、“第二”等是用于区分各实施例,而并不代表各实施例的优劣。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的发明名称(如确定网站内链接等级的装置)中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。