一种分布式微隔离网络的流量牵引方法及系统与流程

文档序号:20947051发布日期:2020-06-02 19:55阅读:180来源:国知局
一种分布式微隔离网络的流量牵引方法及系统与流程

本申请涉及网络安全技术领域,尤其涉及一种分布式微隔离网络的流量牵引方法及系统。



背景技术:

现在利用虚拟化技术构建数据中心越来越普遍了,带来了新的安全问题,在虚拟化网络环境中,大量流量数据通过虚拟交换机转发,不会经过防火墙,使得传统的安全防护措施失效。虚拟机之间的通信流量变得不可控,内部虚拟机的威胁无法被检测,也无法被控制。分布式虚拟环境存在海量的虚拟机,如何动态部署安全防护策略,也是急需要解决的技术问题。

同时,如何在虚拟机与虚拟机之间更方便地迁移数据,也是需要解决的技术问题。

因此,急需一种针对性分布式虚拟环境的安全防护方法和系统。



技术实现要素:

本发明的目的在于提供一种分布式微隔离网络的流量牵引方法及系统,解决现有技术中针对海量虚拟机之间流量数据缺乏控制方法,缺乏动态部署安全防护策略,以及更便捷地迁移虚拟机数据的技术问题。

第一方面,本申请提供一种分布式微隔离网络的流量牵引方法,所述方法包括:

获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

将所述不安全虚拟机的数据进行迁移,该不安全虚拟机所在的微隔离分组选举一个临时主控点,所述临时主控点为作为一个控制平面的虚拟机,该控制平面的虚拟机暂时不处理业务;

由所述临时主控点向临近微隔离分组的其他虚拟机广播迁移消息,并根据其他虚拟机的业务关联程度、负载情况选择出一个第二虚拟机,将所述不安全虚拟机的数据迁移到所述第二虚拟机;

其中包括所述临时主控点向核心虚拟交换设备发送迁移请求消息,所述迁移请求消息中携带有控制平面指示命令,所述核心虚拟交换设备根据所述控制平面指示命令,直接将所述迁移请求消息中包含的迁移消息透传到所述核心虚拟交换设备下的其他微隔离分组的控制平面,由其他微隔离分组的控制平面选择出一个所述第二虚拟机;

所述不安全虚拟机通过所述核心虚拟交换设备的业务平面,将迁移数据传输到所述第二虚拟机;

所述临时主控点向所在分组广播迁移消息,包括将所述不安全虚拟机剔除出微隔离分组的指示,分组内其他虚拟机接收到所述广播迁移消息后,能够根据所述指示,修改流表项内容;

所述临时主控点向所述不安全虚拟机发送响应消息,指示所述不安全虚拟机完成数据迁移,并删除所述不安全虚拟机上的安全防护策略,数据迁移完成后,所述临时主控点向微隔离分组内所有虚拟机广播临时主控点身份结束消息;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略。

结合第一方面,在第一方面第一种可能的实现方式中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

结合第一方面,在第一方面第二种可能的实现方式中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

结合第一方面,在第一方面第三种可能的实现方式中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

第二方面,本申请提供一种分布式微隔离网络的流量牵引系统,所述系统包括:获取单元、分组单元和策略部署单元;

所述获取单元,用于获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

所述分组单元,用于根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

所述策略部署单元,用于验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

将所述不安全虚拟机的数据进行迁移,该不安全虚拟机所在的微隔离分组选举一个临时主控点,所述临时主控点为作为一个控制平面的虚拟机,该控制平面的虚拟机暂时不处理业务;

由所述临时主控点向临近微隔离分组的其他虚拟机广播迁移消息,并根据其他虚拟机的业务关联程度、负载情况选择出一个第二虚拟机,将所述不安全虚拟机的数据迁移到所述第二虚拟机;

其中包括所述临时主控点向核心虚拟交换设备发送迁移请求消息,所述迁移请求消息中携带有控制平面指示命令,所述核心虚拟交换设备根据所述控制平面指示命令,直接将所述迁移请求消息中包含的迁移消息透传到所述核心虚拟交换设备下的其他微隔离分组的控制平面,由其他微隔离分组的控制平面选择出一个所述第二虚拟机;

