一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种防火墙对象策略规则优先级的实现方法与流程

2022-03-19 22:47:01 来源:中国专利 TAG:


1.本发明涉及网络防火墙报文流量筛查技术领域,具体为一种防火墙对象策略规则优先级的实现方法。


背景技术:

2.防火墙是网络中经常用到的一种安全设备,对象策略是基于防火墙安全域间实例进行应用,在安全域间实例上应用对象策略可以实现对报文流量的筛选检查,并根据对象策略规则允许或拒绝报文通过。
3.一个对象策略中可以包含多条对象策略规则,对象策略规则通过指定对象组来描述报文匹配条件的判断语句,匹配条件可以是五元组,即报文的源ip地址、源端口、目的ip地址、目的端口、服务类型,应用和应用组等设备依照这些规则匹配出特定的报文,并根据规则预先设定的动作对其进行处理。创建规则时可以不指定任何可选条件,则规则对任意报文生效。
4.一个对象策略下的每条规则都有一个唯一的编号进行标识,编号范围为0到65534,此编号由用户在创建规则时指定或者由系统自动分配,系统自动分配时,会在对象策略中已使用的最大编号的规则加一作为新的编号,若新编号超出了编号上限(65534),则选择当前未使用的最小编号作为新的编号。
5.当一个对象策略中包含多条规则时,报文会按照配置顺序与这些规则进行匹配,一旦匹配上某条规则便结束匹配过程。先创建的规则优先匹配,匹配顺序与规则的编号无关,要想实现规则的优先级,只能按照先后顺序来排序,将优先级高的先配置,优先级低的后配置。
6.现有的方案是根据设备move rule[rule 1]before[rule 2]命令将规则1移动到规则2的前面,实现规则1的优先级比规则2的优先级高的功能。其原理是利用move命令确实实现想要的优先级的排序的功能,但是如果一个对象策略下有数量足够多的规则,每次新增一个规则,则需要move命令执行很多次,更新一个规则时,如果想改变优先级,同样需要操作move很多次,对运维人员来说是一个巨大的工作量。在设备没有优先级的概念时,用户对对象策略规则以及又有优先级的需求难以处理。


技术实现要素:

