数据流的转发方法及装置与流程

文档序号:12038930阅读:227来源:国知局
数据流的转发方法及装置与流程
本发明涉及通信领域,具体而言,涉及一种数据流的转发方法及装置。

背景技术:
目前,相关技术中的防火墙策略或者访问控制列表(AccessControlList,简称为ACL)可以根据数据流中的下层属性来判断是否允许数据流通过。通常情况下,防火墙策略所依据的下层属性可以包括但不限于以下至少之一:源地址、源端口、目的地址、目的端口、协议号、应用类型。而入接口和出接口往往也会成为防火墙策略所依据属性的一部分。随着科学技术日新月异的发展,国内外厂商已经将更多的考虑因素融入到防火墙策略当中。例如:一些厂商引入了安全域的概念,即利用入接口安全域或者出接口安全域来判断是否允许数据流通过;而一些厂商在现有的防火墙策略的基础上,逐步引入了基于用户的访问控制或者基于角色的访问控制(RoleBaseAccessControl,简称为RBAC)的概念;还有一些厂商在现有的防火墙策略的基础上,引入了认证组的概念,首先将检测到的数据流与防火墙策略所依据的下层属性(包括:源地址、源端口、目的地址、目的端口以及协议号)相匹配,其次通过匹配认证确定该数据流所归属的分组,然后采用第一匹配原则判断是否允许该数据流通过。下面结合两个具体的应用实例对相关技术中所采用的防火墙策略做进一步的描述。实例一表1是根据相关技术的基于用户访问控制的防火墙策略实例一。如表1所示,假设在A公司的安全网关上具备防火墙和安全套接层(SecureSocketsLayer,简称为SSL)虚拟专用网(VirtualPrivateNetwork,简称为VPN)的双重功能。当用户从公网上通过SSLVPN接入时,公司内部系统会为该用户发送的流量赋予一个SSL角色,而对于那些远程接入的工程师(Engineers),公司内部系统将为此类用户赋予另一个Engineer角色。此外,公司内网存在两种个人计算机(PC):一种是专门供工程师使用的,其地址组为EngIPs;而另一种是除工程师以外的其他人使用的,其地址组为Other-IPs。另外,公司还有三个服务器:电邮服务器(EmailServer)、内部服务器(IntranetServer),研发用服务器(EngServer)。表1组源地址源端口目的地址目的端口协议动作SSLAnyAnyIntranet_ServerAnyAny不允许EngineerAnyAnyEng_ServerAnyAny允许AnyEng_IPsAnyAnyAnyAny允许AnyAnyAnyEmail_ServerAnyAny允许根据上述表1可以看出,远程接入用户不许访问IntranetServer,工程师无论是采取远程接入的方式还是内部访问的方式都可以访问EngServer,工程师在内网的PC可以访问内网中全部服务器,其他人无论是采取远程接入的方式还是内部访问的方式都可以访问EmailServer去查阅Email。由此可见,在该应用实例中,分别对通过SSL接入的用户以及Engineering群组的用户进行了特殊地控制。然而,该应用实例存在的缺陷在于:同一个用户如果由于特定原因而影响其安全状态时,用户所访问的系统可能需要给予该用户多种不同的访问权限。而特定原因往往又是多方面的,例如:用户当前使用的设备的安全状态、用户使用了非正常应用、用户的异常举动。在考虑到安全访问因素和用户私有信息的前提下,虽然可以不断创建新的角色,例如:假设有N个用户或者用户组,M个安全因素状态,由此需要产生M×N个角色,但是不断创建的新角色给公司内部系统的管理带来了极大地不便,同时也增加了管理的成本。而从另外一个角度考虑,网络管理员如果希望对发起访问的用户进行可视化管理,实时掌握每个用户的安全策略均会受到哪些因素的影响,为此需要有个直观的呈现。而在用户发起访问时,由于用户的角色在不断的转化,对于可视化管理的渴求也将淹没在用户角色的不断演变中。实例二网络准入控制(NetworkAccessControl,简称为NAC)技术是一种在接入时的安全准入技术。该项技术常应用于交换机上。在用户通过PC接入网络时,交换机将会检测PC上的病毒防护软件的升级版本、当前可用补丁、浏览器设置限定以及有效的个人防火墙。该PC只有在通过交换机的一系列检测后,才被允许接入网络。而如果PC没有达到上述各项要求,则交换机不允许其接入网络。在特定情况下,PC还会被划分到一个虚拟局域网(VirtualLocalAreaNetwork,简称为VLAN)进行在线修复。然而,该应用实例存在的缺陷在于:NAC的安全检测以PC设备自身的安全状态为依据。在网络安全设备中,网络攻击或者异常行为的识别是通过网络中的数据流量实现的,而无法根据用户自身的综合风险评估来实现防火墙策略的调整。

