CN109617927B - 一种匹配安全策略的方法及装置 - Google Patents

一种匹配安全策略的方法及装置 Download PDF

Info

Publication number
CN109617927B
CN109617927B CN201910093283.1A CN201910093283A CN109617927B CN 109617927 B CN109617927 B CN 109617927B CN 201910093283 A CN201910093283 A CN 201910093283A CN 109617927 B CN109617927 B CN 109617927B
Authority
CN
China
Prior art keywords
matching
address
target
item
rule
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.)
Active
Application number
CN201910093283.1A
Other languages
English (en)
Other versions
CN109617927A (zh
Inventor
仇宏迪
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Security Technologies Co Ltd
Original Assignee
New H3C Security Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by New H3C Security Technologies Co Ltd filed Critical New H3C Security Technologies Co Ltd
Priority to CN201910093283.1A priority Critical patent/CN109617927B/zh
Publication of CN109617927A publication Critical patent/CN109617927A/zh
Application granted granted Critical
Publication of CN109617927B publication Critical patent/CN109617927B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0236Filtering by address, protocol, port number or service, e.g. IP-address or URL
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2557Translation policies or rules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0263Rule management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明实施例提供了一种匹配安全策略的方法和装置,涉及网络安全技术领域,该方法包括:接收通信报文;根据预先存储的各匹配项对应的字典树,对通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果;在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;如果第一匹配规则的IP地址匹配项中存在第一匹配结果为不匹配的目标IP地址匹配项,则根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。采用本申请可以提高安全策略的匹配效率。

Description

一种匹配安全策略的方法及装置
技术领域
本发明涉及网络安全技术领域,特别是涉及一种匹配安全策略的方法及装置。
背景技术
目前,当网络设备接收到通信报文时,可以基于预先配置的安全策略对该通信报文进行过滤。安全策略可以包括至少一个匹配规则(rule),每个匹配规则可以包括至少一个匹配项,例如,匹配项可以包括源互联网协议(英文:Internet Protocol,简称:IP)地址匹配项、目的IP地址匹配项、源端口匹配项、目的端口匹配项、协议类型匹配项和Svr(sever,服务)匹配项等。
对于任一匹配规则,网络设备可以根据该匹配规则中各匹配项的匹配值对通信报文(比如源IP地址、目的IP地址、源端口号等)进行匹配。如果通信报文与该匹配规则中的全部匹配项相匹配,则该通信报文与该匹配规则相匹配。例如,第一匹配规则中,源IP地址匹配项的匹配值为1.1.1.6至1.1.1.10,目的IP地址匹配项的匹配值为2.1.1.1至2.1.1.5,协议类型匹配项的匹配值为IP协议;若通信报文中源IP地址为1.1.1.8,目的IP地址为2.1.1.3,协议类型为IP协议,则该通信报文与第一匹配规则相匹配。
在IP地址匹配项(比如源IP地址匹配项和目的IP地址匹配项)中通常使用地址对象组来表示该IP地址匹配项对应的IP地址范围。地址对象组包含至少一个对象,该对象包括通配符掩码和IP地址。其中,通配符掩码中置1的位表示不关心的位,即通配符掩码中置1的位表示IP地址范围中对应的位可以为1或者0;通配符掩码中置0的位表示固定的位,即通配符掩码中置0的位表示IP地址范围中对应的位与IP地址中对应的位相同。通配符掩码可以分为连续通配符掩码和非连续通配符掩码,包含连续通配符掩码的对象可称为连续通配符掩码对象,包含非连续通配符掩码的对象可称为非连续通配符掩码对象。其中,连续通配符掩码对象用于表示连续的IP地址范围(即网段),非连续通配符掩码对象用于表示非连续的IP地址。例如,1.0.0.1 0.0.0.3为连续通配符掩码对象,表示IP地址为1.0.0.1、通配符掩码为0.0.0.3,也即,表示网段1.0.0.0至1.0.0.3。1.0.0.1 0.0.0.5为非连续通配符掩码对象,表示IP地址为1.0.0.1、通配符掩码为0.0.0.5,也即,表示IP地址1.0.0.0、1.0.0.1、1.0.0.4和1.0.0.5。
在现有技术中,当安全策略中所有的IP地址匹配项的地址对象组仅包含连续通配符掩码对象时,网络设备可以针对每一个匹配项,根据全部匹配规则中该匹配项的匹配值构建字典树(Trie树)。然后,基于该字典树对通信报文进行匹配,得到各匹配规则中该匹配项的匹配结果。之后,根据各匹配规则中的各匹配项的匹配结果,确定与通信报文匹配成功的匹配规则,从而实现对通信报文的加速匹配。然而,当安全策略中某一IP地址匹配项的地址对象组包含非连续通配符掩码对象时,由于网络设备无法根据非连续通配符掩码对象构建字典树,进而无法对通信报文进行加速匹配,导致安全策略的匹配效率较低。
发明内容
本发明实施例的目的在于提供一种匹配安全策略的方法及装置,可以提高安全策略的匹配效率。具体技术方案如下:
第一方面,提供了一种匹配安全策略的方法,所述安全策略包含至少一个匹配规则,所述匹配规则包含至少一个匹配项,所述至少一个匹配项包括IP地址匹配项,所述方法包括:
接收通信报文;
根据预先存储的各匹配项对应的字典树,对所述通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据所述各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的;
在所述各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;
判断所述第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项;
如果存在所述目标IP地址匹配项,则根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果,并根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果。
可选的,所述方法还包括:
如果不存在所述目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为匹配。
可选的,所述根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果,包括:
如果所述目标IP地址匹配项的第二匹配结果均为匹配,则判定所述第一匹配规则的匹配结果为匹配;
如果存在第二匹配结果为不匹配的目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为不匹配。
可选的,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取所述目标IP地址匹配项对应的节点地址链,所述节点地址链包含至少一个节点的存储地址,所述节点用于存储所述非连续通配符掩码对象;
根据所述节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
可选的,所述方法还包括:
获取所述各匹配规则中的IP地址匹配项的各地址对象组;
根据预先存储的所述各地址对象组包含的各对象的类型信息,从所述各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合,所述类型信息用于表示对象是否为非连续通配符掩码对象;
将所述目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的各节点中;
针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则从所述预设的各节点中,确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取所述目标节点的节点地址,将获取到各目标节点的节点地址构成该匹配规则的节点地址链。
可选的,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容,所述缓存内容包括上一次与所述非连续通配符掩码对象进行匹配的第一IP地址和所述第一IP地址对应的匹配结果;
如果所述通信报文的第二IP地址与所述第一IP地址不同,则执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述通信报文的第二IP地址与所述第一IP地址相同,则将第一IP地址的匹配结果作为目标IP地址匹配项的第二匹配结果。
可选的,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取预先存储的所述目标IP地址匹配项的地址对象组包含的各对象的类型信息,所述类型信息用于表示所述对象是否为非连续通配符掩码对象;
如果所述目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则判定所述第一匹配规则的匹配结果为不匹配。
第二方面,提供了一种匹配安全策略的装置,所述安全策略包含至少一个匹配规则,所述匹配规则包含至少一个匹配项,所述至少一个匹配项包括IP地址匹配项,所述装置包括:
接收模块,用于接收通信报文;
匹配模块,用于根据预先存储的各匹配项对应的字典树,对所述通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据所述各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的;
第一确定模块,用于在所述各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;
判断模块,用于判断所述第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项;
第二确定模块,用于如果存在所述目标IP地址匹配项,则根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果,并根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果。
可选的,所述装置还包括:
第三确定模块,用于如果不存在所述目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为匹配。
可选的,所述第二确定模块,具体用于:
如果所述目标IP地址匹配项的第二匹配结果均为匹配,则判定所述第一匹配规则的匹配结果为匹配;
如果存在第二匹配结果为不匹配的目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为不匹配。
可选的,所述装置还包括:
第一获取模块,用于获取所述目标IP地址匹配项对应的节点地址链,所述节点地址链包含至少一个节点的存储地址,所述节点用于存储所述非连续通配符掩码对象;
第二获取模块,用于根据所述节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
可选的,所述装置还包括:
第三获取模块,用于获取所述各匹配规则中的IP地址匹配项的各地址对象组;
提取模块,用于根据预先存储的所述各地址对象组包含的各对象的类型信息,从所述各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合,所述类型信息用于表示对象是否为非连续通配符掩码对象;
存储模块,用于将所述目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的各节点中;
第四获取模块,用于针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则从所述预设的各节点中,确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取所述目标节点的节点地址,将获取到各目标节点的节点地址构成该匹配规则的节点地址链。
可选的,所述装置还包括:
第五获取模块,用于获取所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容,所述缓存内容包括上一次与所述非连续通配符掩码对象进行匹配的第一IP地址和所述第一IP地址对应的匹配结果;
如果所述通信报文的第二IP地址与所述第一IP地址不同,则触发所述第二确定模块执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述通信报文的第二IP地址与所述第一IP地址相同,则将第一IP地址的匹配结果作为目标IP地址匹配项的第二匹配结果。
可选的,所述装置还包括:
第六获取模块,用于获取预先存储的所述目标IP地址匹配项的地址对象组包含的各对象的类型信息,所述类型信息用于表示所述对象是否为非连续通配符掩码对象;
如果所述目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则触发所述第二确定模块执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则判定所述第一匹配规则的匹配结果为不匹配。
第三方面,提供了一种网络设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现第一方面所述的方法步骤。
第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的方法步骤。
第五方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的匹配安全策略的方法。
本发明实施例提供了一种匹配安全策略的方法及装置,网络设备可以根据各匹配项对应的字典树,对通信报文进行加速匹配处理,从而得到各匹配规则的匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的。网络设备可以在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则,判断第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项。如果存在目标IP地址匹配项,则根据目标IP地址匹配项的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。基于上述处理,当某匹配规则的IP地址匹配项的地址对象组中存在非连续通配符掩码对象时,可以对其他匹配项、以及IP地址匹配项中的连续通配符掩码对象等能够加速匹配的匹配项进行加速匹配,然后再进一步对不能够进行加速匹配的非连续通配符掩码对象进行匹配。而现有技术中,当匹配规则中包含非连续通配符掩码对象时,只能将报文信息分别与安全策略包含的每条匹配规则依次匹配。因此,本方案与现有技术相比,从整体上实现了对通信报文的加速匹配,提高了安全策略的匹配效率。当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种匹配安全策略的方法流程图;
图2为本申请实施例提供的一种字典树的示意图;
图3为本申请实施例提供的一种节点和节点地址链的示意图;
图4为本申请实施例提供的一种匹配安全策略的示例的方法流程图;
图5为本申请实施例提供的一种匹配非连续通配符掩码对象的示例的方法流程图;
图6为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图7为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图8为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图9为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图10为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图11为本申请实施例提供的一种匹配安全策略的装置结构示意图;
图12为本申请实施例提供的一种网络设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本申请实施例提供了一种匹配安全策略的方法,可以应用于网络设备。其中,网络设备可以为防火墙、入侵防御系统(英文:Intrusion Prevention System,简称:IPS)设备等设备。目前,当网络设备接收到通信报文时,可以基于预先配置的安全策略对该通信报文进行过滤。安全策略可以包括至少一个匹配规则(即rule),每个匹配规则可以包括至少一个匹配项,匹配项可以包括IP地址匹配项。例如,匹配项可以包括源IP地址匹配项、目的IP地址匹配项、源端口匹配项、目的端口匹配项和协议类型匹配项等。
对于任一匹配规则,网络设备可以根据该匹配规则中各匹配项的匹配值,对通信报文携带的报文信息(比如源IP地址、目的IP地址、源端口号、目的端口号、协议类型等)进行匹配。如果通信报文与该匹配规则中的全部匹配项相匹配,则该通信报文与该匹配规则相匹配。
例如,第一匹配规则中,源IP地址匹配项的匹配值为1.1.1.6至1.1.1.10,目的IP地址匹配项的匹配值为2.1.1.1至2.1.1.5,协议类型匹配项的匹配值为IP协议;如果通信报文中源IP地址为1.1.1.8,目的IP地址为2.1.1.3,协议类型为IP协议,则该通信报文与第一匹配规则相匹配。
在IP地址匹配项(比如源IP地址匹配项和目的IP地址匹配项)中通常使用地址对象组来表示该IP地址匹配项对应的IP地址范围。地址对象组包含至少一个对象,该对象包括通配符掩码和IP地址。其中,通配符掩码中置1的位表示不关心的位,即通配符掩码中置1的位表示IP地址范围中对应的位可以为1或者0;通配符掩码中置0的位表示固定的位,即通配符掩码中置0的位表示IP地址范围中对应的位与IP地址中对应的位相同。通配符掩码可以分为连续通配符掩码和非连续通配符掩码,包含连续通配符掩码的对象可称为连续通配符掩码对象,包含非连续通配符掩码的对象可称为非连续通配符掩码对象。其中,连续通配符掩码对象用于表示连续的IP地址范围(即一个网段),非连续通配符掩码对象用于表示非连续的IP地址。
例如,1.0.0.1 0.0.0.3为连续通配符掩码对象,表示IP地址为1.0.0.1、通配符掩码为0.0.0.3,也即,表示网段1.0.0.0至1.0.0.3。1.0.0.1 0.0.0.5为非连续通配符掩码对象,表示IP地址为1.0.0.1、通配符掩码为0.0.0.5,也即,表示IP地址1.0.0.0、1.0.0.1、1.0.0.4和1.0.0.5。
本申请实施例提供了一种匹配安全策略的方法,当某匹配规则的IP地址匹配项的地址对象组中存在非连续通配符掩码对象时,可以先对除IP地址匹配项之外的其他匹配项(比如源端口匹配项、目的端口匹配项和协议类型匹配项等匹配项)、以及IP地址匹配项中的连续通配符掩码对象进行加速匹配,然后再进一步匹配非连续通配符掩码对象,从而从整体上实现了对通信报文的加速匹配,提高了安全策略的匹配效率。本申请实施例改进了匹配方法,可以先对能够加速匹配的匹配项进行加速匹配,对不能够加速匹配的匹配项进一步进行匹配,从而提高了匹配效率。
本申请以IP地址匹配项包括源IP地址匹配项和目的IP地址匹配项为例进行介绍。下面将结合具体实施方式,对本申请实施例提供的一种匹配安全策略的方法进行详细的说明,如图1所示,具体步骤如下。
S101,接收通信报文。
在实施中,当网络设备接收到通信报文后,可以对通信报文进行解析,得到通信报文中携带的报文信息。其中,报文信息可以包括源IP地址、目的IP地址、源端口号、目的端口号和协议类型等。
S102,根据预先存储的各匹配项对应的字典树,对通信报文进行加速匹配处理,得到各匹配规则的匹配项的第一匹配结果。
其中,IP地址匹配项对应的字典树(也称为Trie树)是根据各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的。
在实施中,网络设备中可以预先存储有安全策略,该安全策略可以由技术人员进行配置。安全策略中可以包括至少一个匹配规则。每个匹配规则可以包括至少一个匹配项。匹配项可以包括源IP地址匹配项、目的IP地址匹配项、源端口匹配项、目的端口匹配项或协议类型匹配项,匹配项还可以包括其他类型的匹配项,本申请实施例不作限定。其中,源IP地址匹配项的地址对象组中,可以包括连续性通配符掩码对象和/或非连续通配符掩码对象。同理,目的IP地址匹配项的地址对象组中,可以包括连续性通配符掩码对象和/或非连续通配符掩码对象。
技术人员在网络设备中配置安全策略后,针对每一匹配项,网络设备可以从各匹配规则中获取该匹配项的匹配值,进而根据该匹配项在所有匹配规则中的匹配值,生成该匹配项对应的字典树。其中,IP地址匹配项对应的字典树,可以是根据各匹配规则中IP地址匹配项的连续通配符掩码对象生成的。网络设备可以分别生成源IP地址匹配项对应的字典树和目的IP地址匹配项对应的字典树。在本申请实施例中,可以依据传统的方式生成字典树,本申请不再进行说明。
在实际应用中,针对每个匹配项,可以预先生成该匹配项对应的位图(bitmap),该bitmap用于表示针对该匹配项,各匹配规则可能存在的匹配结果的组合。例如,针对源IP地址匹配项,存在如表一所示的两个匹配规则。
表一
规则名称 源IP地址
Rule1 159.95.10.0~159.95.11.15
Rule2 159.95.11.12/30
基于表一,可能存在的匹配结果的组合如表二所示。
表二
ID Rule1 Rule2
1 1 1
2 1 0
其中,针对匹配结果,1表示匹配结果为匹配,0表示匹配结果为不匹配。ID为1的表项表示与Rule1和Rule2均匹配;ID为2的表项表示与Rule1匹配、与Rule2不匹配。
各匹配项对应的字典树的结构是类似的,对于某匹配项的字典树,该字典树以匹配值作为节点,该节点可以与表二中的ID建立映射关系,从而建立字典树中的节点与各匹配规则的匹配结果的映射关系。在一种示例中,源IP地址可以以32位二进制数表示,将其拆分为四层,即1~16位为第一层,17~19位为第二层,20~24位为第三层,25~32位为第四层(以下用二进制表示)。例如,源IP地址为159.95.10.10,则第一层为159.95(十进制表示),第二层为000(二进制表示),第三层为01010(二进制表示),第四层为10(十进制表示)。后续,可以将报文信息中的源IP地址逐层进行匹配,以提高匹配的效率。如图2所示,为本申请实施例提供的源IP地址的字典树的示意图,该字典树包括四层,第一层为0.0~255.255,第二层为000~111,第三层为00000~11111,第四层为0000 0000~1111 1111。圆圈中的数值为该节点对应的bitmap表中的表项的ID。
本申请实施例不对字典树的表示方式作特别限定,字典树还可以以其他现有方式表示,在此不再赘述。网络设备生成各匹配项对应的字典树后,可以对通信报文进行加速匹配处理,得到各匹配规则的匹配项的第一匹配结果。其中,这些第一匹配结果可以以位图(bitmap)的形式进行表示。如表三所示,为本申请实施例提供的一种通过字典树进行匹配得到的第一匹配结果bitmap的示例,表三中,源IP地址匹配项的匹配结果,为通信报文中的源IP地址与源IP地址匹配项中的连续通配符掩码对象进行匹配得到的匹配结果;同理,目的IP地址匹配项的匹配结果,为通信报文中的目的IP地址与目的IP地址匹配项中的连续通配符掩码对象进行匹配得到的匹配结果。其中,1表示第一匹配结果为匹配,0表示第一匹配结果为不匹配。
表三
Figure BDA0001963850280000091
Figure BDA0001963850280000101
本申请提供了一种通过字典树进行加速匹配的一个示例,参照图2所示的字典树,以通信报文中的源IP地址为159.95.10.10为例,具体的匹配过程为:首先匹配第一层,匹配到节点159.95,节点159.95存在子节点(即第二层的节点),则继续匹配,匹配到第二层中的节点000,节点000存在子节点(即第三层的节点),则继续匹配,匹配到第三层中的节点01010,节点01010不存在子节点,则匹配结束。网络设备可以查找节点01010对应的ID,即ID为2,则可以确定Rule1的第一匹配结果为1,Rule2的第一匹配结果为1,即该源IP地址与Rule1匹配、与Rule2不匹配。
S103,在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则。
在实施中,网络设备得到各匹配规则的匹配项的第一匹配结果后,针对每一匹配规则,可以从bitmap加速表中,获取该匹配规则中除源IP地址匹配项和目的IP地址匹配项外的其他匹配项的第一匹配结果,进而判断获取到的第一匹配结果是否均为匹配。在一种可能的实现方式中,网络设备可以将该匹配规则中除源IP地址匹配项和目的IP地址匹配项外的其他匹配项的多个第一匹配结果进行与计算,从而得到该匹配规则中的其他匹配项的整体匹配结果(为了便于描述,可称为第三匹配结果)。
例如,如表三所示,针对匹配规则1,源端口匹配项的第一匹配结果为0、目的端口匹配项的第一匹配结果为1、协议类型匹配项的第一匹配结果为0,对0、1、0进行与操作,得到匹配规则1中其他匹配项的第三匹配结果为0。
网络设备可以确定第三匹配结果为匹配(即为1)的第一匹配规则(即其他匹配项的第一匹配结果均为匹配的匹配规则)。然后,网络设备可以获取第一匹配规则的源IP地址匹配项的第一匹配结果、以及目的IP地址匹配项的第一匹配结果,以便后续进行进一步判断。
对于第三匹配结果为不匹配(即为0)的匹配规则(可称为第二匹配规则),说明第二匹配规则的其他匹配项中存在第一匹配结果为不匹配的匹配项,网络设备可以直接判定通信报文与该第二匹配规则不匹配。
例如,如表三所示,匹配规则2、匹配规则3、匹配规则4和匹配规则5中,源端口匹配项的第一匹配结果、目的端口匹配项的第一匹配结果以及协议类型匹配项的第一匹配结果均为1,则网络设备可以分别获取匹配规则2、匹配规则3、匹配规则4和匹配规则5的源IP地址匹配项的第一匹配结果和目的IP地址匹配项的第一匹配结果,以便后续进行进一步判断。而匹配规则1中的源端口匹配项的第一匹配结果和协议类型匹配项的第一匹配结果均为0,则可以直接判定通信报文与该匹配规则1不匹配。
需要说明的是,针对任一匹配规则,如果该匹配规则中,除源IP地址匹配项和目的IP地址匹配项外的其他匹配项中,存在任一匹配项的第一匹配结果均为不匹配,则说明该通信报文与安全策略不匹配。
S104,判断第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项。
在实施中,网络设备确定第一匹配规则后,可以进一步判断第一匹配规则的源IP地址匹配项和目的IP地址匹配项中,是否存在第一匹配结果为不匹配的目标IP地址匹配项。
如果第一匹配规则的源IP地址匹配项和目的IP地址匹配项中,不存在第一匹配结果为不匹配的目标IP地址匹配项,则说明该通信报文与第一匹配规则的全部匹配项均匹配,该通信报文与第一匹配规则相匹配。
例如,如表三所示,匹配规则5的源IP地址匹配项的第一匹配结果和目的IP地址匹配项的第一匹配结果均为1。则说明通信报文的源IP地址与匹配规则5的源IP地址匹配项的地址对象组中的连续通配符掩码对象相匹配,且通信报文的目的IP地址与匹配规则5的目的IP地址匹配项的地址对象组中的连续通配符掩码对象相匹配,即匹配规则5的匹配结果为匹配。
如果第一匹配规则的源IP地址匹配项和目的IP地址匹配项中,存在第一匹配结果为不匹配的匹配项(可称为目标IP地址匹配项),则说明通信报文中目标IP地址匹配项对应的报文信息与第一匹配规则中目标IP地址匹配项的地址对象组中的连续通配符掩码对象不匹配。网络设备需要进一步判断该报文信息是否与第一匹配规则的目标IP地址匹配项的地址对象组中的非连续通配符掩码对象相匹配。其中,目标IP地址匹配项可以包括源IP地址匹配项和/或目的IP地址匹配项。
如表三所示,匹配规则2中的源IP地址匹配项的第一匹配结果为0,则源IP地址匹配项为目标IP地址匹配项,匹配规则3中的目的IP地址匹配项的第一匹配结果为0,则目的IP地址匹配项为目标IP地址匹配项,匹配规则4中的源IP地址匹配项的第一匹配结果和目的IP地址匹配项的第一匹配结果均为0,则源IP地址匹配项和目的IP地址匹配项均为目标IP地址匹配项。
可选的,网络设备确定目标IP地址匹配项后,可以先判断该目标IP地址匹配项的地址对象组中是否包含非连续通配符掩码对象。具体处理过程如下。
步骤A1,获取预先存储的目标IP地址匹配项的地址对象组包含的各对象的类型信息。
其中,类型信息用于表示对象是否为非连续通配符掩码对象,例如,0表示连续通配符掩码对象,1表示非连续通配符掩码对象。
在实施中,网络设备中可以存储地址对象组包含的各对象的类型信息。在一种可行的方式中,地址对象组可以包括对象和对象类型的对应关系。对象对应的对象类型可以由技术人员进行设置,也可以通过传统的识别算法对对象进行识别,从而得到该对象对应的对象类型。
网络设备得到第一匹配规则的目标IP地址匹配项后,可以先获取目标IP地址匹配项的地址对象组包含的各对象的类型信息,然后根据获取到的类型信息,确定该地址对象组中是否包含非连续通配符掩码对象。如果目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则执行步骤A2;如果目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则执行步骤A3。
步骤A2,根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。
在实施中,如果目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则网络设备需要进一步判断通信报文是否与目标IP地址匹配项的地址对象组中的非连续通配符掩码对象相匹配。网络设备可以获取目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,然后,根据获取到的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。
步骤A3,判定第一匹配规则的匹配结果为不匹配。
在实施中,如果目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则说明通信报文已经与全部匹配项匹配完毕,该通信报文与第一匹配规则不匹配,网络设备可以确定第一匹配规则的匹配结果为不匹配。
可选的,各匹配规则和非连续通配符掩码对象的对应关系可以通过节点-节点地址链的形式进行存储,以避免针对每个匹配规则分别存储非连续通配符掩码,降低存储的数据量。本申请实施例提供了一种网络设备生成各节点、以及各匹配规则的节点地址链的过程。具体可以包括如下步骤:
步骤B1,获取各匹配规则中的IP地址匹配项的地址对象组。
在实施中,技术人员在网络设备中配置安全策略后,网络设备可以获取该安全策略的各匹配规则中的IP地址匹配项的地址对象组。其中,地址对象组可以包括对象和对象类型的对应关系;对象可以包括非连续通配符掩码对象和非连续通配符掩码对象。
步骤B2,根据预先存储的各地址对象组包含的各对象的类型信息,从各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合。
其中,类型信息用于表示对象是否为非连续通配符掩码对象,例如,0表示连续通配符掩码对象,1表示非连续通配符掩码对象。
在实施中,网络设备中可以存储地址对象组包含的各对象的类型信息。在一种可行的方式中,地址对象组可以包括对象和对象类型的对应关系。对象对应的对象类型可以由技术人员进行设置,也可以通过传统的识别算法对对象进行识别,从而得到该对象对应的对象类型。
网络设备获取到各匹配规则中的IP地址匹配项的地址对象组后,可以根据预先存储的各地址对象组包含的各对象的类型信息,获取各匹配规则中的IP地址匹配项的非连续通配符掩码对象。然后,网络设备对提取出的非连续通配符掩码对象进行去重,得到目标对象集合。例如,匹配规则1的非连续非通配符掩码对象为1.0.0.1 0.0.0.5,匹配规则2的非连续非通配符掩码对象为2.0.0.1 0.0.0.5,匹配规则3的非连续非通配符掩码对象为3.0.0.1 0.0.0.5和2.0.0.1 0.0.0.5,匹配规则4的非连续非通配符掩码对象为1.0.0.10.0.0.5。则目标对象集合为{1.0.0.1 0.0.0.5,2.0.0.1 0.0.0.5,3.0.0.1 0.0.0.5}。
步骤B3,将所述目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的节点中。
在实施中,网络设备得到目标对象集合后,可以将目标对象集合中的各非连续通配符掩码对象,分别存储在预设的各节点中。例如,目标对象集合为{1.0.0.1 0.0.0.5,2.0.0.1 0.0.0.5,3.0.0.1 0.0.0.5}。则网络设备可以将目标对象集合中的各非连续通配符掩码对象,分别存储在预设的节点1至节点3中。
步骤B4,针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取所述目标节点的节点地址,将获取到的节点地址构成该匹配规则的节点地址链。
在实施中,针对每条匹配规则,网络设备可以确定该匹配规则是否包含非连续通配符掩码对象。如果该匹配规则包含非连续通配符掩码对象,则可以获取该匹配规则包含的非连续通配符掩码对象,并确定存储该非连续通配符掩码对象的目标节点,进而,网络设备获取各目标节点对应的节点地址。然后,网络设备将获取到的节点地址构成该匹配规则的节点地址链。
如图3所示,为本申请实施例提供的一种非连续配符掩码对象的存储结构示意图,以该源IP地址匹配项为例,源IP地址匹配项的地址对象组中共存在5个非连续配符掩码对象(可记为非连续配符掩码对象1~非连续配符掩码对象5),分别存储在5个节点(即节点1~节点5),5个节点分别设置有对应的节点地址(即节点地址1~5)。其中,非连续配符掩码对象1存储在节点1中,对应的节点地址为节点地址1;非连续配符掩码对象2存储在节点2中,对应的节点地址为节点地址2,以此类推。rule1(匹配规则1)的地址对象组中包含非连续配符掩码对象1、非连续配符掩码对象2、非连续配符掩码对象3和非连续配符掩码对象4,则rule1的节点地址链包含节点地址1、节点地址2、节点地址3和节点地址4;rule2的地址对象组中包含非连续配符掩码对象2、非连续配符掩码对象3和非连续配符掩码对象5,则rule2的节点地址链包含节点地址2、节点地址3和节点地址5;rule3的地址对象组中包含非连续配符非连续配符掩码对象2、非连续配符掩码对象4和非连续配符掩码对象5,则rule3的节点地址链包含节点地址2、节点地址4和节点地址5。
这样,针对每条rule,只需存节点地址链,无需存储非连续配符掩码对象,能够节约网络设备的存储空间。
可选的,基于上述建立的节点和节点地址链,网络设备获取第一匹配规则中目标IP地址匹配项的地址对象组中的非连续通配符掩码对象的具体处理过程可以如下。
步骤C1,获取目标IP地址匹配项对应的节点地址链。
其中,节点地址链包含至少一个节点的存储地址,节点用于存储所述非连续通配符掩码对象。
在实施中,技术人员在网络设备中配置安全策略后,网络设备可以获取各匹配规则中的IP地址匹配项的地址对象组,进而从这些地址对象组中获取非连续通配符掩码对象。网络设备可以将获取到的非连续通配符掩码对象存储在节点中,其中,节点与非连续通配符掩码对象一一对应。另外,网络设备还可以预先存储每个节点对应的节点地址,该节点地址指向唯一一个节点。
针对每条匹配规则,网络设备可以确定该匹配规则的地址对象组中包含的非连续通配符掩码对象,然后,确定存储这些非连续配符掩码对象的节点,进而确定这些节点的节点地址,将确定出的节点地址构成该匹配规则中该IP地址匹配项对应的节点地址链。对于IP地址匹配项包括源IP地址匹配项和目的IP地址匹配项的情况,网络设备分别根据源IP地址匹配项的地址对象组和目的IP地址匹配项的地址对象组,生成源IP地址匹配项对应的节点地址链和目的IP地址匹配项对应的节点地址链。
网络设备可以从预先生成的各匹配规则的IP地址匹配项对应的节点地址链中,获取第一匹配规则的目标IP地址匹配项对应的节点地址链。例如,第一匹配规则的目标IP地址匹配项为源IP地址匹配项,则网络设备可以获取第一匹配规则的源IP地址匹配项对应的节点地址链。
可选的,对于上述步骤A1中,网络设备需要判断该目标IP地址匹配项的地址对象组中是否包含非连续通配符掩码对象的情况,或者,网络设备也可以判断是否存储第一匹配规则的目标IP地址匹配项对应的节点地址链,如果判断结果为是,则确定目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,网络设备可以执行步骤C1~步骤C2,以获取目标IP地址匹配项的非连续通配符掩码对象,然后再执行步骤A2。如果判断结果为否,则确定目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象。
步骤C2,根据节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
在实施中,网络设备得到目标IP地址匹配项对应的节点地址链后,可以根据节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
S105,如果存在目标IP地址匹配项,则根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。
在实施中,网络设备得到第一匹配规则包含的目标IP地址匹配项后,可以进一步根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。如表四所示,为第一匹配规则包含的目标IP地址匹配项中,非连续通配符掩码对象的匹配结果的示例。其中,1表示第二匹配结果为匹配,0表示第二匹配结果为不匹配,“—”表示该IP地址匹配项不是目标IP地址匹配项,也即,该匹配规则中该IP地址匹配项的第一匹配结果为1,或者,该匹配规则中该IP地址匹配项的地址对象组中不包含非连续通配符掩码对象。
表四
Figure BDA0001963850280000151
然后,网络设备可以根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。
可选的,网络设备得到目标IP地址匹配项的第二匹配结果后,可以判断目标IP地址匹配项的第二匹配结果是否均为匹配。如果目标IP地址匹配项的第二匹配结果均为匹配,则说明通信报文与第一匹配规则相匹配,即,第一匹配规则的匹配结果为匹配。如果第一匹配规则中存在第二匹配结果为不匹配的目标IP地址匹配项,则说明通信报文与第一匹配规则不匹配,即,第一匹配规则的匹配结果为不匹配。
例如,如表四所示,匹配规则2的源IP地址匹配项的第二匹配结果为0,则匹配规则2的匹配结果为不匹配;匹配规则4的目的IP地址匹配项的第二匹配结果为0,则匹配规则4的匹配结果为不匹配;匹配规则3中的目的IP地址匹配项的第二匹配结果为1,则匹配规则3的匹配结果为匹配。
可选的,如果第一匹配规则的IP地址匹配项中不存在第一匹配结果为不匹配的目标IP地址匹配项,则说明通信报文与第一匹配规则的IP地址匹配项得地址对象组中的连续通配符掩码对象也相匹配,从而可以确定通信报文与第一匹配规则的全部匹配项相匹配,即,第一匹配规则的匹配结果为匹配。
例如,如表三所示,匹配规则5的源IP地址匹配项的第一匹配结果和目的IP地址匹配项的第一匹配结果均为1,则匹配规则5的匹配结果为匹配。
可选的,网络设备还可以在节点中存储缓存内容,该缓存内容包括上一次与该节点的非连续通配符掩码对象进行匹配的第一IP地址、以及第一IP地址对应的匹配结果。这样,如果网络设备接收到相同IP地址的通信报文,可以直接得到第二匹配结果,无需与非连续通配符掩码对象进行匹配,从而提高安全策略的匹配效率。具体处理步骤如下。
步骤D1,获取目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容。
在实施中,网络设备得到目标IP地址匹配项后,可以获取存储目标IP地址匹配项的地址对象组中的非连续通配符掩码对象的节点中存储的缓存内容。其中,缓存内容包括上一次与非连续通配符掩码对象进行匹配的第一IP地址、以及第一IP地址对应的匹配结果。然后,网络设备可以判断通信报文中目标IP地址匹配项对应的报文信息(以下称为第二IP地址)与缓存内容中的第一IP地址是否相同。如果通信报文的第二IP地址与第一IP地址不同,则执行步骤D2。如果通信报文的第二IP地址与第一IP地址相同,则执行步D3。
步骤D2,根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。
在实施中,如果通信报文的第二IP地址与第一IP地址不同,则网络设备可以根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。例如,目标IP地址匹配项为源IP地址匹配项,缓存内容中存储的第一IP地址为1.1.1.4,匹配结果为匹配,如果通信报文的源IP地址为1.1.1.5,则该通信报文的源IP地址与第一IP地址不同,因此,网络设备需要根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果。
需要说明的是,网络设备得到目标IP地址匹配项的第二匹配结果后,可以将通信报文的目标IP地址匹配项对应的IP地址和目标IP地址匹配项的第二匹配结果存储至缓存内容中。例如,通信报文的源IP地址为1.1.1.5,匹配出的第二匹配结果为不匹配,则网络设备可以将缓存内容中的第一IP地址修改为1.1.1.5,匹配结果修改为不匹配。
步骤D3,将第一IP地址对应的匹配结果作为目标IP地址匹配项的第二匹配结果。
在实施中,如果通信报文的第二IP地址与第一IP地址相同,则网络设备可以直接将第一IP地址对应的匹配结果作为目标IP地址匹配项的第二匹配结果。例如,目标IP地址匹配项为源IP地址匹配项,缓存内容中存储的第一IP地址为1.1.1.5,匹配结果为匹配,如果通信报文的源IP地址为1.1.1.5,则可以确定源IP地址匹配项的第二匹配结果为匹配。该情况下,无需修改缓存内容。
图4为本发明实施例提供的一种匹配安全策略的方法的示例,在该示例中,安全策略包括匹配规则1和匹配规则2,匹配规则1和匹配规则2中匹配项包括源IP地址匹配项、源端口匹配项、目的端口匹配项和协议类型匹配项。以下以IP地址匹配项为源IP地址匹配项为例进行介绍,源IP地址匹配项的地址对象组可以包括连续通配符掩码对象和/或非连续通配符掩码对象。
其中,匹配规则1的源IP地址匹配项的连续通配符掩码对象为1.0.0.1 0.0.0.3,表示的IP地址为1.0.0.0、1.0.0.1、1.0.0.2和1.0.0.3;非连续通配符掩码对象包括:2.0.0.1 0.0.0.5,表示的IP地址为2.0.0.0、2.0.0.1、2.0.0.4和2.0.0.5,以及1.0.0.10.0.0.5,表示IP地址1.0.0.0、1.0.0.1、1.0.0.4和1.0.0.5。源端口匹配项的匹配值为10至20;目的端口匹配项为100至200;协议类型匹配项的匹配值为IP类型。匹配规则2的源IP地址匹配项的连续通配符掩码对象为2.0.0.0 0.0.0.3,表示的IP地址为2.0.0.0、2.0.0.1、2.0.0.2和2.0.0.3;源端口匹配项的匹配值为10至20;目的端口匹配项为400至500;协议类型匹配项的匹配值为IP类型。
如图4所示,具体处理过程如下。
S401,接收通信报文。
其中,通信报文的报文信息中源IP地址为2.0.0.1,源端口为15,目的端口为102,协议类型为IP类型。
S402,根据预先存储的各匹配项对应的字典树,对通信报文进行加速匹配处理,得到各匹配规则的匹配项的第一匹配结果。
其中,源IP地址匹配项对应的字典树是根据各匹配规则的源IP地址匹配项的地址对象组中的连续通配符掩码对象生成的。
在本示例中,匹配规则1和匹配规则2的各匹配项的第一匹配结果,如表五所示:
表五
Figure BDA0001963850280000171
S403,在各匹配规则中,确定除源IP地址匹配项外的其他匹配项的第一匹配结果均为匹配的第一匹配规则。
在本示例中,第一匹配规则为匹配规则1。
S404,判断匹配规则1的源IP地址匹配项的第一匹配结果是否为匹配。
如果判断结果为是,则执行S405。如果判断结果为否,则执行S406。
S405,确定该通信报文与匹配规则1相匹配。
S406,判断匹配规则1的源IP地址匹配项的地址对象组中是否包含非连续通配符掩码对象。
如果匹配规则1的源IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则执行S407。如果匹配规则1的源IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则执行S408。
S407,确定该通信报文与匹配规则1不匹配。
S408,根据匹配规则1的源IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到第二匹配结果,该第二匹配结果即该通信报文与匹配规则1的匹配结果。
在本示例中,匹配规则1的源IP地址匹配项的非连续通配符掩码对象中包括通信报文的源IP地址,因此,目标源IP地址匹配项的第二匹配结果为匹配,通信报文与匹配规则1相匹配。
图5为本发明实施例提供的一种通过节点和节点地址链,对非连续通配符掩码对象进行匹配的示例。基于图4所示的示例,本示例对源IP地址为2.0.0.1的通信报文与上述匹配规则1的非连续通配符掩码对象进行匹配的过程进行说明。匹配规则1的非连续通配符掩码对象包括:1.0.0.1 0.0.0.5,表示IP地址1.0.0.0、1.0.0.1、1.0.0.4和1.0.0.5,以及2.0.0.1 0.0.0.5,表示的IP地址为2.0.0.0、2.0.0.1、2.0.0.4和2.0.0.5,其中,1.0.0.10.0.0.5存储在节点1中,节点1的节点地址为节点地址1,2.0.0.1 0.0.0.5存储在节点2中,节点2的节点地址为节点地址2,具体处理过程如下。
S501,获取匹配规则1的源IP地址匹配项对应的节点地址链。
其中,匹配规则1的节点地址链包含两个节点地址,即,匹配规则1的节点地址链为节点地址1-节点地址2。
S502,获取节点地址链中的第N个节点地址,并获取该节点地址指向的节点中存储的缓存内容。
其中,缓存内容包括上一次与该节点的非连续通配符掩码对象进行匹配的第一IP地址、以及第一IP地址对应的匹配结果。N为正整数,且N的初始值为1。
本示例中,节点1中的缓存内容为1.0.0.6,匹配结果为不匹配;节点2中的缓存内容为2.0.0.1,匹配结果为匹配。
S503,判断通信报文中源IP地址与缓存内容中的第一IP地址是否相同。
如果通信报文的源IP地址与第一IP地址相同,则执行S504。如果通信报文的源IP地址与第一IP地址不同,则执行S505。
本示例中,当N为1时,获取节点1的缓存内容,即1.0.0.6、匹配结果为不匹配,由于通信报文的源IP地址2.0.0.1,与缓存内容中的1.0.0.6不相同,执行S505;当N为2时,获取节点2的缓存内容,即2.0.0.1、匹配结果为匹配,由于通信报文的源IP地址2.0.0.1,与缓存内容中的2.0.0.1相同,执行S504。
S504,将第一IP地址对应的匹配结果作为源IP地址匹配项的第二匹配结果。
本示例中,当N为2时,通信报文的源IP地址2.0.0.1,与缓存内容中的2.0.0.1相同,确定第二匹配结果为匹配。
S505,获取该节点中存储的源IP地址匹配项的地址对象组中的非连续通配符掩码对象。
本示例中,当N为1时,由于通信报文的源IP地址2.0.0.1,与缓存内容中的1.0.0.6不相同,因此,需要获取节点1中的非连续通配符掩码对象,即1.0.0.1 0.0.0.5。
S506,根据源IP地址匹配项的的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到源IP地址匹配项的第二匹配结果。
本示例中,当N为1时,网络设备将通信报文的源IP地址2.0.0.1,分别与1.0.0.10.0.0.5表示的各IP地址(即1.0.0.0、1.0.0.1、1.0.0.4和1.0.0.5)进行匹配,可以得到匹配结果为不匹配。
S507,将该节点存储的缓存内容中的第一IP地址修改为通信报文的源IP地址,并将第一IP地址对应的匹配结果修改为第二匹配结果。
本示例中,当N为1时,网络设备将节点1的缓存内容修改为2.0.0.1、匹配结果为不匹配。
S508,判断源IP地址匹配项的第二匹配结果是否为匹配。
如果源IP地址匹配项的第二匹配结果为匹配,则执行S509。如果源IP地址匹配项的第二匹配结果为不匹配,则执行S510。
本示例中,当N为1时,由于2.0.0.1与1.0.0.1 0.0.0.5不匹配,因此,执行S510。
S509,判定源IP地址匹配项的匹配结果为第二匹配结果。
S510,判断第N个节点地址是否为链尾地址。
如果第N个节点地址是链尾地址,则执行S509。如果第N个节点地址不是链尾地址,则执行S511。
本示例中,匹配规则1的节点地址链为节点地址1-节点地址2。因此,节点地址1不是链尾地址
S511,将N的取值加1,并返回S501,以重复执行S501至S510。
本示例中,由于2.0.0.1与节点1的缓存内容不匹配,因此,将N加1,即,N的取值变为2,然后执行S501至S510,以便和节点地址2指向的节点2进行匹配。
本发明实施例提供了一种匹配安全策略的方法,网络设备可以根据各匹配项对应的字典树,对通信报文进行加速匹配处理,从而得到各匹配规则的匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的。网络设备可以在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则,判断第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项。如果存在目标IP地址匹配项,则根据目标IP地址匹配项的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。基于上述处理,当某匹配规则的IP地址匹配项的地址对象组中存在非连续通配符掩码对象时,可以对其他匹配项、以及IP地址匹配项中的连续通配符掩码对象等能够加速匹配的匹配项进行加速匹配,然后再进一步对不能够进行加速匹配的非连续通配符掩码对象进行匹配。而现有技术中,当匹配规则中包含非连续通配符掩码对象时,只能将报文信息分别与安全策略包含的每条匹配规则依次匹配。因此,本方案与现有技术相比,从整体上实现了对通信报文的加速匹配,提高了安全策略的匹配效率。
基于相同的技术构思,如图6所示,本申请实施例还提供了一种匹配安全策略的装置,安全策略包含至少一个匹配规则,匹配规则包含至少一个匹配项,所述至少一个匹配项包括IP地址匹配项,该装置包括:
接收模块610,用于接收通信报文;
匹配模块620,用于根据预先存储的各匹配项对应的字典树,对通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的;
第一确定模块630,用于在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;
判断模块640,用于判断第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项;
第二确定模块650,用于如果存在目标IP地址匹配项,则根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。
可选的,如图7所示,该装置还包括:
第三确定模块660,用于如果不存在目标IP地址匹配项,则判定第一匹配规则的匹配结果为匹配。
可选的,第二确定模块650,具体用于:
如果目标IP地址匹配项的第二匹配结果均为匹配,则判定第一匹配规则的匹配结果为匹配;
如果存在第二匹配结果为不匹配的目标IP地址匹配项,则判定第一匹配规则的匹配结果为不匹配。
可选的,如图8所示,该装置还包括:
第一获取模块670,用于获取目标IP地址匹配项对应的节点地址链,节点地址链包含至少一个节点的存储地址,节点用于存储非连续通配符掩码对象;
第二获取模块680,用于根据节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
可选的,如图9所示,该装置还包括:
第三获取模块690,用于获取各匹配规则中的IP地址匹配项的各地址对象组;
提取模块6100,用于根据预先存储的所述各地址对象组包含的各对象的类型信息,从所述各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合,所述类型信息用于表示对象是否为非连续通配符掩码对象;
存储模块6110,用于将目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的节点中;
第四获取模块6120,用于针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则从所述预设的各节点中确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取目标节点的节点地址,将获取到各目标节点的节点地址构成该匹配规则的节点地址链。
可选的,如图10所示,该装置还包括:
第五获取模块6130,用于获取目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容,缓存内容包括上一次与非连续通配符掩码对象进行匹配的第一IP地址和第一IP地址对应的匹配结果;
如果通信报文的第二IP地址与第一IP地址不同,则触发第二确定模块650执行根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果步骤;
如果通信报文的第二IP地址与第一IP地址相同,则将第一IP地址的匹配结果作为目标IP地址匹配项的第二匹配结果。
可选的,如图11所示,该装置还包括:
第六获取模块6140,用于获取预先存储的目标IP地址匹配项的地址对象组包含的各对象的类型信息,类型信息用于表示对象是否为非连续通配符掩码对象;
如果目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则触发第二确定模块650执行根据目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果步骤;
如果目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则判定第一匹配规则的匹配结果为不匹配。
本发明实施例提供了一种匹配安全策略的装置,网络设备可以根据各匹配项对应的字典树,对通信报文进行加速匹配处理,从而得到各匹配规则的匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的。网络设备可以在各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则,判断第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项。如果存在目标IP地址匹配项,则根据目标IP地址匹配项的非连续通配符掩码对象,对通信报文进行匹配处理,得到目标IP地址匹配项的第二匹配结果,并根据目标IP地址匹配项的第二匹配结果,确定第一匹配规则的匹配结果。基于上述处理,当某匹配规则的IP地址匹配项的地址对象组中存在非连续通配符掩码对象时,可以对其他匹配项、以及IP地址匹配项中的连续通配符掩码对象等能够加速匹配的匹配项进行加速匹配,然后再进一步对不能够进行加速匹配的非连续通配符掩码对象进行匹配。而现有技术中,当匹配规则中包含非连续通配符掩码对象时,只能将报文信息分别与安全策略包含的每条匹配规则依次匹配。因此,本方案与现有技术相比,从整体上实现了对通信报文的加速匹配,提高了安全策略的匹配效率。
本发明实施例还提供了一种网络设备,如图12所示,包括处理器1201、通信接口1202、存储器1203和通信总线1204,其中,处理器1201,通信接口1202,存储器1203通过通信总线1204完成相互间的通信,
存储器1203,用于存放计算机程序;
处理器1201,用于执行存储器1203上所存放的程序时,实现上述匹配安全策略的方法。
上述网络设备提到的通信总线可以是外设部件互连标准(英文:PeripheralComponent Interconnect,简称:PCI)总线或扩展工业标准结构(英文:Extended IndustryStandard Architecture,简称:EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述网络设备与其他设备之间的通信。
存储器可以包括随机存取存储器(英文:Random Access Memory,简称:RAM),也可以包括非易失性存储器(英文:Non-Volatile Memory,简称:NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(英文:Central ProcessingUnit,简称:CPU)、网络处理器(英文:Network Processor,简称:NP)等;还可以是数字信号处理器(英文:Digital Signal Processing,简称:DSP)、专用集成电路(英文:ApplicationSpecific Integrated Circuit,简称:ASIC)、现场可编程门阵列(英文:Field-Programmable Gate Array,简称:FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
基于相同的技术构思,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现所述的匹配安全策略的方法步骤。
基于相同的技术构思,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的匹配安全策略的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种匹配安全策略的方法,其特征在于,所述安全策略包含至少一个匹配规则,所述匹配规则包含至少一个匹配项,所述至少一个匹配项包括IP地址匹配项,所述方法包括:
接收通信报文;
根据预先存储的各匹配项对应的字典树,对所述通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据所述各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的;
在所述各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;
判断所述第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项;
如果存在所述目标IP地址匹配项,则根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果,并根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果不存在所述目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为匹配。
3.根据权利要求1所述的方法,其特征在于,所述根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果,包括:
如果所述目标IP地址匹配项的第二匹配结果均为匹配,则判定所述第一匹配规则的匹配结果为匹配;
如果存在第二匹配结果为不匹配的目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为不匹配。
4.根据权利要求1所述的方法,其特征在于,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取所述目标IP地址匹配项对应的节点地址链,所述节点地址链包含至少一个节点的存储地址,所述节点用于存储所述非连续通配符掩码对象;
根据所述节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
获取所述各匹配规则中的IP地址匹配项的各地址对象组;
根据预先存储的所述各地址对象组包含的各对象的类型信息,从所述各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合,所述类型信息用于表示对象是否为非连续通配符掩码对象;
将所述目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的各节点中;
针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则从所述预设的各节点中,确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取所述目标节点的节点地址,将获取到各目标节点的节点地址构成该匹配规则的节点地址链。
6.根据权利要求1所述的方法,其特征在于,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容,所述缓存内容包括上一次与所述非连续通配符掩码对象进行匹配的第一IP地址和所述第一IP地址对应的匹配结果;
如果所述通信报文的第二IP地址与所述第一IP地址不同,则执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤,所述通信报文的第二IP地址为所述通信报文中所述目标IP地址匹配项对应的报文信息;
如果所述通信报文的第二IP地址与所述第一IP地址相同,则将第一IP地址的匹配结果作为目标IP地址匹配项的第二匹配结果。
7.根据权利要求1所述的方法,其特征在于,所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果之前,所述方法还包括:
获取预先存储的所述目标IP地址匹配项的地址对象组包含的各对象的类型信息,所述类型信息用于表示对象是否为非连续通配符掩码对象;
如果所述目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则判定所述第一匹配规则的匹配结果为不匹配。
8.一种匹配安全策略的装置,其特征在于,所述安全策略包含至少一个匹配规则,所述匹配规则包含至少一个匹配项,所述至少一个匹配项包括IP地址匹配项,所述装置包括:
接收模块,用于接收通信报文;
匹配模块,用于根据预先存储的各匹配项对应的字典树,对所述通信报文进行加速匹配处理,得到各匹配规则的各匹配项的第一匹配结果,其中,IP地址匹配项对应的字典树是根据所述各匹配规则的IP地址匹配项的地址对象组中的连续通配符掩码对象生成的;
第一确定模块,用于在所述各匹配规则中,确定除IP地址匹配项外的其他匹配项的第一匹配结果为匹配的第一匹配规则;
判断模块,用于判断所述第一匹配规则的IP地址匹配项中是否存在第一匹配结果为不匹配的目标IP地址匹配项;
第二确定模块,用于如果存在所述目标IP地址匹配项,则根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果,并根据所述目标IP地址匹配项的第二匹配结果,确定所述第一匹配规则的匹配结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于如果不存在所述目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为匹配。
10.根据权利要求8所述的装置,其特征在于,所述第二确定模块,具体用于:
如果所述目标IP地址匹配项的第二匹配结果均为匹配,则判定所述第一匹配规则的匹配结果为匹配;
如果存在第二匹配结果为不匹配的目标IP地址匹配项,则判定所述第一匹配规则的匹配结果为不匹配。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取所述目标IP地址匹配项对应的节点地址链,所述节点地址链包含至少一个节点的存储地址,所述节点用于存储所述非连续通配符掩码对象;
第二获取模块,用于根据所述节点地址链中各节点地址的排列顺序,依次从各节点地址指向的节点中获取非连续通配符掩码对象。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括:
第三获取模块,用于获取所述各匹配规则中的IP地址匹配项的各地址对象组;
提取模块,用于根据预先存储的所述各地址对象组包含的各对象的类型信息,从所述各地址对象组中提取非连续通配符掩码对象,并根据提取出的非连续通配符掩码对象构成目标对象集合,所述类型信息用于表示对象是否为非连续通配符掩码对象;
存储模块,用于将所述目标对象集合包含的各非连续通配符掩码对象,分别存储在预设的各节点中;
第四获取模块,用于针对每条匹配规则,如果该匹配规则的IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则从所述预设的各节点中,确定存储该地址对象组包含的非连续通配符掩码对象的目标节点,并获取所述目标节点的节点地址,将获取到各目标节点的节点地址构成该匹配规则的节点地址链。
13.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第五获取模块,用于获取所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象对应的缓存内容,所述缓存内容包括上一次与所述非连续通配符掩码对象进行匹配的第一IP地址和所述第一IP地址对应的匹配结果;
如果所述通信报文的第二IP地址与所述第一IP地址不同,则触发所述第二确定模块执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤,所述通信报文的第二IP地址为所述通信报文中所述目标IP地址匹配项对应的报文信息;
如果所述通信报文的第二IP地址与所述第一IP地址相同,则将第一IP地址的匹配结果作为目标IP地址匹配项的第二匹配结果。
14.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第六获取模块,用于获取预先存储的所述目标IP地址匹配项的地址对象组包含的各对象的类型信息,所述类型信息用于表示对象是否为非连续通配符掩码对象;
如果所述目标IP地址匹配项的地址对象组中包含非连续通配符掩码对象,则触发所述第二确定模块执行所述根据所述目标IP地址匹配项的地址对象组中的非连续通配符掩码对象,对所述通信报文进行匹配处理,得到所述目标IP地址匹配项的第二匹配结果步骤;
如果所述目标IP地址匹配项的地址对象组中不包含非连续通配符掩码对象,则判定所述第一匹配规则的匹配结果为不匹配。
15.一种网络设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
CN201910093283.1A 2019-01-30 2019-01-30 一种匹配安全策略的方法及装置 Active CN109617927B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910093283.1A CN109617927B (zh) 2019-01-30 2019-01-30 一种匹配安全策略的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910093283.1A CN109617927B (zh) 2019-01-30 2019-01-30 一种匹配安全策略的方法及装置

Publications (2)

Publication Number Publication Date
CN109617927A CN109617927A (zh) 2019-04-12
CN109617927B true CN109617927B (zh) 2021-04-16

Family

ID=66019348

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910093283.1A Active CN109617927B (zh) 2019-01-30 2019-01-30 一种匹配安全策略的方法及装置

Country Status (1)

Country Link
CN (1) CN109617927B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110290117B (zh) * 2019-06-06 2021-11-05 新华三信息安全技术有限公司 一种匹配ip地址的方法及装置
CN110381175B (zh) * 2019-07-08 2022-02-25 新华三信息安全技术有限公司 一种安全策略加速表构建方法及装置
CN110855629B (zh) * 2019-10-21 2022-02-11 新华三信息安全技术有限公司 Ip地址的匹配方法、匹配表的生成方法及相关装置
CN111131079B (zh) * 2019-12-26 2023-11-24 杭州迪普科技股份有限公司 一种策略查询方法及装置
CN111181964A (zh) * 2019-12-30 2020-05-19 北京天融信网络安全技术有限公司 安全策略匹配方法、装置及网络设备、存储介质
CN111107181B (zh) * 2019-12-30 2022-07-12 北京天融信网络安全技术有限公司 Nat规则匹配方法、装置、电子设备及存储介质
CN111343153A (zh) * 2020-02-10 2020-06-26 Oppo(重庆)智能科技有限公司 数据包检测方法、装置、服务器及存储介质
CN112055097B (zh) * 2020-08-13 2021-05-07 北京天融信网络安全技术有限公司 一种nat规则匹配方法、装置、电子设备及存储介质
CN112367262B (zh) * 2020-08-20 2022-07-05 国家计算机网络与信息安全管理中心 一种五元组规则的匹配方法及装置
CN112380253A (zh) * 2020-11-12 2021-02-19 北京知道创宇信息技术股份有限公司 报文规则匹配方法、装置、电子设备和可读存储介质
CN112910894A (zh) * 2021-02-01 2021-06-04 武汉思普崚技术有限公司 一种实现策略的快速匹配的方法
CN114915598B (zh) * 2021-02-08 2023-10-20 腾讯科技(深圳)有限公司 应用程序的网络加速方法、装置以及电子设备
CN113098886B (zh) * 2021-04-13 2021-12-21 广域铭岛数字科技有限公司 基于人工智能的防护运行服务配置方法及区块链系统
CN113641672B (zh) * 2021-07-30 2024-06-25 武汉思普崚技术有限公司 一种多维度快速匹配方法、装置及存储介质
CN113965386B (zh) * 2021-10-25 2023-11-03 绿盟科技集团股份有限公司 工控协议报文处理方法、装置、设备及存储介质
CN114050925B (zh) * 2021-11-09 2024-03-01 京东科技信息技术有限公司 访问控制列表匹配方法、装置、电子设备和存储介质
CN114301680B (zh) * 2021-12-29 2024-05-07 山石网科通信技术股份有限公司 一种安全策略的匹配方法及装置、存储介质
CN114363257B (zh) * 2021-12-29 2023-10-17 杭州迪普信息技术有限公司 隧道报文的五元组匹配方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545285A (zh) * 2003-11-11 2004-11-10 中兴通讯股份有限公司 访问控制列表和安全策略数据库的方法
WO2006138403A3 (en) * 2005-06-14 2009-04-23 Texas Instruments Inc Packet processor and filter apparatus and methods
CN102195853A (zh) * 2010-03-09 2011-09-21 杭州华三通信技术有限公司 一种保存位图的方法和装置
CN106170956A (zh) * 2014-12-29 2016-11-30 华为技术有限公司 一种路由方法和设备
CN109255237A (zh) * 2018-08-31 2019-01-22 新华三大数据技术有限公司 安全事件关联分析方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3813136B2 (ja) * 2003-04-25 2006-08-23 インターナショナル・ビジネス・マシーンズ・コーポレーション 通信制御装置、通信制御方法、通信制御プログラム、通信制御用データ構造

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1545285A (zh) * 2003-11-11 2004-11-10 中兴通讯股份有限公司 访问控制列表和安全策略数据库的方法
WO2006138403A3 (en) * 2005-06-14 2009-04-23 Texas Instruments Inc Packet processor and filter apparatus and methods
CN102195853A (zh) * 2010-03-09 2011-09-21 杭州华三通信技术有限公司 一种保存位图的方法和装置
CN106170956A (zh) * 2014-12-29 2016-11-30 华为技术有限公司 一种路由方法和设备
CN109255237A (zh) * 2018-08-31 2019-01-22 新华三大数据技术有限公司 安全事件关联分析方法及装置

Also Published As

Publication number Publication date
CN109617927A (zh) 2019-04-12

Similar Documents

Publication Publication Date Title
CN109617927B (zh) 一种匹配安全策略的方法及装置
CN110290117B (zh) 一种匹配ip地址的方法及装置
CN108370352B (zh) 使用网络处理器的高速灵活分组分类
US10305776B2 (en) Network verification
US20160048585A1 (en) Bloom filter with memory element
US8522199B2 (en) System, method, and computer program product for applying a regular expression to content based on required strings of the regular expression
CN109905413B (zh) 一种ip地址的匹配方法及装置
WO2010065418A1 (en) Graph-based data search
US20140222870A1 (en) System, Method, Software, and Data Structure for Key-Value Mapping and Keys Sorting
CN109951495B (zh) 网段查找方法及装置
CN109951393B (zh) 网段查找方法及装置
WO2017157335A1 (zh) 报文识别的方法及装置
CN111988231B (zh) 一种掩码五元组规则匹配的方法及装置
CN111224941A (zh) 一种威胁类型识别方法及装置
CN110012124B (zh) 一种对网络地址范围段进行拆分的方法及装置
WO2015104061A1 (en) Method and apparatus for generating a plurality of indexed data fields
CN112804206A (zh) 基于查找树的报文匹配方法、装置和电子设备
US8365045B2 (en) Flow based data packet processing
US20180069835A1 (en) Packet filtering apparatus and packet filtering method
US9412094B2 (en) User identifier management
CN110659019A (zh) 参数校验方法、装置和服务器
CN106657128B (zh) 基于通配符掩码规则的数据包过滤方法及装置
CN108696418B (zh) 一种社交网络中隐私保护方法及装置
CN110474929B (zh) 一种冗余规则检测方法及装置
CN113569291B (zh) 日志掩码方法及装置

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