[0007]
针对现有技术存在的不足,本发明目的是提供一种防火墙对象策略规则优先级的实现方法,以解决上述背景技术中提出的问题,本发明通过利用规则的编号作为优先级的级别,由driver层(驱动层)上面的控制层根据规则的编号进行自动排序,先将旧规则删除,再将新加的规则和原有的规则组成新的规则集,将新的规则集按编号大小进行排序,编号小的优先级高,排序完成后再将新的规则集中所有规则再下发到设备上的方式,保证设备上每个对象策略下的规则都是严格按照优先级排序来确定下发顺序,解决了现有技术中的问题。
[0008]
为了实现上述目的,本发明是通过如下的技术方案来实现:一种防火墙对象策略规则优先级的实现方法,包括以下步骤:
[0009]
第一步,基于用户层,获取包含安全策略规则的目标对象策略,并依据运营平台对所述目标对象策略己身信息进行校验,校验成功,则顺序执行第二步,反之则重新获取目标对象策略;
[0010]
第二步,基于控制层的数据库,根据目标对象策略的基本信息得到该目标对象策略安全策略下的所有原来规则,拼接成旧规则集;
[0011]
将第一步获取的安全策略规和旧规则集进行合并或替换后,按优先级级别从大到小排序后得到新规则集;
[0012]
第三步,驱动层将控制层传递的json报文转换成netconf报文,并同步接收控制层传输的旧规则集和新规则集,以下发安全策略规则适配于不同的防火墙设备,其中,若配置下发成功,则,删除驱动层的redis报文缓存数据,并将结果反馈至运营平台;若配置下发失败,则,从驱动层的redis报文缓存数据中提取缓存报文,并重新调用驱动层进行配置,并将结果反馈至运营平台。
[0013]
作为对本发明中所述一种防火墙对象策略规则优先级的实现方法的改进,第一步中,所获取目标对象策略包含新增安全策略规则和更新安全策略规则两种安全策略规则。
[0014]
作为对本发明中所述一种防火墙对象策略规则优先级的实现方法的改进,当获取包含新增安全策略规则的目标对象策略时,第二步包括:
[0015]
s2-1,基于控制层的数据库,查询当前新增安全策略规则下是否已有原来规则:
[0016]
首先,若已有原来规则,则将除此新增安全策略规则外的所有原来规则拼接成旧规则集,并将此旧规则集以及此新增安全策略规则合并为新规则集,且以优先级级别从大到小在所述新规则集内排序;
[0017]
其次,若当前新增安全策略规则下无原来规则,则,将此新增的安全策略规加入形成一新规则集;
[0018]
s2-2,根据s2-1中的得到的已完成排序的新规则集,对所述控制层的数据库进行批量更新;
[0019]
s2-3,将新规则集按照排序传递至驱动层,并存redis报文缓存数据。
[0020]
作为对本发明中所述一种防火墙对象策略规则优先级的实现方法的改进,当获取包含更新安全策略规则的目标对象策略时,第二步中,
[0021]
需要基于控制层的数据库,查询当前更新的安全策略规则下是否已有原来规则,若已有规则,进一步进行是否更新优先级的判断,若需要更新时,将先创建一空规则集,批量修改数据库的优先级,并按照优先级级别从大到小进行排序后,将排序好的原来规则按照顺序放入至所述空规则集,且同时,将更新的安全策略规则加入至空规则集形成新规则集,将新规则集按照排序传递至驱动层,并存redis报文缓存数据;若不需要更新优先级时,则只对数据库进行更新,结束;
[0022]
反之,基于控制层的数据库,在查询当前更新的安全策略规则下无原来规则时,结束更新指令。
[0023]
作为对本发明中所述一种防火墙对象策略规则优先级的实现方法的改进,第三步中,在驱动层接收控制层传输的旧规则集和新规则集后,下发安全策略规则适配于不同的
防火墙设备时,需要将旧规则集中的原来规则移除,以新规则集中包含的新增或更新的安全策略规则进行下发。
[0024]
与现有技术相比,本发明的有益效果:
[0025]
本发明通过首先在用户操作层将新增或更新的对象策略规则及优先级传递给控制层;由控制层根据对象策略的名称或id从数据库中取出该对象策略下的所有规则拼接成旧规则集数组,其次,在新增时将新规则加入旧规则集,在更新时根据新规则更新旧规则集中的规则,两种情况下都是排序后,得到一个新的规则集;并,通过操作层将新的规则集按优先级的级别(规则的编号)大小排序,优先级高的排在前面;再次,由操作层将旧规则集和新的规则集传递给驱动层,进行适配于不同的设备,最后,通过sdn(控制层)传递的json报文转换成netconf报文,下发到设备上,按照旧规则集中的规则移除,新规则集中的规则下发到防火墙设备上的方式,实现了对象策略规则优先级的功能,进而相比move命令手动去移动规则的方式,更加智能化,对对象策略下的所有规则进行自动化排序,具备节省人力成本、时间成本、错误率低的优点。
附图说明
[0026]
参照附图来说明本发明的公开内容。应当了解,附图仅仅用于说明目的,而并非意在对本发明的保护范围构成限制,在附图中,相同的附图标记用于指代相同的部件。其中:
[0027]
图1为本发明一实施例中所提出的实现防火墙对象策略规则优先级的整体流程示意图;
[0028]
图2为本发明一实施例中当获取包含新增或构建新安全策略规则时的控制层处理流程示意图;
[0029]
图3为本发明一实施例中当获取包含更新安全策略规则时的控制层处理流程示意图。
具体实施方式
[0030]
容易理解,根据本发明的技术方案,在不变更本发明实质精神下,本领域的一般技术人员可以提出可相互替换的多种结构方式以及实现方式。因此,以下具体实施方式以及附图仅是对本发明的技术方案的示例性说明,而不应当视为本发明的全部或者视为对本发明技术方案的限定或限制。
[0031]
作为对本发明技术构思以及实现原理的理解:安全策略规则本身包含一个自身的索引值和优先级priority两个重要参数(其他参数不涉及排序,不再一一说明),索引值index是唯一的,当创建规则后,就会自动生成一个索引值,优先级值是可变的,更新优先级时,索引值index不变,只更新优先级priority值,而最终下发到设备上的参数是按优先级priority排序的index号,priority越小,则优先级越高。因此,
[0032]
如图1所示,本发明提供一种防火墙对象策略规则优先级的实现方法,在具体实施时,包括以下步骤:
[0033]
第一步,基于用户层,获取包含新增的或更新的安全策略规则的目标对象策略,并依据运营平台对目标对象策略己身信息进行校验,校验成功,则顺序执行第二步,反之则重新获取目标对象策略,可以理解的是,在用户层,用户可以从操作界面购买或者修改已经购
买的网络产品,而运营平台负责用户交付单和产品规格等方面的校验,至少包括校验用户操作的产品是否超过规格限制和交付方面的相关事宜。
[0034]
第二步,基于控制层的数据库,根据目标对象策略的基本信息得到该目标对象策略安全策略下的所有原来规则,拼接成旧规则集;将第一步获取的安全策略规和旧规则集进行合并或替换后,按优先级级别从大到小排序后得到新规则集,需要说明的是,本发明提出的控制层采用sdn控制器,可以理解的是,sdn控制器是整个网络虚拟化的核心,负责接收运营平台传递过来的交付单和对接驱动层,向设备(防火墙)下发相关配置的控制,而在当收到交付单后,从数据库查询取出网络产品对应的实例下的所有原来安全策略规则,并根据用户新增或者更新规则的操作,新规则与数据库的旧规则进行比对,并进行相关的操作数据库操作,比对操作完数据库后还需要根据数据库中的最新数据,拼凑相关的规则配置给驱动层。
[0035]
基于上述技术构思,
[0036]
一方面,如图2所示,当获取包含新增安全策略规则的目标对象策略时,第二步的执行步骤为:
[0037]
s2-1,基于控制层的数据库,查询当前新增安全策略规则下是否已有原来规则(从数据库查询取出网络产品对应的实例下的所有原来安全策略规则):
[0038]
首先,若已有原来规则,则将除此新增安全策略规则外的所有原来规则拼接成旧规则集,并将此旧规则集以及此新增的安全策略规则合并为新规则集,且以优先级级别从大到小在新的规则集内排序;
[0039]
其次,若当前新增安全策略规则下无原来规则,则,将此新增的安全策略规加入形成一新规则集,可以理解的是,此处的新规则集只包括新增的安全策略规;
[0040]
s2-2,根据s2-1中的得到的已完成排序的两种新规则集,对控制层的数据库进行批量更新;
[0041]
s2-3,将两种新规则集按照排序传递至驱动层,并存redis报文缓存数据。
[0042]
另一方面,如图3所示,当获取包含更新安全策略规则的目标对象策略时,第二步的执行步骤为:
[0043]
需要基于控制层的数据库,查询当前更新的安全策略规则下是否已有原来规则(从数据库查询取出网络产品对应的实例下的所有原来安全策略规则),若已有规则,进一步进行是否更新优先级的判断,若需要更新时,将先创建一空规则集,批量修改数据库的优先级,并按照优先级级别从大到小进行排序后,将排序好的原来规则按照顺序放入至空规则集,且同时,将更新的安全策略规则加入至空规则集形成新规则集,将新规则集按照排序传递至驱动层,并存redis报文缓存数据;若不需要更新优先级时,则只对数据库进行更新,结束;
[0044]
反之,基于控制层的数据库,在查询当前更新的安全策略规则下无原来规则时,结束更新指令。
[0045]
第三步,驱动层将控制层传递的json报文转换成netconf报文,并同步接收控制层传输的旧规则集和新规则集,以下发安全策略规则适配于不同的防火墙设备,需要说明的是,在驱动层接收控制层传输的旧规则集和新规则集后,下发安全策略规则适配于不同的防火墙设备时,需要将旧规则集中的原来规则移除,以新规则集中包含的新增或更新的安
全策略规则进行下发,
[0046]
其中,若配置下发成功,则,删除驱动层的redis报文缓存数据,并将结果反馈至运营平台;若配置下发失败,则,从驱动层的redis报文缓存数据中提取缓存报文,重新调用驱动层下发配置,若多次(优选为三次)都失败,则保留redis报文缓存并将最终结果返回给运营平台失败。
[0047]
为更好的理解本发明对新增(创建)或更新的安全策略规则进行优先级排序的技术构思,
[0048]
因此,以举例说明,自定义安全策略规则x插入到规则集(假设原规则集按abcde...排列)中时,出现两种情况:
[0049]
1、新建的情况:假设当x新建时,优先级在d和e中间的位置时,此时,abcd的priority(优先级)不变,efg...的priority(优先级)不值加1;
[0050]
2、更新优先级时,包括提高或降低优先级两种情况:
[0051]
1),提高优先级时,假设x原来在f和g的中间的位置,提高到了c和d中间的位置,那么abc的priority(优先级)不变,def的priority(优先级)加1,ghi...的priority(优先级)不变,此时,可以理解的是,x的priority(优先级)值变成了原来的d的priority值;
[0052]
2),降低优先级时,假设x原来在c和d的中间的位置,降低到了e和f中间的位置,那么abc的priority(优先级)不变,de的priority(优先级)减1,fghi...的priority不变,x的priority(优先级)值变成了原来的e的priority(优先级)值,可以理解的是,在提高优先级或降低优先级时,都需要对原来的规则集中相关规则的priority(优先级)值进行修改,修改完成后,按照priority(优先级)升序的策略对规则进行重新排序,并写入新规则集,将重新排序的新规则集,按顺序把index号传递给驱动层并最终下发给设备。
[0053]
基于上述技术构思,本发明利用对象策略规则编号自动排序实现对象策略优先级的功能,实现了对象策略优先级的功能,相比人力用move方式操作对象策略规则的方式,本发明具备更加智能,出错率低,节省运维人力成本、时间成本的优点。
[0054]
本发明的技术范围不仅仅局限于上述说明中的内容,本领域技术人员可以在不脱离本发明技术思想的前提下,对上述实施例进行多种变形和修改,而这些变形和修改均应当属于本发明的保护范围内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献