所述不安全虚拟机通过所述核心虚拟交换设备的业务平面,将迁移数据传输到所述第二虚拟机;

所述临时主控点向所在分组广播迁移消息,包括将所述不安全虚拟机剔除出微隔离分组的指示,分组内其他虚拟机接收到所述广播迁移消息后,能够根据所述指示,修改流表项内容;

所述临时主控点向所述不安全虚拟机发送响应消息,指示所述不安全虚拟机完成数据迁移,并删除所述不安全虚拟机上的安全防护策略,数据迁移完成后,所述临时主控点向微隔离分组内所有虚拟机广播临时主控点身份结束消息;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略。

结合第二方面,在第二方面第一种可能的实现方式中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

结合第二方面,在第二方面第二种可能的实现方式中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

结合第二方面,在第二方面第三种可能的实现方式中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

本发明提供一种分布式微隔离网络的流量牵引方法及系统,通过使用openflow协议收集、分析提取流量数据中的特征向量和流表项,获取分布式虚拟环境中虚拟机之间的通信关系,使用聚类处理对虚拟机进行微隔离分组,验证所述通信关系中的虚拟机之间是否存在网络攻击行为,根据验证结果对虚拟机的微隔离分组动态部署安全防护策略,不安全虚拟机所在的微隔离分组选举一个临时主控点,所述临时主控点为作为一个控制平面的虚拟机,直接将迁移消息透传到其他微隔离分组的控制平面,从而实现更便捷地迁移虚拟机数据。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明分布式微隔离网络的流量牵引方法的流程图;

图2为本发明分布式微隔离网络的流量牵引系统的架构图。

具体实施方式

下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。

图1为本申请提供的分布式微隔离网络的流量牵引方法的流程图,所述方法包括:

获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

将所述不安全虚拟机的数据进行迁移,该不安全虚拟机所在的微隔离分组选举一个临时主控点,所述临时主控点为作为一个控制平面的虚拟机,该控制平面的虚拟机暂时不处理业务;

由所述临时主控点向临近微隔离分组的其他虚拟机广播迁移消息,并根据其他虚拟机的业务关联程度、负载情况选择出一个第二虚拟机,将所述不安全虚拟机的数据迁移到所述第二虚拟机;

其中包括所述临时主控点向核心虚拟交换设备发送迁移请求消息,所述迁移请求消息中携带有控制平面指示命令,所述核心虚拟交换设备根据所述控制平面指示命令,直接将所述迁移请求消息中包含的迁移消息透传到所述核心虚拟交换设备下的其他微隔离分组的控制平面,由其他微隔离分组的控制平面选择出一个所述第二虚拟机;

所述不安全虚拟机通过所述核心虚拟交换设备的业务平面,将迁移数据传输到所述第二虚拟机;

所述临时主控点向所在分组广播迁移消息,包括将所述不安全虚拟机剔除出微隔离分组的指示,分组内其他虚拟机接收到所述广播迁移消息后,能够根据所述指示,修改流表项内容;

所述临时主控点向所述不安全虚拟机发送响应消息,指示所述不安全虚拟机完成数据迁移,并删除所述不安全虚拟机上的安全防护策略,数据迁移完成后,所述临时主控点向微隔离分组内所有虚拟机广播临时主控点身份结束消息;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略。

在一些优选实施例中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

在一些优选实施例中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

在一些优选实施例中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

图2为本申请提供的分布式微隔离网络的流量牵引系统的架构图,所述系统包括:获取单元、分组单元和策略部署单元;

所述获取单元,用于获取分布式虚拟网络中的流量数据,使用openflow协议收集流量统计信息,分析提取流量数据中的特征向量和流表项,根据流表项的关联关系,得到所述分布式虚拟网络中各个虚拟机的通信关系;