技术实现要素:
本发明提供了一种数据流的转发方法及装置,以至少解决相关技术中的防火墙策略缺乏对数据流的健康度进行评估的问题。根据本发明的一个方面,提供了一种数据流的转发方法。根据本发明的数据流的转发方法包括:根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,其中,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;采用防火墙策略属性集合确定是否对数据流进行转发,其中,防火墙策略属性集合包括:第二健康度。优选地,根据一个或多个标识信息的第一健康度获取数据流的第二健康度包括:从当前的健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别;选取最差健康级别确定第二健康度,其中,健康级别与访问权限呈线性相关。优选地,在从健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别之前,还包括:分别对一个或多个标识信息中的每个标识信息进行健康评分;根据健康评分结果所归属的区间获取与该区间对应的健康级别;将每个标识信息以及与该标识信息对应的健康级别保存在健康度评估数据库中。优选地,采用防火墙策略属性集合确定是否对数据流进行转发包括:根据第二健康度从防火墙策略表中查找与数据流对应的一条或多条防火墙策略记录;采用防火墙策略属性集合中除第二健康度之外的其他属性对一条或多条防火墙策略记录逐条进行匹配;如果匹配成功,则按照与数据流匹配的防火墙策略记录对数据流进行转发;如果匹配失败,则阻断数据流。优选地,防火墙策略属性集合还包括以下至少之一:数据流的因特网协议IP五元组信息;发送数据流的源端口或源安全域;接收数据流的目的端口或目的安全域;发送数据流的用户信息或用户组信息或用户角色信息。优选地,标识信息包括以下至少之一:数据流的源IP地址和/或目的IP地址;数据流的源IP地址和/或目的IP地址所归属的分组;与数据流对应的应用程序;发送数据流的用户信息或用户组信息或用户角色信息;发送数据流的源端口或源安全域;接收数据流的目的端口或目的安全域。根据本发明的另一方面,提供了一种数据流的转发装置。根据本发明的数据流的转发装置包括:获取模块,用于根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,其中,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;确定模块,用于采用防火墙策略属性集合确定是否对数据流进行转发,其中,防火墙策略属性集合包括:第二健康度。优选地,获取模块包括:第一查找单元,用于从当前的健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别;选取单元,用于选取最差健康级别确定第二健康度,其中,健康级别与访问权限呈线性相关。优选地,获取模块还包括:评分单元,用于分别对一个或多个标识信息中的每个标识信息进行健康评分;获取单元,用于根据健康评分结果所归属的区间获取与该区间对应的健康级别;存储单元,用于将每个标识信息以及与该标识信息对应的健康级别保存在健康度评估数据库中。优选地,确定模块包括:第二查找单元,用于根据第二健康度从防火墙策略表中查找与数据流对应的一条或多条防火墙策略记录;匹配单元,用于采用防火墙策略属性集合中除第二健康度之外的其他属性对一条或多条防火墙策略记录逐条进行匹配;处理单元,用于在匹配单元匹配成功时,按照与数据流匹配的防火墙策略记录对数据流进行转发;在匹配单元匹配失败时,则阻断数据流。通过本发明,采用根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;采用防火墙策略属性集合确定是否对数据流进行转发,该防火墙策略属性集合包括:第二健康度,由于在防火墙策略属性集合中增加了对数据流健康度的评估,因此解决了相关技术中的防火墙策略缺乏对数据流的健康度进行评估的问题,进而提高了防火墙对网络攻击或者异常行为的识别能力,降低管理成本。附图说明此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:图1是根据本发明实施例的数据流的转发方法的流程图;图2是根据本发明实施例的数据流的转发装置的结构框图;图3是根据本发明优选实施例的数据流的转发装置的结构框图。具体实施方式下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。在以下描述中,除非另外指明,否则将参考由一个或多个计算机执行的动作和操作的符号表示来描述本申请的各实施例。其中,计算机包括个人计算机、服务器、移动终端等各种产品,使用了CPU、单片机、DSP等具有处理芯片的设备均可以称为计算机。由此,可以理解,有时被称为计算机执行的这类动作和操作包括计算机的处理单元对以结构化形式表示数据的电信号的操纵。这一操纵转换了数据或在计算机的存储器系统中的位置上维护它,这以本领域的技术人员都理解的方式重配置或改变了计算机的操作。维护数据的数据结构是具有数据的格式所定义的特定属性的存储器的物理位置。然而,尽管在上述上下文中描述本发明,但它并不意味着限制性的,如本领域的技术人员所理解的,后文所描述的动作和操作的各方面也可用硬件来实现。转向附图,其中相同的参考标号指代相同的元素,本申请的原理被示为在一个合适的计算环境中实现。以下描述基于所述的本申请的实施例,并且不应认为是关于此处未明确描述的替换实施例而限制本申请。以下实施例可以应用到计算机中,例如应用到PC中。也可以应用到目前采用了智能操作系统中的移动终端中,并且并不限于此。对于计算机或移动终端的操作系统并没有特殊要求,只要能够检测接触、确定该接触是否与预定规则相符合,以及根据该接触的属性实现相应功能即可。图1是根据本发明实施例的数据流的转发方法的流程图。如图1所示,该方法可以包括以下处理步骤:步骤S102:根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,其中,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;步骤S104:采用防火墙策略属性集合确定是否对数据流进行转发,其中,防火墙策略属性集合包括:第二健康度。相关技术中,防火墙策略缺乏对数据流的健康度进行评估。采用如图1所示的方法,采用根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;采用防火墙策略属性集合确定是否对数据流进行转发,该防火墙策略属性集合包括:第二健康度,由于在防火墙策略属性集合中增加了对数据流健康度的评估,因此解决了相关技术中的防火墙策略缺乏对数据流的健康度进行评估的问题,进而提高了防火墙对网络攻击或者异常行为的识别能力,降低管理成本。在优选实施过程中,上述防火墙策略属性集合还可以包括但不限于以下至少之一:(1)数据流的因特网协议IP五元组信息;(2)发送数据流的源端口或源安全域;(3)接收数据流的目的端口或目的安全域;(4)发送数据流的用户信息或用户组信息或用户角色信息。在优选实施过程中,上述标识信息可以包括但不限于以下至少之一:(1)数据流的源IP地址和/或目的IP地址;(2)数据流的源IP地址和/或目的IP地址所归属的分组;(3)与数据流对应的应用程序;(4)发送数据流的用户信息或用户组信息或用户角色信息;(5)发送数据流的源端口或源安全域;(6)接收数据流的目的端口或目的安全域。在优选实施例中,可以建立健康度评估数据库,其中,该健康度评估数据库评估的对象为数据流的一个或多个标识信息,具体可以包括但不限于以下至少之一:数据流的源IP地址和/或目的IP地址、数据流的源IP地址和/或目的IP地址所归属的分组、发送数据流的用户信息或用户组信息或用户角色信息、与数据流对应的应用程序(一个或多个IP地址以及端口)、发送数据流的源端口或源安全域、接收数据流的目的端口或目的安全域。健康度评估数据库中的各个对象可以周期性地进行更新。优选地,在步骤S102中,根据一个或多个标识信息的第一健康度获取数据流的第二健康度可以包括以下步骤:步骤S1:从当前的健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别;步骤S2:选取最差健康级别确定第二健康度,其中,健康级别与访问权限呈线性相关。在优选实施例中,健康级别与访问权限可以呈线性相关,即假设健康级别为x,访问权限为y,则y=kx或者y=-kx,其中,k为正整数。以y=kx为例,健康度可以分为N个等级,其中,可以包括:1级代表健康状态,N级代表不健康状态,2…N―1级代表不同程度的亚健康状态。由此可以得出,健康级别越高,访问权限越低。因此,N级为最差健康级别。假设防火墙当前接收到的数据流Mj有k个标识信息是上述健康度评估数据库的评估对象,其分别为:Mj1、Mj2…Mjk,每个评估对象(标识信息)对应的健康级别分别为:Health(Mj1)、Health(Mj2)…Health(Mjk),由此可以得到如下计算公式:Health(Mj)=Max(Health(Mj1)、Health(Mj2)、…、Health(Mjk))即该数据流的健康度是由上述各个对象中健康级别最高(即最差健康级别)的对象所决定的。优选地,在步骤S1,从健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别之前,还可以包括以下操作:步骤S3:分别对一个或多个标识信息中的每个标识信息进行健康评分;步骤S4:根据健康评分结果所归属的区间获取与该区间对应的健康级别;步骤S5:将每个标识信息以及与该标识信息对应的健康级别保存在健康度评估数据库中。在优选实施例中,可以设置健康评分,即不同区间的健康评分可以与不同级别的健康度建立映射关系。例如:假设当前的健康度评估分为3个级别,即1级代表健康状态、2级代表亚健康状态、3级代表不健康状态;同时还设立了评分机制,以0―100的评分标准为例,可以将其划分为3个区间并分别与不同的健康度建立映射关系,即80―100对应健康状态、20―79对应亚健康状态、0―19对应不健康状态。由此可见,评分标准可以作为一种粒度更加细化的健康评估的可视化手段。需要说明的是,上述评分方式仅是本发明提供的一种优选实施方式而并非构成对本发明的限定,只要能够确保每个数据流的健康度是由其各个标识信息中健康度最差(即健康级别最高)的标识信息所决定的评分方式均可以被本发明所采用。优选地,在步骤S104中,采用防火墙策略属性集合确定是否对数据流进行转发可以包括以下步骤:步骤S6:根据第二健康度从防火墙策略表中查找与数据流对应的一条或多条防火墙策略记录;步骤S7:采用防火墙策略属性集合中除第二健康度之外的其他属性对一条或多条防火墙策略记录逐条进行匹配;步骤S8:如果匹配成功,则按照与数据流匹配的防火墙策略记录对数据流进行转发;如果匹配失败,则阻断数据流。防火墙通常以“链表数组”的形式组织与管理流,该“链表数组”通常又被称为“流表”。以传输控制协议(TransferControlProtocol,简称为TCP)报文为例,防火墙通常可以采用IP五元组(源IP地址、目的IP地址、源端口、目的端口以及IP协议号)对TCP流进行标识。每当接收到TCP报文时,防火墙便会对该TCP报文进行解析,然后从报头提取出源IP地址、目的IP地址、源端口、目的端口以及IP协议号,并将五元组经过哈希(HASH)运算,从而得到HASH运算的结果,作为“流表”的索引。在“流表”的索引值为上述HASH运算结果的位置处是一条“流”记录链表,换言之,该链表的每个节点便是一个“流”记录,而每个“流”的五元组的HASH运算结果都与上述HASH运算结果相同。防火墙可以将该TCP报文的五元组与链表上的每个节点所记录的五元组逐个进行匹配,如果能够匹配,表示该报文所归属的“流”已经存在;否则,防火墙在确定该TCP报文符合创建新连接的条件后,将创建一个“流”,添加到在“流表”的索引值为上述HASH运算结果位置处的“流”链表上,以记录该报文所归属连接的上下文环境。为此,防火墙需要重新创建一个“流”记录的报文,通常称之为“首报文”。当然,在将上述TCP报文与防火墙策略进行匹配的过程中,除了采用上述IP五元组(源IP地址、目的IP地址、源端口、目的端口以及IP协议号)之外,还可以采用以下一项或多项策略所依据的下层属性进行综合匹配:(1)源接口或源安全域;(2)目的接口或目的安全域;(3)用户或用户组或角色。作为本发明的一个优选实施例,本发明所提供的技术方案在现有的防火墙策略所依据的下层属性集合的基础上,还可以加入健康度属性做进一步地匹配。在该优选实施例中,首先,针对接收到的数据流从上述健康度评估数据库中查找与该数据流对应的全部对象,例如:该数据流属于用户T1、应用T2、其中携带的源IP地址和/或目的IP地址属于IP组T3;然后,因为该数据流的健康度是由上述各个对象中健康度最差(即健康级别最高)的对象所决定的,为此,可以采用如下公式计算该数据流S的健康度结果:Health(S)=Max(Health(T1),Health(T2),Health(T3))。由此可见,本发明所提供的防火墙策略所依据的下层属性可以包括但不限于以下至少之一:(1)健康度(包括:N个健康级别);(2)IP五元组(源IP地址、目的IP地址、源端口、目的端口以及IP协议号);(3)源接口或源安全域;(4)目的接口或目的安全域;(5)用户或用户组或角色;(6)动作,其中,可以包括以下之一:允许、拒绝、限流、连接数限制。如果上述健康度评估数据库中的一个或多个对象的健康级别发生变化,那么在流表中与发生变化的一个或多个对象相关的流记录则需要重新进行策略匹配。需要说明的是,在防火墙中设置的流表主要是用于对网络数据流量进行快速转发。如果当前接收的数据流在流表中无法找到与之匹配的流记录时,那么则需要利用防火墙策略表进行查找以决定是否建立相应的流记录进而插入流表。而当在防火墙策略表中查找与接收到的数据流相对应的防火墙策略记录时,既可以采用先对健康度信息进行匹配,然后再对其他属性信息(例如:IP五元组信息)进行匹配;当然还可以采用同时对多种属性信息进行匹配。下面结合表2和表3所示的优选实施方式对上述优选实施过程做进一步的描述。表2是根据本发明优选实施例的健康度评估对象与健康度对照表。如表2所示,在当前网络中存在4台PC(分别为PC1、PC2、PC3和PC4),以健康度评估对象是IP地址为例(即数据流的源IP地址标识信息),PC1的源IP地址是10.0.0.1,PC2的源IP地址是10.0.0.2,PC3的源IP地址是10.0.0.3,PC4的源IP地址是10.0.0.4。根据动态健康度检测结果:源IP地址是10.0.0.1的PC1和源IP地址是10.0.0.4的PC4为健康状态,源IP地址是10.0.0.2的PC2为亚健康状态,源IP地址是10.0.0.3的PC3为不健康状态。表2对象(源IP地址)健康度10.0.0.1健康10.0.0.2亚健康10.0.0.3不健康10.0.0.4健康表3是根据本发明优选实施例的基于表2的防火墙策略信息表。如表3所示,防火墙策略如下:表3健康状态用户/组源地址源端口目的地址目的端口协议动作不健康AnyAnyAnyInternetAnyAny允许不健康AnyAnyAnyAnyAnyAny不允许健康FinanceAnyAnyERP_SvrAnyAny允许健康,亚健康AnyAnyAnyEmail_SvrAnyAny允许由表3可以看出,处于不健康状态的PC3只允许访问互联网,而不允许访问其他服务器;处于亚健康状态的PC2只能访问EmailServer;处于健康状态的PC1和PC4可以访问EmailServer,而Finance用户组则可以访问ERPServer。由此可见,上述4台PC可以根据彼此的健康度而获得不同的访问权限。当网络中的攻击检测或者发生其他影响健康度评分/健康状态的检测引起PC健康度发生变化时,相应地,PC会因为健康度的改变而被赋予新的访问权限。图2是根据本发明实施例的数据流的转发装置的结构框图。如图2所示,该数据流的转发装置可以包括:获取模块10,用于根据接收到的数据流的一个或多个标识信息的第一健康度获取数据流的第二健康度,其中,第一健康度和第二健康度均与发送数据流的用户和/或用户设备的访问权限相关联;确定模块20,用于采用防火墙策略属性集合确定是否对数据流进行转发,其中,防火墙策略属性集合包括:第二健康度。采用如图2所示的装置,解决了相关技术中的防火墙策略缺乏对数据流的健康度进行评估的问题,进而提高了防火墙对网络攻击或者异常行为的识别能力,降低管理成本。优选地,如图3所示,获取模块10可以包括:第一查找单元100,用于从当前的健康度评估数据库中查找一个或多个标识信息以及与每个标识信息对应的健康级别;选取单元102,用于选取最差健康级别确定第二健康度,其中,健康级别与访问权限呈线性相关。优选地,如图3所示,获取模块10还可以包括:评分单元104,用于分别对一个或多个标识信息中的每个标识信息进行健康评分;获取单元106,用于根据健康评分结果所归属的区间获取与该区间对应的健康级别;存储单元108,用于将每个标识信息以及与该标识信息对应的健康级别保存在健康度评估数据库中。优选地,如图3所示,确定模块20可以包括:第二查找单元200,用于根据第二健康度从防火墙策略表中查找与数据流对应的一条或多条防火墙策略记录;匹配单元202,用于采用防火墙策略属性集合中除第二健康度之外的其他属性对一条或多条防火墙策略记录逐条进行匹配;处理单元204,用于在匹配单元匹配成功时,按照与数据流匹配的防火墙策略记录对数据流进行转发;在匹配单元匹配失败时,则阻断数据流。从以上的描述中,可以看出,上述实施例实现了如下技术效果(需要说明的是这些效果是某些优选实施例可以达到的效果):本发明所提供的技术方案可以支持基于健康度的访问控制,对不同风险的流量可以采取不同的控制方式。此外,安全控制方式还可以随着风险的变化而进行动态调整。健康度作为风险的总体评估,可以有效地将风险评估过程与基于风险的控制相分离,可以动态地增加或减少风险评估的项目而不影响防火墙策略的配置,从而提高了系统管理的易用性。新增健康度/安全状态的控制的防火墙策略可以保持原有的防火墙策略的自然序列以及第一匹配原则,实现与现有防火墙策略相互兼容。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1