CN110120942A - 安全策略规则匹配方法及装置、防火墙设备及介质 - Google Patents
安全策略规则匹配方法及装置、防火墙设备及介质 Download PDFInfo
- Publication number
- CN110120942A CN110120942A CN201910310518.8A CN201910310518A CN110120942A CN 110120942 A CN110120942 A CN 110120942A CN 201910310518 A CN201910310518 A CN 201910310518A CN 110120942 A CN110120942 A CN 110120942A
- Authority
- CN
- China
- Prior art keywords
- node
- ipv6 address
- configuration item
- address configuration
- ipv6
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0263—Rule management
Abstract
本申请提供一种安全策略规则匹配方法及装置、一种防火墙设备以及一种计算机可读存储介质。其中,所述方法包括:在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其关联的安全策略规则;基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。相较于现有技术,本申请提供的上述方法,可较好地适用于IPV6网络环境,并可有效提高IPV6报文的安全策略匹配速度。
Description
技术领域
本申请涉及网络通信技术领域,具体涉及一种安全策略规则匹配方法及装置、一种防火墙设备以及一种计算机可读存储介质。
背景技术
防火墙设备指的是一个由软件和硬件组合而成、在内部网和外部网之间、专用网和公共网之间构造的保护屏障,使网络之间建立起一个安全网关,从而保护内部网免受非法用户的入侵。防火墙设备通过执行安全策略实现网络防护,安全策略是根据报文的属性信息对报文进行转发控制和DPI(Deep Packet Inspection,深度报文检测)深度安全检测的防控策略。
安全策略对报文的控制是通过安全策略规则实现的,它由过滤条件和处理报文的动作组成,过滤条件支持引用地址对象组来设定报文匹配的源地址和目的地址,地址对象组可以配置单个IP、地址范围段和网段等匹配项。
随着网络技术的发展,互联网体系结构正逐渐从IPV4(Internet ProtocolVersion 4,互联网协议第4版)向IPV6(Internet Protocol Version 6,互联网协议第6版)结构发展,原有的IPV4防火墙规则匹配算法很难直接应用于IPV6网络环境,因为IPV6协议所能表示的地址范围远远超过IPV4协议对应的地址范围,若仍沿用现有针对IPV4的规则匹配方式,其安全策略规则中引入的大量地址对象组会大幅降低规则匹配效率,进而导致防火墙设备的性能尤其是新建性能急剧下降。
鉴于上述问题,需要提供一种适用于IPV6网络环境的、可有效提高匹配效率的安全策略规则匹配方法。
发明内容
本申请的目的是提供一种安全策略规则匹配方法及装置、一种防火墙设备以及一种计算机可读存储介质。
本申请第一方面提供一种安全策略规则匹配方法,包括:
在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;
获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位;
基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
本申请第二方面提供一种安全策略规则匹配装置,包括:
报文接收模块,用于在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;
加速表获取模块,用于获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其对应关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位;
地址匹配模块,用于基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
本申请第三方面提供一种防火墙设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如本申请第一方面所述的方法。
本申请第四方面提供一种计算机可读存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现本申请第一方面所述的方法。
本申请实施例提供的一种安全策略规则匹配方法及装置、防火墙设备以及计算机可读存储介质,在接收IPV6报文后,通过读取所述IPV6报文携带的IPV6地址信息,并获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其关联的安全策略规则,然后基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,即可将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。相较于现有技术,提供了加速表以实现安全策略规则的匹配,由于所述加速表中的IPV6地址配置项是以前缀树存储的,通过所述前缀树,可以将冗长的IPV6地址配置项进行分解存储,因此可以显著提高对所述IPV6地址配置项的查找速度和匹配效率,通过最长前缀匹配方式可快速查找到与所述IPV6地址信息相匹配的IPV6地址配置项,进而可以以较快的效率确定出与所述IPV6报文相匹配的安全策略规则。综上,本申请实施例提供的安全策略规则匹配方法及装置、防火墙设备以及计算机可读存储介质,可较好地适用于IPV6网络环境,并可有效提高IPV6报文的安全策略匹配速度。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本申请的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本申请的一些实施方式所提供的一种安全策略规则匹配方法的流程图;
图2(a)、(b)示出了本申请的一些实施方式所提供的添加节点的示意图;
图3(a)-(d)示出了本申请的一些具体实施方式所提供的前缀树的示意图;
图4示出了本申请的一些实施方式所提供的一种安全策略规则匹配装置的示意图;
图5示出了本申请的一些实施方式所提供的一种防火墙设备的示意图;
图6示出了本申请的一些实施方式所提供的一种计算机可读存储介质的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本申请所属领域技术人员所理解的通常意义。
另外,术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本申请实施例提供一种安全策略规则匹配方法及装置、一种防火墙设备以及计算机可读存储介质,下面结合附图进行说明。
请参考图1,其示出了本申请的一些实施方式所提供的一种安全策略规则匹配方法的流程图,如图所示,所述安全策略规则匹配方法,可以包括以下步骤:
步骤S101:在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息。
本申请实施例提供的所述安全策略规则匹配方法,可以应用于防火墙设备,以实现对IPV6报文的安全策略规则匹配。其中,所述IPV6报文可以是指基于IPV6生成的报文,所述IPV6地址信息可以包括符合IPV6的目的IP、源IP等地址信息。
步骤S102:获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位。
实际应用中,部分防火墙设备支持安全策略加速功能,上述防火墙设备可以通过手动或自动的方式,将安全策略规则加入加速表中,以便于在后续报文与安全策略规则的匹配过程中实现加速匹配。本申请实施例中,所述加速表,即可以是为了与常规的慢速匹配方式进行区分,根据部分需要进行加速匹配的安全策略规则生成的、用于实现安全策略加速功能的加速表。
其中,所述IPV6地址配置项可以包括IPV6地址和/或网段。
在一些实施方式中,安全策略规则包括过滤条件和处理报文的动作,对于针对IPV6网络的安全策略规则,其过滤条件即包括上述IPV6地址、网段等匹配项,本申请实施例,即可根据上述过滤条件,确定安全策略规则对应的IPV6地址配置项,并根据上述安全策略规则及其对应的IPV6地址配置项,利用前缀树生成加速表。
在一些具体的实施方式中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位。通过本实施方式,可以以前缀树的方式存储上述IPV6地址配置项及其关联的安全策略规则,由于前缀树的核心思想是空间换时间,其可以利用IPV6地址配置项的公共前缀来降低查询时间的开销以达到提高效率的目的,因此,通过本实施方式,可以有效提高上述IPV6报文的安全策略规则匹配效率。
步骤S103:基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
本申请实施方式,通过采用最长前缀匹配方式,可以以较高的准确性和较快地速度查找到上述IPV6地址配置项,从而提高上述IPV6报文的安全策略规则匹配效率。
以上,为本申请实施例提供的一种安全策略规则匹配方法的示例性说明,相较于现有技术,本申请实施例提供的上述方法,提供了加速表以实现安全策略规则的匹配,由于所述加速表中的IPV6地址配置项是以前缀树存储的,通过所述前缀树,可以将冗长的IPV6地址配置项进行分解存储,因此可以显著提高对所述IPV6地址配置项的匹配效率,通过最长前缀匹配方式可快速查找到与所述IPV6地址信息相匹配的IPV6地址配置项,进而可以以较快的效率确定出与所述IPV6报文相匹配的安全策略规则。综上,本申请第一方面提供的上述方法可较好地适用于IPV6网络环境,并可有效提高IPV6报文的安全策略匹配速度,通过提高防火墙设备的安全策略规则匹配效率,可以有效提升其性能尤其是新建性能(如新建连接速率)。
在前述实施例的基础上,在一些实施方式中,所述获取预设的加速表之前,还可以包括:
获取待加速匹配的多条安全策略规则;
确定每条所述安全策略规则对应的IPV6地址配置项;
初始化前缀树;
将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,并将每个所述IPV6地址配置项对应的安全策略规则关联到该IPV6地址配置项对应的节点上,生成加速表。
通过本实施方式,可以根据待加速匹配的多条安全策略规则生成加速表,从而利用上述安全策略规则实现对IPV6报文的快速匹配,具体的,可以以前缀树的形式存储上述IPV6地址配置项及其安全策略规则,从而生成加速表,利用前缀树存储上述IPV6地址配置项,可以将多个IPV6地址配置项的公共部分存储在父节点中,而将差异部分存储在子节点中,通过层层将上述IPV6地址配置项进行分解,利用IPV6地址配置项的公共前缀来降低查询时间的开销以达到提高效率的目的,从而可以有效提高IPV6报文的安全策略规则匹配效率。
在上述实施方式的基础上,在一些实施方式中,所述将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,可以包括:
对于待加入的二进制形式的IPV6地址配置项,中序遍历所述前缀树,查找键值无法包含该IPV6地址配置项的第一节点;
按照由高位至低位的顺序,将所述IPV6地址配置项与所述第一节点的键值逐位进行比较,确定所述IPV6地址配置项与所述第一节点的键值之间的公共部分和差异部分;
根据所述IPV6地址配置项与所述第一节点的键值的公共部分生成第二节点,并以所述第二节点替换所述第一节点;
根据所述IPV6地址配置项中的差异部分生成第三节点;
将所述第一节点和所述第三节点确定为所述第二节点的孩子节点。
其中,在一些具体的实施方式中,所述将所述第一节点和所述第三节点确定为所述第二节点的孩子节点,可以包括:
将所述第一节点和所述第三节点中,所述差异部分的首位为0的一者确定为所述第二节点的左孩子节点,所述差异部分的首位为1的另一者确定为所述第二节点的右孩子节点。
通过本实施方式,可以按照相同的规则向前缀树中添加IPV6地址配置项,从而确保生成的前缀树具有相同的特征,由于差异部分首位为0的孩子节点在左,差异部分首位为1的孩子节点在右,适用于采用最长前缀匹配方式进行IPV6地址信息的匹配,可以有效提高IPV6地址信息与IPV6地址配置项的匹配效率,进而提高IPV6报文的安全策略规则匹配效率。
为了更清楚地对本申请实施例进行说明,下面结合具体实施例对上述安全策略规则匹配方法进行示例性说明,下述结合具体实施例的说明可以参照前述关于安全策略规则匹配方法的实施例说明进行理解,上述关于安全策略规则匹配方法的实施例也可以参照下述结合具体实施例的说明进行理解。
具体实施例一:
本实施例一提供了生成加速表的示例性说明,具体可以包括以下步骤:
步骤S201:初始化一颗前缀树的根节点;
步骤S202:遍历安全策略规则中引用的IPV6地址/网段;
步骤S203:取出步骤S202中的IPV6地址/网段,例如,网段A,中序遍历1)中建立的前缀树,直到遇到一个节点的键值无法包含该网段A,例如节点a。
步骤S204:比较节点a中的键值与网段A从第几位开始有差异,从高位往低位比较,记录差异位的位置,该差异位之前的部分即为公共部分,该差异位之后的部分(含该差异位)即为差异部分。
步骤S205:将节点a中差异位之前的所有Bit位(即公共部分)提取出作为一个公共前缀部分,挂在新申请的节点a-1上,同时再申请一个节点b,放入新加入的网段。
步骤S206:将公共前缀节点a-1替代节点a成为节点1的孩子节点,然后将上述节点a和节点b重新加入上述前缀树中作为上述节点a-1的孩子节点,其中,差异位是0的是左孩子节点,差异位是1的是右孩子节点。
请参考图2(a)和(b),其示出了本申请的一些实施方式所提供的添加节点的示意图,图2(a)表示添加之前的状态,图2(b)表示添加之后的状态。
步骤S207:将引用步骤S202中的IPV6网段/地址对应的安全策略规则,挂在节点b上,节点b上对应的安全策略规则规则,表示引用节点b所表示的网段对应的安全策略规则。
步骤S208:转步骤S202,直到遍历结束安全策略所有安全策略规则中引用的IPV6地址/网段。
通过本实施方式,即可针对IPV6环境,高效地生成加速表,从而可以进一步利用上述加速表,提高对IPV6报文的安全策略规则匹配效率。
具体实施例二:
本实施例二,给出了根据下述表1所示的安全策略规则RULE1、RULE2、RULE3,向前缀树中添加IPV6地址配置项及其安全策略规则的示例性说明,请参考图3(a)-(d)进行理解,图3(a)-(d)其分别示出了本申请的一些具体实施方式所提供的前缀树的示意图。
首先,确定安全策略规则RULE1、RULE2、RULE3各自对应的IPV6地址配置项,如表1所示,
表1
然后,根据前述将IPV6地址配置项以二进制形式依次加入前缀树的实施方式,将上述IPV6地址配置项(即引用的地址/网段)依次添加至前缀树中,其中:
向初始状态的前缀树中,添加网段1FF0::0/116后,前缀树如图3(a)所示,节点上会保存配置的IPV6网段与引用它的安全策略规则。
继续添加网段1FF0::0/117和1FF0::210/124后,前缀树如图3(b)所示。
然后继续添加1FF0::280/121网段时,需要增加公共前缀节点D1-120,添加后前缀树如图3(c)所示。
当继续向树中插入1FF0::1200/128网段时,需要增加公共前缀节点D1-115,添加后前缀树如图3(d)所示。
在上述的实施例中,提供了一种安全策略规则匹配方法,与之相对应的,本申请还提供一种安全策略规则匹配装置。本申请实施例提供的安全策略规则匹配装置可以实施上述安全策略规则匹配方法,该安全策略规则匹配装置可以通过软件、硬件或软硬结合的方式来实现。例如,该安全策略规则匹配装置可以包括集成的或分开的功能模块或单元来执行上述各方法中的对应步骤。请参考图4,其示出了本申请的一些实施方式所提供的一种安全策略规则匹配装置的示意图。由于装置实施例基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。下述描述的装置实施例仅仅是示意性的。
如图4所示,所述安全策略规则匹配装置10可以包括:
报文接收模块101,用于在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;
加速表获取模块102,用于获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其对应关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位;
地址匹配模块103,用于基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
在本申请实施例的一些实施方式中,所述装置10,还包括:
规则获取模块,用于获取待加速匹配的多条安全策略规则;
配置项确定模块,用于确定每条所述安全策略规则对应的IPV6地址配置项;
前缀树初始化模块,用于初始化前缀树;
加速表生成模块,用于将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,并将每个所述IPV6地址配置项对应的安全策略规则关联到该IPV6地址配置项对应的节点上,生成加速表。
在前述实施方式的基础上,在一些变更实施方式中,所述加速表生成模块,包括:
第一节点查找单元,用于对于待加入的二进制形式的IPV6地址配置项,中序遍历所述前缀树,查找键值无法包含该IPV6地址配置项的第一节点;
地址配置项比较单元,用于按照由高位至低位的顺序,将所述IPV6地址配置项与所述第一节点的键值逐位进行比较,确定所述IPV6地址配置项与所述第一节点的键值之间的公共部分和差异部分;
第二节点生成单元,用于根据所述IPV6地址配置项与所述第一节点的键值的公共部分生成第二节点,并以所述第二节点替换所述第一节点;
差异部分处理单元,用于根据所述IPV6地址配置项中的差异部分生成第三节点;
孩子节点确定单元,用于将所述第一节点和所述第三节点确定为所述第二节点的孩子节点。
在前述实施方式的基础上,在一些变更实施方式中,所述孩子节点确定单元,包括:
按键值首位确定子单元,用于将所述第一节点和所述第三节点中,所述差异部分的首位为0的一者确定为所述第二节点的左孩子节点,所述差异部分的首位为1的另一者确定为所述第二节点的右孩子节点。
本申请实施例提供的安全策略规则匹配装置10,与本申请前述实施例提供的安全策略规则匹配方法出于相同的发明构思,具有相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的安全策略规则匹配方法对应的防火墙设备。请参考图5,其示出了本申请的一些实施方式所提供的一种防火墙设备的示意图。如图5所示,所述防火墙设备20可以包括:处理器200,存储器201,总线202和通信接口203,所述处理器200、通信接口203和存储器201通过总线202连接;所述存储器201中存储有可在所述处理器200上运行的计算机程序,所述处理器200运行所述计算机程序时执行本申请前述任一实施方式所提供的安全策略规则匹配方法。
其中,存储器201可能包含高速随机存取存储器(RAM:Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个物理端口203(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
总线202可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器201用于存储程序,所述处理器200在接收到执行指令后,执行所述程序,前述本申请实施例任一实施方式揭示的所述安全策略规则匹配方法可以应用于处理器200中,或者由处理器200实现。
处理器200可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器200中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器200可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器201,处理器200读取存储器201中的信息,结合其硬件完成上述方法的步骤。
本申请实施例提供的防火墙设备与本申请实施例提供的安全策略规则匹配方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
本申请实施方式还提供一种与前述实施方式所提供的安全策略规则匹配方法对应的计算机可读存储介质,请参考图6,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的安全策略规则匹配方法。
需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的安全策略规则匹配方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
需要说明的是,附图中的流程图和框图显示了根据本申请的多个实施例的方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些物理端口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者防火墙设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围,其均应涵盖在本申请的权利要求和说明书的范围当中。
Claims (10)
1.一种安全策略规则匹配方法,其特征在于,包括:
在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;
获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位;
基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
2.根据权利要求1所述的方法,其特征在于,所述获取预设的加速表之前,还包括:
获取待加速匹配的多条安全策略规则;
确定每条所述安全策略规则对应的IPV6地址配置项;
初始化前缀树;
将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,并将每个所述IPV6地址配置项对应的安全策略规则关联到该IPV6地址配置项对应的节点上,生成加速表。
3.根据权利要求2所述的方法,其特征在于,所述将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,包括:
对于待加入的二进制形式的IPV6地址配置项,中序遍历所述前缀树,查找键值无法包含该IPV6地址配置项的第一节点;
按照由高位至低位的顺序,将所述IPV6地址配置项与所述第一节点的键值逐位进行比较,确定所述IPV6地址配置项与所述第一节点的键值之间的公共部分和差异部分;
根据所述IPV6地址配置项与所述第一节点的键值的公共部分生成第二节点,并以所述第二节点替换所述第一节点;
根据所述IPV6地址配置项中的差异部分生成第三节点;
将所述第一节点和所述第三节点确定为所述第二节点的孩子节点。
4.根据权利要求3所述的方法,其特征在于,所述将所述第一节点和所述第三节点确定为所述第二节点的孩子节点,包括:
将所述第一节点和所述第三节点中,所述差异部分的首位为0的一者确定为所述第二节点的左孩子节点,所述差异部分的首位为1的另一者确定为所述第二节点的右孩子节点。
5.一种安全策略规则匹配装置,其特征在于,包括:
报文接收模块,用于在接收IPV6报文后,读取所述IPV6报文携带的IPV6地址信息;
加速表获取模块,用于获取预设的加速表,所述加速表包括以前缀树存储的多条IPV6地址配置项及其对应关联的安全策略规则,其中,所述IPV6地址配置项以二进制形式存储于所述前缀树中,所述前缀树中的每个节点用于存储该节点下所有子树对应IPV6地址配置项的公共前缀位;
地址匹配模块,用于基于所述加速表中的所述前缀树,按照最长前缀匹配方式查找与所述IPV6地址信息相匹配的IPV6地址配置项,将查到的所述IPV6地址配置项关联的安全策略规则确定为与所述IPV6报文匹配的安全策略规则。
6.根据权利要求5所述的装置,其特征在于,还包括:
规则获取模块,用于获取待加速匹配的多条安全策略规则;
配置项确定模块,用于确定每条所述安全策略规则对应的IPV6地址配置项;
前缀树初始化模块,用于初始化前缀树;
加速表生成模块,用于将所有所述IPV6地址配置项以二进制形式依次加入所述前缀树中,并将每个所述IPV6地址配置项对应的安全策略规则关联到该IPV6地址配置项对应的节点上,生成加速表。
7.根据权利要求6所述的装置,其特征在于,所述加速表生成模块,包括:
第一节点查找单元,用于对于待加入的二进制形式的IPV6地址配置项,中序遍历所述前缀树,查找键值无法包含该IPV6地址配置项的第一节点;
地址配置项比较单元,用于按照由高位至低位的顺序,将所述IPV6地址配置项与所述第一节点的键值逐位进行比较,确定所述IPV6地址配置项与所述第一节点的键值之间的公共部分和差异部分;
第二节点生成单元,用于根据所述IPV6地址配置项与所述第一节点的键值的公共部分生成第二节点,并以所述第二节点替换所述第一节点;
差异部分处理单元,用于根据所述IPV6地址配置项中的差异部分生成第三节点;
孩子节点确定单元,用于将所述第一节点和所述第三节点确定为所述第二节点的孩子节点。
8.根据权利要求7所述的装置,其特征在于,所述孩子节点确定单元,包括:
按键值首位确定子单元,用于将所述第一节点和所述第三节点中,所述差异部分的首位为0的一者确定为所述第二节点的左孩子节点,所述差异部分的首位为1的另一者确定为所述第二节点的右孩子节点。
9.一种防火墙设备,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现如权利要求1至4任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现如权利要求1至4任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310518.8A CN110120942B (zh) | 2019-04-17 | 2019-04-17 | 安全策略规则匹配方法及装置、防火墙设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910310518.8A CN110120942B (zh) | 2019-04-17 | 2019-04-17 | 安全策略规则匹配方法及装置、防火墙设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110120942A true CN110120942A (zh) | 2019-08-13 |
CN110120942B CN110120942B (zh) | 2022-01-25 |
Family
ID=67521119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910310518.8A Active CN110120942B (zh) | 2019-04-17 | 2019-04-17 | 安全策略规则匹配方法及装置、防火墙设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110120942B (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110392129A (zh) * | 2019-08-20 | 2019-10-29 | 清华大学 | IPv6客户机以及IPv6客户机与服务器通信的方法 |
CN110572415A (zh) * | 2019-10-14 | 2019-12-13 | 迈普通信技术股份有限公司 | 一种安全防护的方法、设备及系统 |
CN110808963A (zh) * | 2019-10-17 | 2020-02-18 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法、装置及防火墙设备 |
CN111107181A (zh) * | 2019-12-30 | 2020-05-05 | 北京天融信网络安全技术有限公司 | Nat规则匹配方法、装置、电子设备及存储介质 |
CN111181964A (zh) * | 2019-12-30 | 2020-05-19 | 北京天融信网络安全技术有限公司 | 安全策略匹配方法、装置及网络设备、存储介质 |
CN111193746A (zh) * | 2019-12-31 | 2020-05-22 | 奇安信科技集团股份有限公司 | 安全策略的匹配方法、装置、电子设备和介质 |
CN112187743A (zh) * | 2020-09-14 | 2021-01-05 | 北京云杉世纪网络科技有限公司 | 一种基于ip地址最长前缀的网络策略匹配方法及系统 |
CN113709052A (zh) * | 2020-05-21 | 2021-11-26 | 中移(苏州)软件技术有限公司 | 一种网络报文的处理方法、装置、电子设备和存储介质 |
CN113965386A (zh) * | 2021-10-25 | 2022-01-21 | 绿盟科技集团股份有限公司 | 工控协议报文处理方法、装置、设备及存储介质 |
CN114050925A (zh) * | 2021-11-09 | 2022-02-15 | 京东科技信息技术有限公司 | 访问控制列表匹配方法、装置、电子设备和存储介质 |
CN114281830A (zh) * | 2022-03-01 | 2022-04-05 | 杭州涂鸦信息技术有限公司 | 多属性条件的规则映射表构建方法、规则匹配方法和装置 |
CN114301680A (zh) * | 2021-12-29 | 2022-04-08 | 山石网科通信技术股份有限公司 | 一种安全策略的匹配方法及装置、存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055574A (zh) * | 2006-04-13 | 2007-10-17 | 华为技术有限公司 | 一种域名类信息的存储及查询方法以及系统 |
US7986696B1 (en) * | 2009-02-12 | 2011-07-26 | Compass Electro-Optical Systems | Method and apparatus for longest prefix matching |
CN102437950A (zh) * | 2011-11-08 | 2012-05-02 | 西安电子科技大学 | 一种高效且可扩展的ip数据包分类方法 |
CN107707477A (zh) * | 2017-09-28 | 2018-02-16 | 杭州迪普科技股份有限公司 | 报文的处理方法及装置、计算机可读存储介质 |
CN108965337A (zh) * | 2018-09-17 | 2018-12-07 | 新华三信息安全技术有限公司 | 规则匹配方法、装置、防火墙设备及机器可读存储介质 |
-
2019
- 2019-04-17 CN CN201910310518.8A patent/CN110120942B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101055574A (zh) * | 2006-04-13 | 2007-10-17 | 华为技术有限公司 | 一种域名类信息的存储及查询方法以及系统 |
US7986696B1 (en) * | 2009-02-12 | 2011-07-26 | Compass Electro-Optical Systems | Method and apparatus for longest prefix matching |
CN102437950A (zh) * | 2011-11-08 | 2012-05-02 | 西安电子科技大学 | 一种高效且可扩展的ip数据包分类方法 |
CN107707477A (zh) * | 2017-09-28 | 2018-02-16 | 杭州迪普科技股份有限公司 | 报文的处理方法及装置、计算机可读存储介质 |
CN108965337A (zh) * | 2018-09-17 | 2018-12-07 | 新华三信息安全技术有限公司 | 规则匹配方法、装置、防火墙设备及机器可读存储介质 |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110392129B (zh) * | 2019-08-20 | 2020-07-17 | 清华大学 | IPv6客户机以及IPv6客户机与服务器通信的方法 |
CN110392129A (zh) * | 2019-08-20 | 2019-10-29 | 清华大学 | IPv6客户机以及IPv6客户机与服务器通信的方法 |
CN110572415A (zh) * | 2019-10-14 | 2019-12-13 | 迈普通信技术股份有限公司 | 一种安全防护的方法、设备及系统 |
CN110808963B (zh) * | 2019-10-17 | 2022-05-24 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法、装置及防火墙设备 |
CN110808963A (zh) * | 2019-10-17 | 2020-02-18 | 新华三信息安全技术有限公司 | 安全策略规则匹配方法、装置及防火墙设备 |
CN111107181A (zh) * | 2019-12-30 | 2020-05-05 | 北京天融信网络安全技术有限公司 | Nat规则匹配方法、装置、电子设备及存储介质 |
CN111181964A (zh) * | 2019-12-30 | 2020-05-19 | 北京天融信网络安全技术有限公司 | 安全策略匹配方法、装置及网络设备、存储介质 |
CN111107181B (zh) * | 2019-12-30 | 2022-07-12 | 北京天融信网络安全技术有限公司 | Nat规则匹配方法、装置、电子设备及存储介质 |
CN111193746A (zh) * | 2019-12-31 | 2020-05-22 | 奇安信科技集团股份有限公司 | 安全策略的匹配方法、装置、电子设备和介质 |
CN111193746B (zh) * | 2019-12-31 | 2022-12-06 | 奇安信科技集团股份有限公司 | 安全策略的匹配方法、装置、电子设备和介质 |
CN113709052A (zh) * | 2020-05-21 | 2021-11-26 | 中移(苏州)软件技术有限公司 | 一种网络报文的处理方法、装置、电子设备和存储介质 |
CN112187743B (zh) * | 2020-09-14 | 2022-10-28 | 北京云杉世纪网络科技有限公司 | 一种基于ip地址最长前缀的网络策略匹配方法及系统 |
CN112187743A (zh) * | 2020-09-14 | 2021-01-05 | 北京云杉世纪网络科技有限公司 | 一种基于ip地址最长前缀的网络策略匹配方法及系统 |
CN113965386A (zh) * | 2021-10-25 | 2022-01-21 | 绿盟科技集团股份有限公司 | 工控协议报文处理方法、装置、设备及存储介质 |
CN113965386B (zh) * | 2021-10-25 | 2023-11-03 | 绿盟科技集团股份有限公司 | 工控协议报文处理方法、装置、设备及存储介质 |
CN114050925A (zh) * | 2021-11-09 | 2022-02-15 | 京东科技信息技术有限公司 | 访问控制列表匹配方法、装置、电子设备和存储介质 |
CN114050925B (zh) * | 2021-11-09 | 2024-03-01 | 京东科技信息技术有限公司 | 访问控制列表匹配方法、装置、电子设备和存储介质 |
CN114301680A (zh) * | 2021-12-29 | 2022-04-08 | 山石网科通信技术股份有限公司 | 一种安全策略的匹配方法及装置、存储介质 |
CN114301680B (zh) * | 2021-12-29 | 2024-05-07 | 山石网科通信技术股份有限公司 | 一种安全策略的匹配方法及装置、存储介质 |
CN114281830A (zh) * | 2022-03-01 | 2022-04-05 | 杭州涂鸦信息技术有限公司 | 多属性条件的规则映射表构建方法、规则匹配方法和装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110120942B (zh) | 2022-01-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110120942A (zh) | 安全策略规则匹配方法及装置、防火墙设备及介质 | |
CN110290117B (zh) | 一种匹配ip地址的方法及装置 | |
CN109617927B (zh) | 一种匹配安全策略的方法及装置 | |
Kumar et al. | Advanced algorithms for fast and scalable deep packet inspection | |
CN107967219B (zh) | 一种基于tcam的大规模字符串高速查找方法 | |
US11687594B2 (en) | Algorithmic TCAM based ternary lookup | |
JP2006527526A (ja) | 限定サイズを有する限定数のサブデータベースに分割された転送データベースを効率的にサーチするシステムと方法 | |
US10771386B2 (en) | IP routing search | |
CN109905413B (zh) | 一种ip地址的匹配方法及装置 | |
JP2005538624A (ja) | プログラマブル状態マシンのデータ構造を作成して入力単語連鎖を構文解析する方法、プログラマブル状態マシンのデータ構造を使用して入力単語連鎖に対応する結果として得られた値を検索する方法、ワイヤスピードのディープ・パケット処理を行う方法、ディープ・パケット処理のための装置、チップ埋め込み装置、およびプログラミング・コード命令を含むコンピュータ・プログラム(ディープ・パケット処理のための方法および装置) | |
US20050083937A1 (en) | IP address lookup method using pipeline binary tree, hardware architecture, and recording medium | |
CN110808963B (zh) | 安全策略规则匹配方法、装置及防火墙设备 | |
JP2015005980A (ja) | 構文解析木において経路を一意的に列挙する装置および方法 | |
CN109951393B (zh) | 网段查找方法及装置 | |
CN103617226B (zh) | 一种正则表达式匹配方法及装置 | |
CN109951495B (zh) | 网段查找方法及装置 | |
JP2017537566A (ja) | ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 | |
Baswana et al. | On dynamic DFS tree in directed graphs | |
CN110474929B (zh) | 一种冗余规则检测方法及装置 | |
US20160301658A1 (en) | Method, apparatus, and computer-readable medium for efficient subnet identification | |
US8539547B2 (en) | Policy selector representation for fast retrieval | |
CN112187743B (zh) | 一种基于ip地址最长前缀的网络策略匹配方法及系统 | |
Bilò et al. | Space-efficient fault-tolerant diameter oracles | |
KR100662254B1 (ko) | 라우팅 시스템에서의 패킷 분류 장치 및 이를 위한 룰 구축 방법 | |
KR101587756B1 (ko) | 블룸 필터 선-검색을 이용한 스트링 정보 검색 장치 및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |