一种网络设备配置合规性的检查方法转让专利

申请号 : CN202111353933.5

文献号 : CN113810237B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 钟竹鲁薇

申请人 : 北京安博通科技股份有限公司

摘要 :

本发明涉及一种网络设备配置合规性的检查方法,该方法包括:获取配置文本、自定义的命中字符以及预选的命中标准模式;根据所述命中字符,生成命中表达式,根据所述命中表达式和所述命中标准模式,提取所述配置文本中的命中文本行;根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规。本发明通过合规检查算法,命中对应的文本行,进行有效的分类,并识别出各类违规,直观展现给用户,助力安全合规。

权利要求 :

1.一种网络设备配置合规性的检查方法,其特征在于,包括:获取配置文本、自定义的命中字符以及预选的命中标准模式;

根据所述命中字符,生成命中表达式,根据所述命中表达式和所述命中标准模式,提取所述配置文本中的命中文本行,其中,针对不同的所述命中标准模式,根据所述命中字符确定不同的所述命中表达式对所述配置文本进行命中,提取所述配置文本中的所述命中文本行;

根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,其中,针对不同的所述命中标准模式,统计每个所述命中字符和/或所述命中文本行的命中结果,根据所述命中结果判断网络设备配置是否合规。

2.根据权利要求1所述的网络设备配置合规性的检查方法,其特征在于,所述命中字符包括文本字符、正则字符、逻辑字符、分割字符和策略字符,所述命中表达式包括文本表达式、正则表达式、逻辑关系、切割表达式和策略表达式;所述根据所述命中字符,生成命中表达式,包括:

根据所述文本字符,生成用于反馈文本命中规则的所述文本表达式;

根据所述正则字符,生成用于反馈正则命中规则的若干所述正则表达式;

根据所述逻辑字符,生成若干所述正则表达式之间的所述逻辑关系;

根据所述分割字符,生成用于切割所述配置文本的所述切割表达式;

根据所述策略字符,生成用于反馈命中策略的所述策略表达式。

3.根据权利要求2所述的网络设备配置合规性的检查方法,其特征在于,所述命中字符还包括顺序字符和次数字符,所述命中表达式还包括规定命中顺序和规定命中次数;所述根据所述命中字符,生成命中表达式,还包括:根据所述顺序字符,生成所述规定命中顺序,其中,所述规定命中顺序用于规定所述文本表达式中的所述文本字符的命中顺序;

根据所述次数字符,生成所述规定命中次数,其中,所述规定命中次数用于规定每个所述正则表达式或每个所述文本字符对应的命中次数。

4.根据权利要求3所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述命中表达式和所述命中标准模式,提取所述配置文本中的命中文本行,包括:若所述命中标准模式为简单标准模式,判断所述配置文本中的文本行是否包含所述文本表达式中的所述文本字符,若包含,则为所述文本字符对应的所述命中文本行;

若所述命中标准模式为高级标准模式,基于模式匹配器,根据若干所述正则表达式对所述配置文本中的文本行进行命中,确定每个所述正则表达式对应命中的所述命中文本行;

若所述命中标准模式为高级自定义模式,根据所述切割表达式,将所述配置文本切割,形成若干切割文本,基于所述模式匹配器,根据若干所述正则表达式对所述切割文本中的文本行进行命中,确定每个所述切割文本对应命中的所述命中文本行;

若所述命中标准模式为策略标准模式,根据所述策略表达式,对所述配置文本解析后的属性对象进行命中,设置若干条件检索式,确定每个所述策略表达式对应命中的所述命中文本行;

其中,所述简单标准模式、所述高级标准模式和所述高级自定义模式针对包括所述配置文本中有关网络设备的原始配置信息,所述策略标准模式针对将所述原始配置信息解析后的通用标准信息,并对所述通用标准信息的所述属性对象进行全文检索。

5.根据权利要求4所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述切割表达式,将所述配置文本切割,形成若干切割文本,包括:根据所述切割表达式,确定块开始字符、块结束字符和条件字符;

根据所述块开始字符和所述块结束字符对所述配置文本进行命中,提取出对应的文本段;

根据所述条件字符,确定对应的选取条件,判断所述文本段是否满足所述选取条件;

若满足所述选取条件,则所述文本段为所述切割文本,进行对应的提取。

6.根据权利要求4所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:若所述命中标准模式为所述简单标准模式,则记录所述文本字符在所述配置文本中的实际命中次数、匹配位置;

根据每个所述文本字符的所述匹配位置,确定对应的实际命中顺序;

若每个所述文本字符的所述实际命中次数与所述规定命中次数相符合,和/或所述实际命中顺序与所述规定命中顺序一致,则网络设备配置合规。

7.根据权利要求4所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:若所述命中标准模式为所述高级标准模式,则记录每个所述正则表达式在所述配置文本中的所述命中文本行的命中文本数目;

若所述命中标准模式为所述高级自定义模式,则记录每个所述正则表达式在所述切割文本中的所述命中文本行的命中文本数目;

根据每个所述正则表达式的所述命中文本数目与所述规定命中次数的相符与否,生成对应的匹配结果;

根据所述逻辑关系,对所述匹配结果进行逻辑运算,根据逻辑运算结果判断网络设备配置是否合规。

8.根据权利要求7所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述逻辑关系,对所述匹配结果进行逻辑运算,根据逻辑运算结果判断网络设备配置是否合规,包括:

若所述逻辑关系为与,则对所述匹配结果进行与运算,若每个所述正则表达式都满足所述规定命中次数,则网络设备配置合规;

若所述逻辑关系为或,则对所述匹配结果进行或运算,若任一所述正则表达式满足所述规定命中次数,则网络设备配置合规。

9.根据权利要求4所述的网络设备配置合规性的检查方法,其特征在于,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:若所述命中标准模式为所述策略标准模式,当存在任一所述策略表达式对应命中的所述命中文本行时,判定为违规规则,则网络设备配置不合规。

10.根据权利要求9所述的网络设备配置合规性的检查方法,其特征在于,所述方法还包括:定位和显示所述违规规则。

说明书 :

一种网络设备配置合规性的检查方法

技术领域

[0001] 本发明涉及网络管理技术领域,尤其涉及一种网络设备配置合规性的检查方法。

背景技术

[0002] 在互联网时代,IT应用几乎主导了企业的方方面面,而在网络应用过程中,众多IT专家的分析一再表明,大多数网络中断的最常见原因是配置更改错误。为满足各种业务需
求,网络管理员经常对网络设备进行配置更改。对网络设备配置的每一次更改都伴随着造
成网络中断、安全问题甚至性能下降的风险。当来自多个供应商的多个设备和多个管理员
管理网络并执行更改时,问题变得更加复杂,且计划外的更改使网络容易受到意外中断的
影响。因此,如何进行高效的网络设备配置合规性的检查成为亟待解决的问题。

发明内容

[0003] 有鉴于此,有必要提供一种网络设备配置合规性的检查方法,用以克服现有技术中无法高效检查网络设备配置合规的问题。
[0004] 本发明提供一种网络设备配置合规性的检查方法,包括:
[0005] 获取配置文本、用户自定义的命中字符以及用户选择的命中标准模式;
[0006] 根据所述命中字符,生成命中表达式,根据所述命中表达式和所述命中标准模式,提取所述配置文本中的命中文本行;
[0007] 根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规。
[0008] 进一步地,所述命中字符包括文本字符、正则字符、逻辑字符、分割字符和策略字符,所述命中表达式包括正则表达式、逻辑关系、切割表达式和策略表达式,所述根据所述
命中字符,生成命中表达式,包括:
[0009] 根据所述文本字符,生成用于反馈文本命中规则的所述文本表达式;
[0010] 根据所述正则字符,生成用于反馈正则命中规则的若干所述正则表达式;
[0011] 根据所述逻辑字符,生成若干所述正则表达式之间的所述逻辑关系;
[0012] 根据所述分割字符,生成用于切割所述配置文本的所述切割表达式;
[0013] 根据所述策略字符,生成用于反馈命中策略的所述策略表达式。
[0014] 进一步地,所述命中字符还包括顺序字符和次数字符,所述命中表达式还包括规定命中顺序和规定命中次数,所述根据所述命中字符,生成命中表达式,还包括:
[0015] 根据所述顺序字符,生成所述规定命中顺序,其中,所述规定命中顺序用于规定所述文本表达式中的所述文本字符的命中顺序;
[0016] 根据所述次数字符,生成所述规定命中次数,其中,所述规定命中次数用于规定每个所述正则表达式或每个所述文本字符对应的命中次数。
[0017] 进一步地,所述根据所述命中表达式和所述命中标准模式,提取所述配置文本中的命中文本行,包括:
[0018] 若所述命中标准模式为简单标准模式,判断所述配置文本中的文本行是否包含所述文本表达式中的所述文本字符,若包含,则为所述文本字符对应的所述命中文本行;
[0019] 若所述命中标准模式为高级标准模式,基于模式匹配器,根据若干所述正则表达式对所述配置文本中的文本行进行命中,确定每个所述正则表达式对应命中的所述命中文
本行;
[0020] 若所述命中标准模式为高级自定义模式,根据所述切割表达式,将所述配置文本切割,形成若干切割文本,基于所述模式匹配器,根据若干所述正则表达式对所述切割文本
中的文本行进行命中,确定每个所述切割文本对应命中的所述命中文本行;
[0021] 若所述命中标准模式为策略标准模式,根据所述策略表达式,对所述配置文本解析后的属性对象进行命中,设置若干条件检索式,确定每个所述策略表达式对应命中的所
述命中文本行;
[0022] 其中,所述简单标准模式、所述高级标准模式和所述高级自定义模式针对包括所述配置文本中有关网络设备的原始配置信息,所述策略标准模式针对将所述原始配置信息
解析后的通用标准信息,并对所述通用标准信息的所述属性对象进行全文检索。
[0023] 进一步地,所述根据所述切割表达式,将所述配置文本切割,形成若干切割文本,包括:
[0024] 根据所述切割表达式,确定块开始字符、块结束字符和条件字符;
[0025] 根据所述块开始字符和所述块结束字符对所述配置文本进行命中,提取出对应的文本段;
[0026] 根据所述条件字符,确定对应的选取条件,判断所述文本段是否满足所述选取条件;
[0027] 若满足,则所述文本段为所述切割文本,进行对应的提取。
[0028] 进一步地,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:
[0029] 若所述命中标准模式为所述简单标准模式,则记录所述文本字符在所述配置文本中的实际命中次数、匹配位置;
[0030] 根据每个所述文本字符的所述匹配位置,确定对应的实际命中顺序;
[0031] 若每个所述文本字符的所述实际命中次数与所述规定命中次数相符合,和/或所述实际命中顺序与所述规定命中顺序一致,则网络设备配置合规。
[0032] 进一步地,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:
[0033] 若所述命中标准模式为所述高级标准模式,则记录每个所述正则表达式在所述配置文本中的所述命中文本行的命中文本数目;
[0034] 若所述命中标准模式为所述高级自定义模式,则记录每个所述正则表达式在所述切割文本中的所述命中文本行的命中文本数目;
[0035] 根据每个所述正则表达式的所述命中文本数目与所述规定命中次数的相符与否,生成对应的匹配结果;
[0036] 根据所述逻辑关系,对所述匹配结果进行逻辑运算,根据逻辑运算结果判断网络设备配置是否合规。
[0037] 进一步地,所述根据所述逻辑关系,对所述匹配结果进行逻辑运算,根据逻辑运算结果判断网络设备配置是否合规,包括:
[0038] 若所述逻辑关系为与,则对所述匹配结果进行与运算,若每个所述正则表达式都满足所述规定命中次数,则网络设备配置合规;
[0039] 若所述逻辑关系为或,则对所述匹配结果进行或运算,若任一所述正则表达式满足所述规定命中次数,则网络设备配置合规。
[0040] 进一步地,所述根据所述命中文本行、所述命中标准模式和所述命中表达式,判断网络设备配置是否合规,包括:
[0041] 若所述命中标准模式为所述策略标准模式,当存在任一所述策略表达式对应命中的所述命中文本行时,判定为违规规则,则网络设备配置不合规。
[0042] 进一步地,所述方法还包括:定位和显示所述违规规则,提醒用户进行纠正。
[0043] 与现有技术相比,本发明的有益效果包括:首先,对配置文本、用户定义的多种命中字符以及用户选择的命中标准模式进行有效的获取,反馈用户的操作意图,适应于多种
应用场景;然后,基于用户自定义的命中字符,生成相应的命中表达式,再结合命中表达式
和用户选择的命中标准模式,对配置文本中的文本行进行命中,得到对应的命中文本行,保
证命中的灵活性和高效性;最后,结合上述命中文本行、命中标准模式和命中表达式进行相
应的命中结果分析,有效判断网络设备的配置是否合规。综上,本发明通过合规检查算法,
命中对应的文本行,进行有效的分类,并识别出各类违规,直观展现给用户,助力安全合规。

附图说明

[0044] 图1为本发明提供的网络设备配置合规性的检查方法的应用系统一实施例的场景示意图;
[0045] 图2为本发明提供的网络设备配置合规性的检查方法一实施例的流程示意图;
[0046] 图3为本发明提供的确定切割文本一实施例的流程示意图;
[0047] 图4为本发明提供的图2中步骤S3一实施例的流程示意图;
[0048] 图5为本发明提供的图2中步骤S3一实施例的流程示意图;
[0049] 图6为本发明提供的图5中步骤S37一实施例的流程示意图;
[0050] 图7为本发明提供的网络设备配置合规性的检查装置一实施例的结构示意图。

具体实施方式

[0051] 下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
[0052] 在本发明的描述中,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征
可以明示或者隐含地包括至少一个该特征。此外,“多个”的含义是至少两个,例如两个,三
个等,除非另有明确具体的限定。
[0053] 在本发明的描述中,提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本发明的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均
是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员
显式地和隐式地理解的是,所描述的实施例可以与其它实施例相结合。
[0054] 本发明提供了一种网络设备配置合规性的检查方法,基于用户自定义的多种命中字符,生成多种命中表达式,对配置文本进行命中,根据命中结果进行分析,为进一步高效
检查网络设备的合规性提供了新思路。在进行具体实施例的描述之前,对涉及的技术名词
进行解释如下:
[0055] 简单标准模式,用于检查配置文件中是否存在指定的单行或一组行或集合;
[0056] 高级标准模式,用于使用正则表达式指定更多、更复杂的条件,支持与、或关联;
[0057] 高级自定义标准模式,用于按指定字符或正则切割配置文件,得到多个符合条件的文本块后,再进行高级标准的检查;
[0058] 策略标准模式,是一种“全文检索”的传递使用,系统解析配置文件后,得到各种属性对象,针对各属性对象进行文本、数量、范围的全方位匹配;支持多条件的与、或关联;支
持数量的大于、大于等于、小于、小于等于、等于、不等于匹配;支持IP地址的等于、包含、被
包含、相交、不相交匹配;
[0059] 正则表达式,是计算机科学的一个概念,是对字符串的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“公式”,这个“公式”用来表达对
字符串的一种过滤逻辑;
[0060] Pattern Matcher,翻译成中文“模式匹配器”,是编程语言执行正则表达式的通用工具组件;
[0061] While循环,是计算机的一种基本循环模式,让计算机根据条件做循环计算,在满足条件时继续循环,条件不满足时退出循环;
[0062] 配置文本,是通过计算机脚本语言与硬件设备(防火墙、交换机、负载均衡等)交互,得到文件,文件的内容称为“配置文本”;
[0063] 逻辑与计算,是参加运算的2个对象,必须2个都为真,其结果为真,反之就是假。
[0064] 逻辑或计算,是参加运算的2个对象,一个为真,则结果为真;
[0065] 包含、被包含,是数学名词,用于表示数集之间的包含关系;
[0066] 相交、不相交,是数学名词,用于表示数集之间的相交关系。
[0067] 以下分别对具体实施例进行详细说明:
[0068] 本发明实施例提供了一种网络设备配置合规性的检查方法的应用系统,图1为本发明提供的网络设备配置合规性的检查方法的应用系统一实施例的场景示意图,该系统可
以包括服务器100,服务器100中集成有网络设备配置合规性的检查装置,如图1中的服务
器。
[0069] 本发明实施例中服务器100主要用于:
[0070] 获取配置文本、用户自定义的命中字符以及用户选择的命中标准模式;
[0071] 根据命中字符,生成命中表达式,根据命中表达式和命中标准模式,提取配置文本中的命中文本行;
[0072] 根据命中文本行、命中标准模式和命中表达式,判断网络设备配置是否合规。
[0073] 本发明实施例中,该服务器100可以是独立的服务器,也可以是服务器组成的服务器网络或服务器集群,例如,本发明实施例中所描述的服务器100,其包括但不限于计算机、
网络主机、单个网络服务器、多个网络服务器集或多个服务器构成的云服务器。其中,云服
务器由基于云计算(Cloud Computing)的大量计算机或网络服务器构成。
[0074] 可以理解的是,本发明实施例中所使用的终端200可以是既包括接收和发射硬件的设备,即具有能够在双向通信链路上,执行双向通信的接收和发射硬件的设备。这种设备
可以包括:蜂窝或其他通信设备,其具有单线路显示器或多线路显示器或没有多线路显示
器的蜂窝或其他通信设备。具体的终端200可以是台式机、便携式电脑、网络服务器、掌上电
脑(Personal Digital Assistant,PDA)、移动手机、平板电脑、无线终端设备、通信设备、嵌
入式设备等,本实施例不限定终端200的类型。
[0075] 本领域技术人员可以理解,图1中示出的应用环境,仅仅是与本发明方案一种应用场景,并不构成对本发明方案应用场景的限定,其他的应用环境还可以包括比图1中所示更
多或更少的终端,例如图1中仅示出2个终端,可以理解的,该网络设备配置合规性的检查方
法的应用系统还可以包括一个或多个其他终端,具体此处不作限定。
[0076] 另外,如图1所示,该网络设备配置合规性的检查方法的应用系统还可以包括存储器200,用于存储数据,如配置文本、命中字符、命中表达式和命中文本行等。
[0077] 需要说明的是,图1所示的网络设备配置合规性的检查方法的应用系统的场景示意图仅仅是一个示例,本发明实施例描述的网络设备配置合规性的检查方法的应用系统以
及场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供
的技术方案的限定,本领域普通技术人员可知,随着网络设备配置合规性的检查方法的应
用系统的演变和新业务场景的出现,本发明实施例提供的技术方案对于类似的技术问题,
同样适用。
[0078] 本发明实施例提供了一种网络设备配置合规性的检查方法,结合图2来看,图2为本发明提供的网络设备配置合规性的检查方法一实施例的流程示意图,包括步骤S1至步骤
S3,其中:
[0079] 在步骤S1中,获取配置文本、用户自定义的命中字符以及用户选择的命中标准模式;
[0080] 在步骤S2中,根据命中字符,生成命中表达式,根据命中表达式和命中标准模式,提取配置文本中的命中文本行;
[0081] 在步骤S3中,根据命中文本行、命中标准模式和命中表达式,判断网络设备配置是否合规。
[0082] 在本发明实施例中,首先,对配置文本、用户定义的多种命中字符以及用户选择的命中标准模式进行有效的获取,反馈用户的操作意图,适应于多种应用场景;然后,基于用
户自定义的命中字符,生成相应的命中表达式,再结合命中表达式和用户选择的命中标准
模式,对配置文本中的文本行进行命中,得到对应的命中文本行,保证命中的灵活性和高效
性;最后,结合上述命中文本行、命中标准模式和命中表达式进行相应的命中结果分析,有
效判断网络设备的配置是否合规。
[0083] 作为优选的实施例,命中字符包括文本字符、正则字符、逻辑字符、分割字符和策略字符,命中表达式包括正则表达式、逻辑关系、切割表达式和策略表达式,上述步骤S2中,
根据命中字符,生成命中表达式,包括:
[0084] 根据文本字符,生成用于反馈文本命中规则的文本表达式;
[0085] 根据正则字符,生成用于反馈正则命中规则的若干正则表达式;
[0086] 根据逻辑字符,生成若干正则表达式之间的逻辑关系;
[0087] 根据分割字符,生成用于切割配置文本的切割表达式;
[0088] 根据策略字符,生成用于反馈命中策略的策略表达式。
[0089] 在本发明实施例中,基于用户输入的不同形式的字符,确定不同的命中表达式,便于后续对配置文本中的文本行进行筛选。
[0090] 作为更具体的实施例,用户通过页面录入的方式,自定义上述文本字符、正则字符、逻辑字符、分割字符、策略字符。可以理解的是,自定义命中字符的方式可以有多种,不
限于页面录入的方式,只要能达到自定义的效果即可。
[0091] 作为优选的实施例,上述步骤S2中,根据命中字符,生成命中表达式,还包括:
[0092] 根据顺序字符,生成规定命中顺序,其中,规定命中顺序用于规定文本表达式中的文本字符的命中顺序;
[0093] 根据次数字符,生成规定命中次数,其中,规定命中用于规定每个正则表达式或每个文本字符对应的命中次数。
[0094] 在本发明实施例中,基于用户输入的不同顺序字符和次数字符,确定用户对命中属性的多方面规定,满足多方面命中的需求,让命中更为灵活、高效、准确。
[0095] 作为优选的实施例,上述步骤S2中,根据命中表达式和命中标准模式,提取配置文本中的命中文本行,包括:
[0096] 若命中标准模式为简单标准模式,判断配置文本中的文本行是否包含文本表达式中的文本字符,若包含,则为文本字符对应的命中文本行;
[0097] 若命中标准模式为高级标准模式,基于模式匹配器,根据若干正则表达式对配置文本中的文本行进行命中,确定每个正则表达式对应命中的命中文本行;
[0098] 若命中标准模式为高级自定义模式,根据切割表达式,将配置文本切割,形成若干切割文本,基于模式匹配器,根据若干正则表达式对切割文本中的文本行进行命中,确定每
个切割文本对应命中的命中文本行;
[0099] 若命中标准模式为策略标准模式,根据策略表达式,对配置文本解析后的属性对象进行命中,设置若干条件检索式,确定每个策略表达式对应命中的命中文本行;
[0100] 其中,简单标准模式、高级标准模式和高级自定义模式针对包括配置文本中有关网络设备的原始配置信息,策略标准模式针对将原始配置信息解析后的通用标准信息,并
对通用标准信息的属性对象进行全文检索。
[0101] 在本发明实施例中,基于不同的命中标准模式,选择不同的命中字符,按照不同的方式对文本行进行命中,保证命中满足多种场景下的需求。
[0102] 需要说明的是,上述文本表达式中的文本字符的匹配和正则表达式的匹配,都利用了Pattern Matcher 模式匹配器、while循环,获取到所有满足条件的文本行(即命中文
本行)和总个数,以及该文本的起始位置、结束位置。
[0103] 在本发明一个具体的实施例中,有如下配置文本,目标是想获取所有的描述信息、或判断是否有描述:
[0104] interface Management0/0
[0105]  nameif management
[0106]  security‑level 100
[0107]  ip address 192.168.1.1 255.255.255.0
[0108]  management‑only
[0109]  description abc
[0110]  description 123
[0111] !
[0112] 其中,将上述文本作为配置文本,指定正则“description\s\S+”,通过模式匹配器,循环过滤不匹配的,得到成功匹配的文本行(即命中文本行): description abc;
description 123。以表格形式显示结果如下:
[0113] 表1
[0114] 正则表达式 description\\s\\S+成功匹配次数 2
第一次 开始位置:120 结束位置:135 成功匹配的文本:description abc
第二次 开始位置:137 结束位置:152 成功匹配的文本:description 123
[0115] 作为优选的实施例,结合图3来看,图3为本发明提供的确定切割文本一实施例的流程示意图,包括步骤S001至步骤S003,其中:
[0116] 在步骤S001中,根据切割表达式,确定块开始字符、块结束字符和条件字符;
[0117] 在步骤S002中,根据块开始字符和块结束字符对配置文本进行命中,提取出对应的文本段;
[0118] 在步骤S003中,根据条件字符,确定对应的选取条件,判断文本段是否满足选取条件;
[0119] 在步骤S004中,若满足,则文本段为切割文本,进行对应的提取。
[0120] 在本发明实施例中,基于切割表达式,确定对应的块开始字符、块结束字符和条件字符,对整个配置文本进行分割,实现初次的筛选归类,提高命中效率,避免对无效的文本
块进行重复选择。
[0121] 在本发明一个具体的实施例中,配置文本示例如下:
[0122] ASA Version 8.6(1)2
[0123] !
[0124] hostname ABT‑DEMO
[0125] domain‑name ccfccb.cn
[0126] enable password 8UqIHv7vte5N1G7a encrypted
[0127] passwd 2KFQnbNIdI.2KYOU encrypted
[0128] names
[0129] !
[0130] interface GigabitEthernet0/0
[0131]  nameif outside
[0132]  security‑level 0
[0133]  ip address 10.98.10.4 255.255.255.248 standby 10.98.10.5
[0134] !
[0135] interface GigabitEthernet0/1
[0136]  nameif inside
[0137]  security‑level 100
[0138]  ip address 10.98.10.9 255.255.255.248 standby 10.98.10.10
[0139] !
[0140] interface GigabitEthernet0/2
[0141]  nameif RenHang
[0142]  security‑level 0
[0143]  ip address 10.98.10.17 255.255.255.248 standby 10.98.10.18
[0144] !
[0145] interface GigabitEthernet0/3
[0146]  shutdown
[0147]  no nameif
[0148]  no security‑level
[0149]  no ip address
[0150] !
[0151] interface GigabitEthernet0/4
[0152]  description LAN Failover Interface
[0153] !
[0154] interface GigabitEthernet0/5
[0155]  description STATE Failover Interface
[0156] !
[0157] interface Management0/0
[0158]  nameif management
[0159]  security‑level 100
[0160]  ip address 192.168.1.1 255.255.255.0
[0161]  management‑only
[0162] !
[0163] boot system disk0:/asa861‑2‑smp‑k8.bin
[0164] ftp mode passive
[0165] clock timezone bj 8
[0166] 其中,切割表达式中的块开始字符为“interface”,块结束字符为“!”,条件字符为“不包含”、“shutdown”,则选取条件为不包含“shutdown”单词,针对上述配置文本,提取出
多个满足条件的切割文本,形成文本块集合,过程如下:
[0167] 第一步,使用模式匹配器过滤文本,定位快开始字符“interface”的文本位置,定位快结束字符“!”的文本位置,2个位置之间的文本,则是满足条件的文本块,需要切割出
来,形成切割文本;然后继续循环逻辑,继续切割,得到更多满足条件的文本块;
[0168] 第二步,判断是否有选取条件,若无,则第一步返回文本块,就是最终的切割文本,形成文本块集合;
[0169] 第三步,若有选取条件,则针对第一步的文本块集合进行二次过滤;将选取条件作为参数,形成正则表达式,基于模式匹配,得到匹配详情,若匹配详情中成功匹配次数大于
0,表示包含,反之,不包含;拿匹配结果与选取条件判断,若一致,则匹配成功,不一致,则需
要丢弃当前的切割文本,继续进行下一个切割文本的过滤,直到第一步的文本块集合判断
完毕;
[0170] 上述配置文本中,选取满足“interface”块开始、“!”块结束条件,但不包含“shutdown”的文本块,形成切割文本,以表格形式展示切割后,提取的切割文本的集合如
下,即:
[0171] 表2
[0172] 序号 成功切割,提取出来的块1 interface GigabitEthernet0/0 nameif outside security‑level 0 ip address 10.98.10.4 255.255.255.248 standby 10.98.10.5 !
2 interface GigabitEthernet0/1 nameif inside security‑level 100 ip address 10.98.10.9 255.255.255.248 standby 10.98.10.10 !
3 interface GigabitEthernet0/2 nameif RenHang security‑level 0 ip address 10.98.10.17 255.255.255.248 standby 10.98.10.18 !
4 interface GigabitEthernet0/4 description LAN Failover Interface !
5 interface GigabitEthernet0/5 description STATE Failover Interface !
6 interface Management0/0 nameif management security‑level 100 ip address 192.168.1.1 255.255.255.0 management‑only !
[0173] 作为优选的实施例,结合图4来看,图4为本发明提供的图2中步骤S3一实施例的流程示意图,包括步骤S31至步骤S33,其中:
[0174] 在步骤S31中,若命中标准模式为简单标准模式,则记录文本字符在配置文本中的实际命中次数、匹配位置;
[0175] 在步骤S32中,根据每个文本字符的匹配位置,确定对应的实际命中顺序;
[0176] 在步骤S33中,若每个文本字符的实际命中次数与规定命中次数相符合,和/或实际命中顺序与规定命中顺序一致,则网络设备配置合规。
[0177] 在本发明实施例中,在简单标准模式下,记录每个文本字符的实际命中次数和匹配位置,并与用户规定的次数和顺序进行比较,确定是否符合用户需求,进而判断是否合
规。
[0178] 在本发明一个具体的实施例中,在用户选择简单标准模式后,输入文本字符,按“回车换行符”分割成文本队列,如用户输入123(回车)abc(回车)def(回车),形成的文本队
列如下:
[0179] 123
[0180] abc
[0181] def
[0182] 其中,对上述文本字符的识别过程如下:
[0183] (1)包含指定的单行或一组行,要求出现指定的次数
[0184] 第一步,对每个文本字符(123、abc、def)进行命中匹配,得到每个文本的具体的匹配结果:若结果中成功匹配次数为0,则当前文本识别为不包含项。若成功匹配次数大于0,
则当前文本识别为包含项,记录匹配次数、以及每次出现的位置;
[0185] 第二步,若包含项为空,识别为“违规”,原因:未按标准配置;
[0186] 第三步,包含项不为空时,若包含项的个数不等于队列的长度,识别为“违规”,原因:有未匹配的文本字符;
[0187] 第四步,若标准中,未要求次数,是任意的,则其它情况识别为:合规;
[0188] 第五步,若标准中,要求次数,则需要判断每个包含项的匹配次数是否大于等于要求的次数;只要其中有一个包含项的匹配次数小于要求次数,则识别为“违规”,原因:次数
错误;反之,都大于或等于,则识别为:合规。
[0189] (2)不包含指定的单行或一组行,要求小于指定的次数
[0190] 第一步,与上述逻辑的第一步相同,记录每个文本的匹配结果;
[0191] 第二步,判断每个包含项是否为空,若为空,则表示都不包含,是合规状态;
[0192] 第三步,若非空,继续判断次数;若标准中,未要求次数,则识别为“违规”,原因:有文本匹配成功了,配置中出现违规信息。若有次数要求,则判断包含项的匹配次数是否大于
等于要求的次数,只要其中有一个是次数大于等于的,则识别为“违规”,原因:有文本匹配
成功了,且次数达标;反之,小于要求的次数,则识别为:合规。
[0193] (3)包含指定顺序的集合
[0194] 第一步,与上述逻辑的第一步相同,记录每个文本的匹配结果;
[0195] 第二步,判断包含项是否为空,若为空,识别为“违规”,原因:未按标准配置;
[0196] 第三步,包含项非空时,若包含项的个数不等于队列的长度,识别为“违规”,原因:有未匹配的文本字符;
[0197] 第四步,循环每个包含项,将当前文本与下一个文本的位置进行比较;若当前文本是包含项的最后一个,跳过比较;若一个文本出现多次,则默认取第一次出现的位置,判断
是否按顺序出现,若非顺序,则识别为违规,原因:未按指定顺序出现,反之是合规的(示例:
123与abc的匹配位置比较,abc与def的匹配位置比较,判断这三个文本字符的先后顺序)。
[0198] (4)不包含指定顺序的集合
[0199] 与上述“包含指定顺序的集合”相反,在此不再赘述。
[0200] 作为优选的实施例,结合图5来看,图5为本发明提供的图2中步骤S3一实施例的流程示意图,包括步骤S34至步骤S37,其中:
[0201] 在步骤S34中,若命中标准模式为高级标准模式,则记录每个正则表达式在配置文本中的命中文本行的命中文本数目;
[0202] 在步骤S35中,若命中标准模式为高级自定义模式,则记录每个正则表达式在切割文本中的命中文本行的命中文本数目;
[0203] 在步骤S36中,根据每个正则表达式的命中文本数目与规定命中次数的相符与否,生成对应的匹配结果;
[0204] 在步骤S37中,根据逻辑关系,对匹配结果进行逻辑运算,根据逻辑运算结果判断网络设备配置是否合规。
[0205] 在本发明实施例中,在高级标准模式和高级自定义模式下,针对每一个正则表达式进行匹配,对多个正则表达式的匹配结果进行逻辑关系的运算,从而判断其是否合规。
[0206] 作为优选的实施例,结合图6来看,图6为本发明提供的图5中步骤S37一实施例的流程示意图,包括步骤S371至步骤S372,其中:
[0207] 在步骤S371中,若逻辑关系为与,则对匹配结果进行与运算,若每个正则表达式都满足规定命中次数,则网络设备配置合规;
[0208] 在步骤S372中,若逻辑关系为或,则对匹配结果进行或运算,若任一正则表达式满足规定命中次数,则网络设备配置合规。
[0209] 在本发明实施例中,对匹配结果进行有效的逻辑运算。
[0210] 在本发明一个具体的实施例中,在用户选择高级标准模式后,输入正则字符和逻辑字符,传入页面用户录入的正则字符,对于形成的每一个正则表达式与配置文本进行模
式匹配,具体流程如下:
[0211] 第一步,传入页面的正则表达式,与配置文本进行模式匹配,得到匹配的文本行(命中文本行)和成功匹配次数(命中文本数目);
[0212] 第二步,若用户指定条件是包含,则判断第1步的成功匹配次数是否大于0,大于0则是包含,是合规状态;等于0,表示没有匹配上,不符合预期,是违规状态;
[0213] 第三步,若用户指定的条件是不包含,逻辑与第2步相反,即:判断第1步的成功匹配次数是否大于0,大于0,表示配置文本中包含符合正则表达式的配置信息,与预期不符,
是违规的,反之,就是步包含,与预期一致,是合规的;
[0214] 第四步,若只有一个正则表达式,则第一步的返回结果就是本次检查的最终结果;
[0215] 第五步,若有多个正则表达式,则进行多次调用;页面在指定正则表达式时,可指定多个表达式之间的逻辑关系;
[0216] 第六步,若是“逻辑与”计算,将结果进行“与”操作,每个表达式的匹配结果都满足条件,则本次检查是合规的,只要其中有一个不满足,则是违规;
[0217] 第七步,若是“逻辑或”计算,将结果进行“或”操作,至少有一个是满足条件的,则本次检查是合规的,反之违规。
[0218] 在本发明一个具体的实施例中,在用户选择高级自定义模式后,输入正则字符、逻辑字符和切割字符,根据切割字符形成切割表达式,确定用户指定的块开始字符、块结束字
符、选取条件进行切割提取,拆散成多个更小更精确的切割文本;传入页面用户录入的正则
字符,对于形成的每一个正则表达式与每一个切割文本进行模式匹配,具体流程如下:
[0219] 第一步,接收用户输入的块开始字符、块结束字符、选取条件,对配置文本进行切割提取,得到多个满足条件的切割文本(具体方法参见上文描述,在此不再赘述);
[0220] 第二步,针对每一个切割文本,接收用户输入的正则表达式和对应的逻辑关系,做高级匹配操作,实现过程参见上述高级标准模式的匹配过程。
[0221] 作为优选的实施例,上述步骤S3还包括:
[0222] 若命中标准模式为策略标准模式,当存在任一策略表达式对应命中的命中文本行时,判定为违规规则,则网络设备配置不合规。
[0223] 在本发明实施例中,利用策略标准模式,有效识别违规文本行,即违规规则。
[0224] 作为优选的实施例,上述方法还包括:定位和显示违规规则,提醒用户进行纠正。
[0225] 在本发明实施例中,在识别到违规文本行,提醒用户对相应的配置数据进行修正。
[0226] 在本发明一个具体的实施例中,策略标准模式是全文检索功能的传递使用。从网络设备对象的各个方面进行检索,遇到数字的,支持大于、小于、等于等数学运算;遇到IP地
址的,支持相交、包含、不包含、等于等数学运算;遇到字符的,支持关键字模糊匹配;
[0227] 其中,在使用策略标准模式时,用户输入检索信息后,若存在符合条件的数据,则是违规的,反之是合规的。即:利用反例子,反标准来检查违规性;
[0228] 示例1:安全策略目的IP=any、服务=any;若查询到符合条件的数据,则证明设备是有宽松风险的,是违规的,需要用户进行纠正。
[0229] 示例 2:目的端口=22 或目的端口=21;若查询到符合条件的数据,则证明设备上出现高危端口,有外部攻击风险,是违规的,需要用户进行处理,纠正。
[0230] 需要说明的是,策略标准模式与前面三类方法形成了一个闭环检查。前面三类是在获取到网络设备的原始配置后进行的检查,而策略标准是在配置解析成通用标准格式,
入库完成,提供全文检索功能后进行检查的。差异如下表3所示:
[0231] 表3
[0232] 名称 检查时间点 支持厂商 依赖 使用对象简单标准模式 设备原始配置 定制 无 所有人
高级标准模式 设备原始配置 定制 无 网络运维人员
高级自定义标准模式 设备原始配置 定制 无 网络运维人员
策略标准模式 软件平台解析成通用标准格式,提供检索功能后 通用 软件平台转换标准格式 所有人
[0233] 下面一个具体的应用例,对本发明方案进行更为详细的阐述:
[0234] 结合上述4类标准释义(简单标准模式、高级标准模式、高级自定义标准模式、策略标准模式)后,详细检查步骤如下:
[0235] 第一步,根据网络安全防护要求、行业法规制定基准规则;规则中包含1个标准、违反该标准时的风险等级、针对该违规情况的具体补救措施;
[0236] 第二步,结合厂商、设备共性、业务特点、逻辑,将规则进行分组、归类,作用是便于选择,示例如下:
[0237] 示例1:根据厂商分类,将针对思科防火墙的规则归类到一组;针对华为防火墙的规则归类到一组。
[0238] 示例2:根据业务特点分类,将所有检查空地址对象、空服务对象、空时间对象的规则分到一组,简称“空对象规则组”;将检查宽松风险的归类到一组。
[0239] 示例3:根据逻辑,将思科日志检查的归类到一组;将思科服务检查的归类到一组(思科服务检查包含多种,示例:DHCP、PAD 、IP HTTP、domain);
[0240] 第三步,制定检查任务,选取该任务要使用的规则组,选取要检查的网络设备后,指定一个触发点即可;触发点包含三种:立即执行任务、手动触发执行任务或在一个未来时
间点自动执行任务;
[0241] 第四步,达到触发点后,执行任务,待完成后,即可得到检查结果或报表;执行任务,针对任务中的所有设备,获取设备当前时刻的配置,对配置进行规则的检查(规则是在
制定任务时,选取的规则组,每个规则组中包含若干个规则);
[0242] 第五步,根据检查结果、报表信息可获知一个设备在指定的规则组下,每个规则的具体检查结果,针对违规的规则,选取规则中事先定义好的补救措施,执行补救措施进行修
复,完成合规性的闭环操作(发现问题、解决问题)。
[0243] 本发明实施例还提供了一种网络设备配置合规性的检查装置,结合图7来看,图7为本发明提供的网络设备配置合规性的检查装置一实施例的结构示意图,网络设备配置合
规性的检查装置700包括:
[0244] 获取单元701,用于获取配置文本、用户自定义的命中字符以及用户选择的命中标准模式;
[0245] 处理单元702,用于根据命中字符,生成命中表达式,根据命中表达式和命中标准模式,提取配置文本中的命中文本行;
[0246] 判断单元703,用于根据命中文本行、命中标准模式和命中表达式,判断网络设备配置是否合规。
[0247] 网络设备配置合规性的检查装置的各个单元的更具体实现方式可以参见对于本网络设备配置合规性的检查方法的描述,且具有与之相似的有益效果,在此不再赘述。
[0248] 本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时,实现如上所述的网络设备配置合规性的检查方法。
[0249] 一般来说,用于实现本发明方法的计算机指令的可以采用一个或多个计算机可读的存储介质的任意组合来承载。非临时性计算机可读存储介质可以包括任何计算机可读介
质,除了临时性地传播中的信号本身。
[0250] 计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非
穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储
器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁
盘只读存储器(CD‑ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件
中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行
系统、装置或者器件使用或者与其结合使用。
[0251] 可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包
括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言,特别是可以使用适
于神经网络计算的Python语言和基于TensorFlow、PyTorch等平台框架。程序代码可以完全
地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在
用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及
远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域
网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商
来通过因特网连接)。
[0252] 本发明实施例还提供了一种计算设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时,实现如上所述的网络设备配置合规
性的检查方法。
[0253] 根据本发明上述实施例提供的计算机可读存储介质和计算设备,可以参照根据本发明实现如上所述的网络设备配置合规性的检查方法具体描述的内容实现,并具有与如上
所述的网络设备配置合规性的检查方法类似的有益效果,在此不再赘述。
[0254] 本发明公开了一种网络设备配置合规性的检查方法,首先,对配置文本、用户定义的多种命中字符以及用户选择的命中标准模式进行有效的获取,反馈用户的操作意图,适
应于多种应用场景;然后,基于用户自定义的命中字符,生成相应的命中表达式,再结合命
中表达式和用户选择的命中标准模式,对配置文本中的文本行进行命中,得到对应的命中
文本行,保证命中的灵活性和高效性;最后,结合上述命中文本行、命中标准模式和命中表
达式进行相应的命中结果分析,有效判断网络设备的配置是否合规。
[0255] 本发明技术方案,通过用户自定义的命中字符和选择的命中标准模式,生成合规检查算法,命中对应的文本行,进行有效的分类,并识别出各类违规,直观展现给用户,助力
安全合规,适应于多种应用场景。
[0256] 以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,
都应涵盖在本发明的保护范围之内。