所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括获取所述分布式虚拟网络的所有节点标识,将所述节点标识与虚拟机标识组成新的唯一标识字符串,根据该唯一标识字符串和流表项的前后关联关系,生成所述分布式虚拟网络中各个虚拟机的通信关系;

所述分组单元,用于根据生成的所述各个虚拟机的通信关系、业务数据的关联程度、各个虚拟机的相邻程度进行聚类处理,将所述分布式虚拟网络中所有虚拟机分成若干个微隔离分组;

所述聚类处理还可以包括根据各个虚拟机资源的利用情况、或者业务链中是否存在不常用使用到的通信链路;

所述策略部署单元,用于验证所述通信关系中的虚拟机之间是否存在网络攻击行为,若存在则认定被攻击的虚拟机为不安全虚拟机,升级其所在微隔离分组的安全防护策略,并标记所述不安全虚拟机,暂停所述不安全虚拟机与其他虚拟机的通信;若不存在则认定被验证的虚拟机为安全虚拟机;

将所述不安全虚拟机的数据进行迁移,该不安全虚拟机所在的微隔离分组选举一个临时主控点,所述临时主控点为作为一个控制平面的虚拟机,该控制平面的虚拟机暂时不处理业务;

由所述临时主控点向临近微隔离分组的其他虚拟机广播迁移消息,并根据其他虚拟机的业务关联程度、负载情况选择出一个第二虚拟机,将所述不安全虚拟机的数据迁移到所述第二虚拟机;

其中包括所述临时主控点向核心虚拟交换设备发送迁移请求消息,所述迁移请求消息中携带有控制平面指示命令,所述核心虚拟交换设备根据所述控制平面指示命令,直接将所述迁移请求消息中包含的迁移消息透传到所述核心虚拟交换设备下的其他微隔离分组的控制平面,由其他微隔离分组的控制平面选择出一个所述第二虚拟机;

所述不安全虚拟机通过所述核心虚拟交换设备的业务平面,将迁移数据传输到所述第二虚拟机;

所述临时主控点向所在分组广播迁移消息,包括将所述不安全虚拟机剔除出微隔离分组的指示,分组内其他虚拟机接收到所述广播迁移消息后,能够根据所述指示,修改流表项内容;

所述临时主控点向所述不安全虚拟机发送响应消息,指示所述不安全虚拟机完成数据迁移,并删除所述不安全虚拟机上的安全防护策略,数据迁移完成后,所述临时主控点向微隔离分组内所有虚拟机广播临时主控点身份结束消息;

当一个微隔离分组的所有虚拟机都为安全虚拟机时,则为该微隔离分组下发普通安全防护策略,允许流量数据在分组内虚拟机之间正常传输,允许分组内虚拟机与其他分组的虚拟机交换流量数据;

所述升级其所在微隔离分组的安全防护策略,包括暂停分组内不安全虚拟机的通信、禁止分组内所有虚拟机的流量数据传输、禁止分组内虚拟机与其他分组的虚拟机交换流量数据;

定期反复验证所述不安全虚拟机的通信关系是否仍然存在网络攻击行为,若该网络攻击行为消除,则将所述不安全虚拟机标记为安全虚拟机,调整其所在微隔离分组的安全防护策略。

在一些优选实施例中,所述得到所述分布式虚拟网络中各个虚拟机的通信关系之前,还包括对流表项的预处理,删除虚拟机与外部服务器或网关之间的通信链路,删除不相关的字段,将源ip地址和目的ip地址作为匹配条件。

在一些优选实施例中,所述各个虚拟机的相邻程度包括判断虚拟机是否属于同一个集群或同一个节点。

在一些优选实施例中,所述聚类处理使用的聚类算法包括k-means算法、均值漂移聚类算法、基于密度的聚类算法、或凝聚层次聚类算法。

具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可以存储有程序,该程序执行时可包括本发明各个实施例中的部分或全部步骤。所述的存储介质可以为磁碟、光盘、只读存储记忆体(简称:rom)或随机存储记忆体(简称:ram)等。

本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。

本说明书各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。

以上所述的本发明实施方式并不构成对本发明保护范围的限定。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1