一种报文控制方法和装置与流程

文档序号:16408691发布日期:2018-12-25 20:37阅读:193来源:国知局
一种报文控制方法和装置与流程
本发明涉及通信
技术领域
,尤其涉及一种报文控制方法和装置。
背景技术
:云计算是指基于互联网等网络,通过虚拟化方式共享IT资源的新型计算模式。其中,云计算的核心思想是:通过网络统一管理和调度计算资源、存储资源、网络资源、软件资源等,实现资源整合与配置优化,以服务的方式满足不同用户随时获取并扩展、按需使用并付费、最大限度地降低成本等各类需求。随着云计算的快速发展,云网络的安全要求也越来越高,如图1所示,为云网络的组网示意图。安全节点为一个真实的物理设备,如防火墙设备等。通过使用该防火墙设备,可以对发送给虚拟机的报文进行安全控制,并可以对来自虚拟机的报文进行安全控制,从而通过防火墙设备实现云网络的安全。随着云网络规模的不断扩大,虚拟机的数量越来越多,且经过防火墙设备的报文也越来越多,由防火墙设备对所有报文进行安全控制时,对防火墙设备的性能要求很高,防火墙设备容易出现性能瓶颈。若防火墙设备发生故障,则无法及时对报文进行处理,影响用户的正常业务,无法保证云网络的安全。技术实现要素:本发明提供一种报文控制方法,应用于包括安全管理SM节点、网络安全网关SC节点、主机安全代理SA节点的系统中,所述SA节点安装在虚拟机上,每个虚拟机安装一个SA节点;其中,所述SC节点用于对全网非主机个性差异的安全策略进行控制,所述SA节点用于对主机个性化策略进行控制,所述方法应用在SM节点上,所述方法包括:获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置;将所述安全控制策略发送给安装在所述虚拟机上的SA节点,以使所述SA节点利用所述安全控制策略对自身接收到的报文进行控制;将所述安全业务配置发送给所述SC节点,以使所述SC节点利用所述安全业务配置对自身接收到的报文进行控制。所述获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置的过程,具体包括:获取在所述SM节点上配置的所有安全配置;针对每个安全配置,若所述安全配置是针对虚拟机的个性化的安全配置,则将所述安全配置确定为针对所述虚拟机的安全控制策略;若所述安全配置是针对全网非主机个性差异的安全配置,则将所述安全配置确定为针对SC节点的安全业务配置。所述方法进一步包括:监测所述SC节点的性能数据;若所述性能数据大于预设第一阈值,则创建新的SC节点;若所述性能数据小于预设第二阈值,则释放已有的SC节点;其中,所述预设第一阈值大于所述预设第二阈值;和/或,监测所述SA节点上下发的安全控制策略的数量,若所述数量大于预设第三阈值,则从所述SA节点上选取部分安全控制策略,从所述SA节点上删除选取的安全控制策略,并将选取的安全控制策略发送给所述SC节点,以使所述SC节点利用所述选取的安全控制策略对自身接收到的报文进行控制。所述方法进一步包括:在初始阶段,获取SA节点的第一数量,利用所述第一数量、SA数量与SC数量的比例关系,确定SC节点的第二数量,并创建所述第二数量个SC节点;在运行阶段,当SA节点的数量增加时,利用增加后的第三数量和所述比例关系,确定SC节点的第四数量,若所述第四数量大于SC节点的当前数量,则创建所述第四数量减去所述当前数量个SC节点;在运行阶段,当SA节点的数量减少时,利用减少后的第五数量和所述比例关系,确定SC节点的第六数量,若所述第六数量小于SC节点的当前数量,则释放所述当前数量减去所述第六数量个SC节点。所述方法进一步包括:当虚拟机的IP地址发生变化时,接收来自安装在所述虚拟机上的SA节点的通知消息,并从所述通知消息中解析出变化前的IP地址和变化后的IP地址;若查询到包含所述变化前的IP地址的安全控制策略,则使用所述变化后的IP地址替换该安全控制策略中的所述变化前的IP地址,并将修改后的安全控制策略发送给安装在所述虚拟机上的SA节点;若查询到包含所述变化前的IP地址的安全业务配置,则使用所述变化后的IP地址替换该安全业务配置中的所述变化前的IP地址,并将修改后的安全业务配置发送给所述多个SC节点。所述方法进一步包括:针对每个SA节点,周期性向所述SA节点发送检测消息,并接收所述SA节点返回的响应消息;若在预设时间内未接收到响应消息,则检测到所述SA节点发生异常,并将与所述SA节点关联的安全控制策略发送给所述SC节点;或,当虚拟机需要被回收时,在虚拟机被回收之前,接收安装在所述虚拟机上的SA节点的回收消息,对与所述SA节点关联的安全控制策略进行失效处理。本发明提供一种报文控制装置,应用于包括安全管理SM节点、网络安全网关SC节点、主机安全代理SA节点的系统中,所述SA节点安装在虚拟机上,每个虚拟机安装一个SA节点;其中,所述SC节点用于对全网非主机个性差异的安全策略进行控制,所述SA节点用于对主机个性化策略进行控制,所述装置应用在SM节点上,所述装置包括:获取模块,用于获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置;第一发送模块,用于将所述安全控制策略发送给安装在所述虚拟机上的SA节点,以使SA节点利用所述安全控制策略对自身接收到的报文进行控制;第二发送模块,用于将所述安全业务配置发送给所述SC节点,以使所述SC节点利用所述安全业务配置对自身接收到的报文进行控制。所述获取模块,具体用于在获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置的过程中,获取在所述SM节点上配置的所有安全配置;针对每个安全配置,若所述安全配置是针对虚拟机的个性化的安全配置,则将所述安全配置确定为针对所述虚拟机的安全控制策略;若所述安全配置是针对全网非主机个性差异的安全配置,则将所述安全配置确定为针对SC节点的安全业务配置。还包括:处理模块,用于监测所述SC节点的性能数据;若所述性能数据大于预设第一阈值,则创建新的SC节点;若所述性能数据小于预设第二阈值,则释放已有的SC节点;其中,所述预设第一阈值大于所述预设第二阈值;和/或,监测所述SA节点上下发的安全控制策略的数量,若所述数量大于预设第三阈值,则从所述SA节点上选取部分安全控制策略,从所述SA节点上删除选取的安全控制策略,并将选取的安全控制策略发送给所述SC节点,以使所述SC节点利用所述选取的安全控制策略对自身接收到的报文进行控制。还包括:处理模块,用于在初始阶段,获取SA节点的第一数量,利用所述第一数量、SA数量与SC数量的比例关系,确定SC节点的第二数量,创建第二数量个SC节点;在运行阶段,当SA节点的数量增加时,利用增加后的第三数量和所述比例关系,确定SC节点的第四数量,若所述第四数量大于SC节点的当前数量,则创建所述第四数量减去所述当前数量个SC节点;在运行阶段,当SA节点的数量减少时,利用减少后的第五数量和所述比例关系,确定SC节点的第六数量,若所述第六数量小于SC节点的当前数量,则释放所述当前数量减去所述第六数量个SC节点。还包括:接收模块,用于当虚拟机的IP地址发生变化时,接收来自安装在所述虚拟机上的SA节点的通知消息,并从所述通知消息中解析出变化前的IP地址和变化后的IP地址;所述第一发送模块,还用于当查询到包含所述变化前的IP地址的安全控制策略时,则使用所述变化后的IP地址替换该安全控制策略中的所述变化前的IP地址,并将修改后的安全控制策略发送给安装在所述虚拟机上的SA节点;所述第二发送模块,还用于当查询到包含所述变化前的IP地址的安全业务配置时,则使用所述变化后的IP地址替换该安全业务配置中的所述变化前的IP地址,并将修改后的安全业务配置发送给所述多个SC节点。还包括:检测模块,用于针对每个SA节点,周期性向所述SA节点发送检测消息,并接收所述SA节点返回的响应消息;若在预设时间内未接收到响应消息,则检测到所述SA节点发生异常,并将与所述SA节点关联的安全控制策略发送给所述SC节点;或者,当虚拟机需要被回收时,在虚拟机被回收之前,接收安装在所述虚拟机上的SA节点的回收消息,并对与所述SA节点关联的安全控制策略进行失效处理。基于上述技术方案,本发明实施例中,可以在云网络中部署多个SC节点,由每个SC节点利用安全业务配置对本SC节点接收到的报文进行控制,从而保证云网络的安全。而且,由于部署多个SC节点,可以在多个SC节点上实现负载分担,不用一个SC节点承担大量报文。而且,当一个SC节点发生故障时,还可以由其它SC节点对报文进行处理,保证用户的正常业务。而且,可以通过虚拟机实现SC节点,使得SC节点可以灵活增加或者删除,提高业务部署的灵活性,以实现SC节点的弹性扩展能力。可以在每个虚拟机上部署一个SA节点,由SA节点利用安全控制策略对本SA节点接收到的报文进行控制。由于SA节点接收到的报文都是针对虚拟机的,因此,可以由每个SA节点对所在虚拟机的报文进行控制,从而可以将控制过程分配到各个虚拟机上进行,保证云网络的安全。由于是将安全控制策略发送给安装在虚拟机上的SA节点,将安全业务配置发送给SC节点,从而不用SC节点利用安全控制策略对接收到的报文进行控制,即不用SC节点对每个虚拟机单独进行控制,只需要控制针对所有虚拟机的安全业务配置,从而进一步减少SC节点的处理工作量,合理利用SC节点的资源。而且,通过SC节点和SA节点的组合,可以实现完整的安全网关功能,当SA节点出现异常时,还可以将SA节点的安全控制策略转移到SC节点上进行处理,从而对安全控制策略进行备份,避免安全控制策略失效。附图说明为了更加清楚地说明本发明实施例或者现有技术中的技术方案,下面将对本发明实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。图1是现有技术中的云网络的组网示意图;图2和图3是本发明一种实施方式中的云网络的组网示意图;图4是本发明一种实施方式中的报文控制方法的流程图;图5是本发明一种实施方式中的安全控制策略/安全业务配置下发流程;图6是本发明一种实施方式中的安全节点变更的业务流程;图7是本发明一种实施方式中的SM节点的硬件结构图;图8是本发明一种实施方式中的报文控制装置的结构图。具体实施方式在本发明使用的术语仅仅是出于描述特定实施例的目的,而非限制本发明。本发明和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本发明实施例提出一种报文控制方法,该方法可以应用于包括SM(SecurityManage,安全管理)节点、SC(SecurityControl,安全控制)节点、SA(SecurityAgent,安全代理)节点的系统(如云网络)中。其中,SA节点可以安装在虚拟机上,每个虚拟机上可以安装一个SA节点,安装了SA节点的虚拟机是指需要进行业务处理的虚拟机,该虚拟机会发送报文,也可能接收报文。在一个例子中,SM节点可以为一个独立的设备,SM节点也可以作为一个模块安装在已有的设备上,这个设备可以是真实的物理设备,也可以是由虚拟机等实现的逻辑设备。SC节点是网络安全网关节点,SC节点用于对全网非主机个性差异的安全策略进行控制。SC节点可以为一个独立的设备,SC节点也可以作为一个模块安装在已有的设备上,这个设备可以是真实的物理设备,也可以是由虚拟机等实现的逻辑设备。SA节点是主机安全代理节点,SA节点用于对主机个性化策略进行控制。SA节点作为一个模块安装在已有的虚拟机上。在一个例子中,SC节点和SA节点的组合可以实现完整的安全网关功能,并且当SA节点出现异常时,还可以将SA节点的安全控制策略转移到SC节点上进行处理,从而对安全控制策略进行备份,避免安全控制策略失效。以图2为本发明实施例的应用场景示意图,核心交换机与SM节点连接,核心交换机与每个物理服务器连接,核心交换机与SC节点连接。在一个例子中,还可以在云网络中部署两个负载均衡设备,如图3所示,负载均衡设备1部署在SC节点与Internet之间,负载均衡设备2部署在SC节点与核心交换机之间。在物理服务器上配置有虚拟机和虚拟交换机,且每个虚拟机上安装一个SA节点,该SA节点与虚拟机的虚机网卡连接,并用于对虚机网卡发出的报文进行控制,对发送给虚机网卡的报文进行控制。SC节点部署在云网络中,并用于对云网络发出的报文进行控制,对发送给云网络的报文进行控制。SM节点用于管理所有的SA节点和所有的SC节点;向SA节点发送安全控制策略,以使SA节点利用该安全控制策略对虚机网卡发出的报文进行控制,对发送给虚机网卡的报文进行控制;向SC节点发送安全业务配置,以使SC节点利用该安全业务配置对云网络发出的报文进行控制,对发送给云网络的报文进行控制。在上述应用场景下,参见图4所示,该报文控制方法可以包括以下步骤:步骤401,SM节点获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置。其中,该安全控制策略和安全业务配置均用于对报文进行控制。步骤402,SM节点将该安全控制策略发送给安装在该虚拟机上的SA节点,以使该SA节点利用该安全控制策略对自身接收到的报文进行控制。步骤403,SM节点将该安全业务配置发送给SC节点,以使该SC节点利用该安全业务配置对自身接收到的报文进行控制。其中,“SM节点将该安全控制策略发送给安装在该虚拟机上的SA节点”和“SM节点将该安全业务配置发送给SC节点”之间,并没有先后顺序关系,可以先执行“SM节点将该安全控制策略发送给安装在该虚拟机上的SA节点”,后执行“SM节点将该安全业务配置发送给SC节点”,也可以先执行“SM节点将该安全业务配置发送给SC节点”,后执行“SM节点将该安全控制策略发送给安装在该虚拟机上的SA节点”,本发明实施例中对此顺序不做限制。针对步骤401,在一个例子中,SM节点获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置的过程,具体可以包括但不限于如下方式:SM节点获取在本SM节点上配置的所有安全配置。针对所有安全配置中的每个安全配置,若该安全配置是针对虚拟机的个性化的安全配置,则SM节点可以将该安全配置确定为针对该虚拟机的安全控制策略。若该安全配置是针对全网非主机个性差异的安全配置(即该安全配置不是针对虚拟机的个性化的安全配置),则SM节点可以将该安全配置确定为针对SC节点的安全业务配置。在一个例子中,可以在SM节点上配置大量安全配置,SM节点可以将这些安全配置分配到SA节点和SC节点上,并确保同一条安全配置只会分配到SA节点或者SC节点上,而不会同时分配到SA节点和SC节点上,从而避免报文在SA节点和SC节点上,使用同一个安全配置进行两次处理。基于此,则安全配置的分配策略可以为:若安全配置是针对虚拟机的安全配置,则SM节点将该安全配置分配给安装在该虚拟机上的SA节点,此时该安全配置为针对该虚拟机的安全控制策略;若安全配置不是针对虚拟机的安全配置,则SM节点将该安全配置分配给SC节点,此时该安全配置为针对SC节点的安全业务配置。在一个例子中,该安全控制策略可以是针对一个虚拟机的安全配置,例如,针对10.1.1.1的虚拟机,只处理HTTP(HyperTextTransferProtocol,超文本传输协议)报文,针对10.1.1.2的虚拟机,只处理FTP(FileTransferProtocol,文件传输协议)报文等。该安全业务配置可以是针对所有虚拟机的安全配置,如NAT(NetworkAddressTranslation,网络地址转换)、VPN(VirtualPrivateNetwork,虚拟专用网络)等。例如,针对网段10.1.1.0/24的报文,需要进行如下NAT转换:将源IP地址修改为211.102.103.104。又例如,针对网段10.1.1.0/24的报文,需要进行VPN处理,具体处理过程不再赘述。当然,上述只是给出了安全控制策略和安全业务配置的几个示例,实际应用中并不局限于此。针对步骤402,SM节点在得到安全控制策略后,可以将该安全控制策略发送给安装在虚拟机上的SA节点。SA节点接收安全控制策略,并利用该安全控制策略对自身收到的报文进行控制,即对虚机网卡发出的报文进行控制,并对发送给虚机网卡的报文进行控制。例如,丢弃虚机网卡发出的报文或者转发虚机网卡发出的报文,丢弃发送给虚机网卡的报文或者将报文转发给虚机网卡。例如,SM节点将只处理HTTP报文的安全控制策略发送给安装在虚拟机(即IP地址为10.1.1.1的虚拟机)上的SA节点。该SA节点在接收到该安全控制策略后,基于此安全控制策略,该SA节点在接收到虚机网卡发出的报文后,若该报文是HTTP报文,则允许发送该报文,若该报文不是HTTP报文,则丢弃该报文。同理,该SA节点在接收到发送给虚机网卡的报文后,若该报文是HTTP报文,则将该报文转发给虚机网卡,若该报文不是HTTP报文,则丢弃该报文。针对步骤403,SM节点在得到安全业务配置后,可以将该安全业务配置发送给每个SC节点。SC节点接收安全业务配置,并利用该安全业务配置对自身接收到的报文进行控制,即对云网络发出的报文进行控制,并对发送给云网络的报文进行控制。例如,SC节点可以对云网络发出的报文进行NAT处理或者VPN处理,可以对发送给云网络的报文进行NAT处理或者VPN处理。例如,SM节点可以将安全业务配置(如NAT策略或者VPN策略等)发送给每个SC节点。SC节点在接收到安全业务配置后,在接收到来自虚拟机的报文后,可以利用NAT策略或者VPN策略对报文进行NAT处理或者VPN处理,并将NAT处理或者VPN处理后的报文发送到Internet。同理,SC节点在接收到来自Internet的报文后,可以利用NAT策略或者VPN策略对报文进行NAT处理或者VPN处理,并将NAT处理或者VPN处理后的报文发送到虚拟机。在一个例子中,针对初始配置的安全配置,若该安全配置是安全控制策略,则SM节点可以将初始配置的安全控制策略发送给SA节点。若该安全配置是安全业务配置,则SM节点可以将初始配置的安全业务配置发送给SC节点。在后续过程中,若管理员改变安全配置,若管理员改变的安全配置是安全控制策略,则SM节点可以将修改后的安全控制策略发送给SA节点。若管理员改变的安全配置是安全业务配置,则SM节点可以将修改后的安全业务配置发送给SC节点。本发明实施例中,对报文进行安全控制的节点,包括分布在所有虚拟机上的SA节点以及在云网络中的SC节点,即采用分布式架构对报文进行安全控制。在一个例子中,SC节点的数量可以跟随SA节点数量的变化而动态调整。为了使SC节点的数量跟随SA节点数量的变化而动态调整,在初始阶段,SM节点可以获取SA节点的第一数量,并利用第一数量、SA数量与SC数量的比例关系,确定SC节点的第二数量,并创建第二数量个SC节点。在运行阶段,当SA节点的数量增加时,则SM节点可以利用增加后的第三数量和该比例关系,确定SC节点的第四数量,若第四数量大于SC节点的当前数量,则创建第四数量减去当前数量个SC节点。在运行阶段,当SA节点的数量减少时,则SM节点可以利用减少后的第五数量和该比例关系,确定SC节点的第六数量,若第六数量小于SC节点的当前数量,则释放当前数量减去第六数量个SC节点。在一个例子中,可以在SM节点上预先配置SA数量与SC数量的比例关系,这个比例关系可以根据实际需要进行配置,如管理员根据业务流量情况进行配置。例如,该比例关系可以为10:1,即每10个SA节点需要有1个SC节点。基于此比例关系,在初始阶段,则SC节点的第二数量可以为对(第一数量/比例关系)向上取整。在运行阶段,SC节点的第四数量可以为对(第三数量/比例关系)向上取整,SC节点的第六数量可以为对(第五数量/比例关系)向上取整。例如,当SA节点的第一数量为15时,则SC节点的第二数量可以为2。在一个例子中,在初始阶段,SA节点跟随虚拟机的镜像一同安装并启动。SA节点在启动后,主动发送广播消息,以寻找SM节点。SM节点在接收到广播消息后,可以从该广播消息中解析出SA节点的唯一标识、以及该SA节点所在虚拟机的IP地址,并维护一个SA节点列表,其中,该SA节点列表中记录虚拟机的IP地址、SA节点的标识,如表1所示,为SA节点列表的一个示例。表1SA节点的标识虚拟机的IP地址SA节点110.1.1.1SA节点210.1.1.2SA节点310.1.1.3SA节点410.1.1.4在经过一段时间之后,SM节点从SA节点列表中统计出SA节点的数量,即第一数量,并利用第一数量、SA数量与SC数量的比例关系,确定SC节点的第二数量,并创建第二数量个SC节点。在创建SC节点时,SM节点可以将第二数量发送给云管理平台,由云管理平台生成独立的虚拟机,并在该虚拟机上加载SC节点的镜像,从而创建出SC节点。其中,用于创建SC节点的虚拟机,可以是专门实现SC节点功能的虚拟机,而不是进行业务处理的虚拟机。在后续的运行阶段,如果SA节点的数量增加,则会在SA节点列表中记录新的虚拟机的IP地址、SA节点的标识。SM节点可以从SA节点列表中统计出SA节点的第三数量,并根据第三数量、SA数量与SC数量的比例关系,确定是否新增SC节点。若确定的第四数量与SC节点的当前数量相同,则不需要新增SC节点。若确定的第四数量大于SC节点的当前数量,则需要新增SC节点。SM节点可以将(第四数量-当前数量)的值发送给云管理平台,由云管理平台生成独立的虚拟机,并在虚拟机上加载SC节点的镜像,从而创建出新SC节点。在后续的运行阶段,如果SA节点的数量减少,则会从SA节点列表中删除虚拟机的IP地址、SA节点的标识。SM节点可以从SA节点列表中统计出SA节点的第五数量,并根据第五数量、SA数量与SC数量的比例关系,确定是否释放SC节点。若确定的第六数量与SC节点的当前数量相同,则不需要释放SC节点。若第六数量小于SC节点的当前数量,则需要释放SC节点。SM节点可以将(当前数量-第六数量)的值发送给云管理平台,云管理平台释放SC节点。由于SC节点的数量可以跟随SA节点数量的变化而动态调整,因此,上述组网可以实现安全节点的弹性扩展能力,可以将安全节点(即SA节点和SC节点)虚拟化,实现安全节点资源与实际业务的弹性联动,即当业务量提高或者降低(虚拟机数量增加时,则说明业务量提高,虚拟机数量减少时,则说明业务量降低)时,安全节点的数量可以自动增加或者减少,从而适应业务量的需求,可以跟随虚拟机的数量进行弹性扩展。综上所述,当虚拟机的数量增加,访问虚拟机的业务流量也会同步增加,且对这些业务流量进行安全防护的安全节点也同步自适应增加。当虚拟机的数量减少,访问虚拟机的业务流量也会同步减少,且对这些业务流量进行安全防护的安全节点也同步自适应减少。在上述过程中,给出了SC节点的数量跟随SA节点数量的变化而动态调整的一个示例,在实际应用中,还可以采用其它方式调整SC节点的数量。例如,SM节点可以周期性的监测SC节点的性能数据(如CPU使用率、内存使用率等)。若该性能数据大于预设第一阈值(如90%),则可以创建新的SC节点,创建的新SC节点的数量可以任意选择,对此不做限制,如创建一个新的SC节点。若该性能数据小于预设第二阈值(如30%),则可以释放已有的SC节点,释放的SC节点的数量可以任意选择,对此不做限制,如释放一个已有的SC节点。其中,预设第一阈值和预设第二阈值均可以根据实际经验进行配置,且预设第一阈值大于预设第二阈值,如预设第一阈值为90%,预设第二阈值为30%。在一个例子中,SM节点还可以监测SA节点上下发的安全控制策略的数量,若该数量大于预设第三阈值(如10个),则可以从SA节点上选取部分安全控制策略,并从SA节点上删除选取的安全控制策略,并将选取的安全控制策略发送给SC节点,以使SC节点利用这些选取的安全控制策略对自身接收到的报文进行控制。这样,当SA节点上的安全控制策略的数量过多时,可以迁移一部分安全控制策略到SC节点,从而保证SA节点的处理性能,避免SA节点上存在大量的安全控制策略,导致SA节点频繁的利用大量安全控制策略对报文进行控制,从而避免SA节点占用虚拟机的大量处理资源,避免影响虚拟机的正常使用。其中,针对从SA节点上选取部分安全控制策略的过程,选取的安全控制策略的数量,可以根据实际需要任意选择,例如,选取5个、6个等。在一个例子中,可以选取(SA节点上的安全控制策略的数量-预设第三阈值)个安全控制策略进行迁移,以使SA节点上剩余预设第三阈值个安全控制策略,而SA节点在利用预设第三阈值个安全控制策略对自身接收到的报文进行控制时,不会对虚拟机的正常使用造成影响,合理利用虚拟机的处理资源。在一个例子中,由于云网络中包含多个SC节点,各SC节点用于实现相同的功能,因此可以在多个SC节点之间实现负载分担。为了保证针对同一数据流的多个报文,被同一个SC节点进行处理,则如图3所示,可以在SC节点与Internet之间部署负载均衡设备1,在SC节点与核心交换机之间部署负载均衡设备2。基于此,假设负载均衡设备1接收到来自Internet的报文1,基于负载分担策略,可以将报文1发送给SC节点1,并记录报文1的五元组信息(如源IP地址、目的IP地址、源端口、目的端口、协议类型等)与SC节点1的映射关系。针对同一数据流的报文2、报文3等,负载均衡设备1在接收到这些报文之后,可以基于该报文的五元组信息查询上述映射关系,得到该五元组信息对应于SC节点1,并将这些报文发送给SC节点1。此外,负载均衡设备2在接收到报文1后,记录报文1的五元组信息与SC节点1的映射关系。这样,负载均衡设备2在接收到针对报文1、报文2、报文3等报文的响应报文后,可以基于该响应报文的五元组信息查询上述映射关系,得到该五元组信息对应于SC节点1,并将这些响应报文发送给SC节点1,从而保证响应报文和原报文是通过同一个SC节点进行处理。本发明实施例中,SA节点还可以实时监控虚拟机的IP地址是否发生变化,如果虚拟机的IP地址发生变化,如管理员修改了虚拟机的IP地址,则SA节点还可以向SM节点发送通知消息,该通知消息中携带变化前的IP地址和变化后的IP地址。基于此,当虚拟机的IP地址发生变化时,SM节点可以接收来自安装在该虚拟机上的SA节点的通知消息,并从该通知消息中解析出变化前的IP地址和变化后的IP地址。进一步的,若查询到包含变化前的IP地址的安全控制策略,则使用变化后的IP地址替换该安全控制策略中的变化前的IP地址,并将修改后的安全控制策略发送给安装在该虚拟机上的SA节点。若查询到包含变化前的IP地址的安全业务配置,则使用变化后的IP地址替换该安全业务配置中的变化前的IP地址,将修改后的安全业务配置发送给多个SC节点。例如,如果管理员将虚拟机的IP地址10.1.1.1修改为10.1.1.100,则该虚拟机上的SA节点向SM节点发送通知消息,该通知消息中携带变化前的IP地址10.1.1.1和变化后的IP地址10.1.1.100。SM节点在接收到该通知消息之后,从该通知消息中解析出变化前的IP地址10.1.1.1和变化后的IP地址10.1.1.100。由于本地存在针对10.1.1.1的虚拟机的安全控制策略,即只处理HTTP报文,因此,SM节点使用变化后的IP地址替换该安全控制策略中的变化前的IP地址,即该安全控制策略被修改为针对10.1.1.100的虚拟机,只处理HTTP报文,并将修改后的安全控制策略发送给IP地址为10.1.1.100的虚拟机上的SA节点。本发明实施例中,针对每个SA节点,SM节点可以周期性向该SA节点发送检测消息,并接收该SA节点返回的响应消息;若在预设时间内未接收到该响应消息,则检测到该SA节点发生异常,并将与该SA节点关联的安全控制策略发送给SC节点。或者,当虚拟机需要被回收时,在该虚拟机被回收之前,安装在该虚拟机上的SA节点可以向SM节点发送回收消息,SM节点在接收到该回收消息之后,可以对与该SA节点关联的安全控制策略进行失效处理。其中,将与该SA节点关联的安全控制策略发送给SC节点的原因是:在检测到SA节点发生异常时,虚拟机可能仍然在正常工作,当然仍然会存在针对该虚拟机的报文,而此时SA节点无法利用安全控制策略对虚拟机的报文进行控制,因此,为了对虚拟机的报文进行控制,就需要将与该SA节点关联的安全控制策略发送给SC节点,这样,可以让SC节点对虚拟机的报文进行控制,从而保证网络的安全性,避免与该SA节点关联的安全控制策略失效。其中,对与该SA节点关联的安全控制策略进行失效处理的原因是:由于虚拟机正常离开,当前不会存在针对该虚拟机的报文,因此不再需要使用该安全控制策略对虚拟机的报文进行控制,该安全控制策略处于无用状态。若SM节点不失效该安全控制策略,则由于该安全控制策略当前并没有下发给SA节点(SA节点已经不存在,也就不会存在该安全控制策略),因此,SM节点会将该安全控制策略下发给SC节点。但是实际上,SC节点并不需要该安全控制策略,也不需要使用该安全控制策略对虚拟机的报文进行控制。在一个例子中,针对每个SA节点,SA节点在启动后,SM节点可以定期探测SA节点的状态,如SM节点周期性向该SA节点发送检测消息,该检测消息可以是TCP(TransmissionControlProtocol,传输控制协议)消息。如果该SA节点出现状态异常,也即TCP连接中断,则SM节点在预设时间内将无法接收到SA节点返回的响应消息,检测到该SA节点发生异常。进一步的,SM节点可以在发送预设数量个(如5个)检测消息后,如果在预设时间内均未接收到SA节点返回的响应消息,则检测到该SA节点发生异常。在检测到该SA节点发生异常后,SM节点可以产生告警。管理员在发现该告警后,若确认该SA节点需要被清除,则SM节点从SA节点列表中删除该SA节点的标识以及虚拟机的IP地址,并将与该SA节点关联的安全控制策略发送给SC节点。在一个例子中,当虚拟机需要被正常回收时,则该虚拟机会被正常关闭,且该虚拟机上的SA节点会正常退出。基于此,在该虚拟机被回收之前,安装在该虚拟机上的SA节点可以向SM节点发送回收消息,而且,SM节点在接收到该回收消息之后,可以从SA节点列表中删除该SA节点的标识以及虚拟机的IP地址,并对与该SA节点关联的安全控制策略进行失效处理。在上述两种情况下,则SA节点的数量减少,SM节点可以从SA节点列表中统计出SA节点的数量,并确定是否释放SC节点,具体确定过程已经在上面阐述,在此不再赘述。若确定需要释放SC节点,则可以回收SC节点的虚拟机资源。在SC节点被释放之前,为了确保该SC节点上已有的业务连接不中断,则处理流程为:通知负载均衡设备不再将新的业务连接分发到该SC节点,但是已有的业务连接仍然分发到该SC节点,直接已有的业务连接主动关闭为止,在已有的业务连接主动关闭之后,才真正释放该SC节点。在一个例子中,针对每个SC节点,SC节点在启动后,SM节点可以定期探测SC节点的状态,如SM节点周期性向SC节点发送检测消息,该检测消息可以是TCP消息。如果SC节点出现状态异常,也即TCP连接中断,则SM节点在预设时间内无法接收到SC节点返回的响应消息,检测到SC节点发生异常。进一步的,SM节点在发送预设数量个(如5个)检测消息后,如果在预设时间内均未接收到SC节点返回的响应消息,则检测到SC节点发生异常。此外,SM节点还可以维护一个SC节点列表,该SC节点列表内记录了各SC节点的唯一标识。在检测到该SC节点发生异常后,SM节点可以产生告警。管理员在发现该告警后,若确认该SC节点需要被清除,则SM节点从该SC节点列表内删除该SC节点的唯一标识。此外,还需要创建一个新的SC节点,并在SC节点列表内记录该新的SC节点的唯一标识,并将安全业务配置发送给该SC节点,由该SC节点利用该安全业务配置对报文进行控制。在一个例子中,如果有新虚拟机上线,则由于SA节点已经在虚拟机镜像中一起安装,因此,该虚拟机上的SA节点可以主动发送广播消息,以寻找SM节点。SM节点可以在SA节点列表中记录该SA节点的唯一标识和虚拟机的IP地址。由于SA节点的数量增加,因此,SM节点可以从SA节点列表中统计出SA节点的数量,并确定是否增加SC节点,具体确定过程已经在上面阐述,在此不再赘述。若确定需要增加SC节点,则创建一个新的SC节点,并在SC节点列表内记录该新的SC节点的唯一标识,并将安全业务配置发送给该SC节点,由该SC节点利用该安全业务配置对报文进行控制。基于上述技术方案,可以在云网络中部署多个SC节点,由每个SC节点利用安全业务配置对本SC节点接收到的报文进行控制,保证云网络的安全。由于部署多个SC节点,可以在多个SC节点上实现负载分担,不用一个SC节点承担大量报文。当一个SC节点发生故障时,还可以由其它SC节点对报文进行处理,保证用户的正常业务。可以通过虚拟机实现SC节点,使得SC节点可以灵活增加或者删除,可以基于SA节点的数量灵活增加或者删除SC节点,提高业务部署的灵活性,以实现SC节点的弹性扩展能力。可以在每个虚拟机上部署一个SA节点,由SA节点利用安全控制策略对本SA节点接收到的报文进行控制。由于SA节点接收到的报文都是针对虚拟机的,因此,可以由每个SA节点对所在虚拟机的报文进行控制,从而可以将控制过程分配到各个虚拟机上进行,保证云网络的安全。由于是将安全控制策略发送给安装在虚拟机上的SA节点,将安全业务配置发送给SC节点,从而不用SC节点利用安全控制策略对接收到的报文进行控制,即不用SC节点对每个虚拟机单独进行控制,只需要控制针对所有虚拟机的安全业务配置,从而进一步减少SC节点的处理工作量,合理利用SC节点的资源。而且,通过SC节点和SA节点的组合,可以实现完整的安全网关功能,当SA节点出现异常时,还可以将SA节点的安全控制策略转移到SC节点上进行处理,从而对安全控制策略进行备份,避免安全控制策略失效。以下结合图5所示的安全控制策略/安全业务配置下发流程,以及图6所示的安全节点变更的业务流程,对上述技术方案进行进一步的说明。在图5中,在安全控制策略/安全业务配置下发阶段,SA节点在启动之后,发送广播消息,以寻找SM节点。SM节点回应该SA节点,并维持该SA节点的状态。SM节点将安全控制策略发送给SA节点,以使该SA节点利用该安全控制策略对自身接收到的报文进行控制。SM节点将安全业务配置发送给SC节点,以使该SC节点利用该安全业务配置对自身接收到的报文进行控制。在安全控制策略变更阶段,SA节点检测到虚拟机的IP地址发生变化。SA节点向SM节点发送通知消息,该通知消息中携带变化前的IP地址和变化后的IP地址。SM节点使用变化后的IP地址替换安全控制策略中的变化前的IP地址,将修改后的安全控制策略发送给SA节点。SM节点使用变化后的IP地址替换安全业务配置中的变化前的IP地址,将修改后的安全业务配置发送给SC节点。在图6中,在状态监控阶段,SM节点可以定期监控SC节点的状态,并定期监控SA节点的状态,若发现SA节点/SC节点发生异常,则产生告警。在新增安全节点阶段,新增的SA节点发送广播消息,以寻找SM节点,SM节点回应SA节点,并将安全控制策略发送给SA节点。若新增SA节点后,SM节点确定新增SC节点,则创建新SC节点,并将安全业务配置发送给SC节点。在删除安全节点阶段,SM节点检测到SA节点发生异常时,删除SA节点,并将与该SA节点关联的安全控制策略发送给SC节点。SM节点检测到SC节点发生异常时,删除SC节点。当SA节点正常退出(即虚拟机需要被正常回收)时,SA节点向SM节点发送回收消息,SM节点删除该SA节点,并对与该SA节点关联的安全控制策略进行失效处理。当SC节点正常退出(即SM节点确定释放SC节点)时,则SM节点确保该SC节点上已有的业务连接不中断。基于与上述方法同样的发明构思,本发明实施例还提供一种报文控制装置,该报文控制装置应用于包括SM节点、SC节点、SA节点的系统中,SA节点安装在虚拟机上,每个虚拟机安装一个SA节点;SC节点用于对全网非主机个性差异的安全策略进行控制,SA节点用于对主机个性化策略进行控制,该报文控制装置应用在SM节点上。该报文控制装置可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过该报文控制装置所在的SM节点的处理器,读取非易失性存储器中对应的计算机程序指令形成的。从硬件层面而言,如图7所示,为本发明提出的报文控制装置所在的SM节点的一种硬件结构图,除了图7所示的处理器、非易失性存储器外,SM节点还可以包括其他硬件,如负责处理报文的转发芯片、网络接口、内存等;从硬件结构上来讲,SM节点还可能是分布式设备,可能包括多个接口卡,以便在硬件层面进行报文处理的扩展。如图8所示,为本发明提出的报文控制装置的结构图,所述装置包括:获取模块11,用于获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置;第一发送模块12,用于将所述安全控制策略发送给安装在所述虚拟机上的SA节点,以使所述SA节点利用所述安全控制策略对自身接收到的报文进行控制;第二发送模块13,用于将所述安全业务配置发送给所述多个SC节点,以使所述多个SC节点利用所述安全业务配置对自身接收到的报文进行控制。所述获取模块11,体用于在获取针对虚拟机的安全控制策略、针对SC节点的安全业务配置的过程,获取在SM节点上配置的所有安全配置;针对每个安全配置,若所述安全配置是针对虚拟机的个性化的安全配置,将所述安全配置确定为针对所述虚拟机的安全控制策略;若所述安全配置是针对全网非主机个性差异的安全配置,将所述安全配置确定为针对SC节点的安全业务配置。在一个例子中,所述报文控制装置还包括:处理模块(在图中未体现),用于监测所述SC节点的性能数据;若所述性能数据大于预设第一阈值,则创建新的SC节点;若所述性能数据小于预设第二阈值,则释放已有的SC节点;其中,所述预设第一阈值大于所述预设第二阈值;和/或,监测所述SA节点上下发的安全控制策略的数量,若所述数量大于预设第三阈值,则从所述SA节点上选取部分安全控制策略,从所述SA节点上删除选取的安全控制策略,并将选取的安全控制策略发送给所述SC节点,以使所述SC节点利用所述选取的安全控制策略对自身接收到的报文进行控制。所述处理模块,还用于在初始阶段,获取SA节点的第一数量,并利用所述第一数量、SA数量与SC数量的比例关系,确定SC节点的第二数量,并创建所述第二数量个SC节点;在运行阶段,当SA节点的数量增加时,利用增加后的第三数量和所述比例关系,确定SC节点的第四数量,若所述第四数量大于SC节点的当前数量,则创建所述第四数量减去所述当前数量个SC节点;在运行阶段,当SA节点的数量减少时,利用减少后的第五数量和所述比例关系,确定SC节点的第六数量,若所述第六数量小于SC节点的当前数量,则释放所述当前数量减去所述第六数量个SC节点。在一个例子中,所述报文控制装置还包括:接收模块(在图中未体现),用于当虚拟机的IP地址发生变化时,接收来自安装在所述虚拟机上的SA节点的通知消息,并从所述通知消息中解析出变化前的IP地址和变化后的IP地址;所述第一发送模块12,还用于当查询到包含所述变化前的IP地址的安全控制策略时,则使用所述变化后的IP地址替换该安全控制策略中的所述变化前的IP地址,并将修改后的安全控制策略发送给安装在所述虚拟机上的SA节点;所述第二发送模块13,还用于当查询到包含所述变化前的IP地址的安全业务配置时,则使用所述变化后的IP地址替换该安全业务配置中的所述变化前的IP地址,并将修改后的安全业务配置发送给所述多个SC节点。在一个例子中,所述报文控制装置还包括:检测模块(在图中未体现),用于针对每个SA节点,周期性向所述SA节点发送检测消息,并接收所述SA节点返回的响应消息;若在预设时间内未接收到响应消息,则检测到所述SA节点发生异常,并将与所述SA节点关联的安全控制策略发送给所述SC节点;或,当虚拟机需要被回收时,在虚拟机被回收之前,接收安装在所述虚拟机上的SA节点的回收消息,对与所述SA节点关联的安全控制策略进行失效处理。其中,本发明装置的各个模块可以集成于一体,也可以分离部署。上述模块可以合并为一个模块,也可以进一步拆分成多个子模块。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。本领域技术人员可以理解附图只是一个优选实施例的示意图,附图中的模块或流程并不一定是实施本发明所必须的。本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可进一步拆分成多个子模块。上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1