防火墙标记语言的配置方法及装置与流程

文档序号:17988309发布日期:2019-06-22 00:34阅读:308来源:国知局
防火墙标记语言的配置方法及装置与流程

本发明涉及防火墙处理技术领域,具体而言,涉及一种防火墙标记语言的配置方法及装置。



背景技术:

在相关技术中,在实现标记语言的配置管理时,最常见的手段为命令行接口,简称cli(commandlineinterface)。比如,配置某个接口的ip的地址,linux下的命令为:$ifconfigeth1ipaddress/netmask,特点是比较简单直接,每次配置一个或者相关联的多个参数,所见即所得,配置实时生效.如果执行过程中检查发现错误,配置不会生效。配置管理另外一种手段为图形界面webui接口,与cli相比,webui更友好,可用性强,不需要用户非常熟悉网络设备。

通过将xml(extensiblemarkuplanguage)和操作类型映射为一组具体的cli命令,webui可以实现一次执行一组命令的功能。

比如定义一个操作类型:operation=1:更新。

图1是根据相关技术的一种配置创建策略的可扩展标记语言的示意图,在将图1所示的xml映射为cli命令后,可以得到:

1:更新id为1的策略;

2:将策略的行为(action)设置为2;

3:将源安全域(src_zone)设置为trust;

4:将目的安全域(dst_zone)设置为untrust;

5:将源地址簿(src_addr)设置为add1;

6:将add2这个地址簿从源地址簿(src_addr)中移除;

7:将目的地址簿设置为add3;

8:将服务设置为service1。

上述相关技术中的整个配置过程都需要人工介入,管理员需要先创建一个名为add1的地址簿,创建成功后,管理员再创建一条安全策略,并引用所创建的地址簿,整个策略创建的顺序也由人工来控制,人工参与过程较多,很容易出现配置错误,导致配置效率低下的问题。

另外,在相关技术中,对于防火墙的不同版本,所支持的xml是不同的,因此webui需要根据不同的防火墙版本来编写不同的xml完成配置动作。且相关技术中,所有的配置动作都是交互式的,一方面不利于接入第三方审批系统,另一方面也不能完成批量防火墙的配置

针对上述的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明实施例提供了一种防火墙标记语言的配置方法及装置,以至少解决相关技术中通过人工配置的标记语言无法适应不同防火墙版本的技术问题。

根据本发明实施例的一个方面,提供了一种防火墙标记语言的配置方法,包括:获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,所述当前配置数据和所述用户配置数据是通过预设的管理对象数据结构moc装载的;利用moc比较所述当前配置数据和所述用户配置数据的差异性数据;根据所述差异性数据和映射配置文件,将所述当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

进一步地,所述moc的类型包括下述至少之一:策略和地址簿,则获取当前版本的防火墙的当前配置数据以及用户配置数据的步骤,包括:获取与所述策略和/或所述地址簿对应的主键,其中,所述主键用于标识配置对象;利用配置对象a指示所述当前配置数据,并利用配置对象b指示所述用户配置数据;按照预设排序规则,对多个所述主键映射的hash值进行分类排序;在排序完成后,若确定所述配置对象a的主键映射的hash值和所述配置对象b的主键映射的hash值相同,则获取当前版本的防火墙的当前配置数据以及用户配置数据。

进一步地,所述当前配置数据为防火墙端的第一对象类型的数据,所述用户配置数据为离线配置端的第二对象类型的数据,则对多个所述主键映射的hash值进行分类排序的步骤,包括:将多个所述主键映射的hash值按照所述第一对象类型或所述第二对象类型进行分类排序。

进一步地,所述主键的属性至少包括与所述策略对应的预设id和与所述地址簿对应的预设名称。

进一步地,所述moc中装载与目标策略对应的防火墙的多个数据属性,所述目标策略至少包括:安全策略,并在所述目标策略为所述安全策略的情况下,所述数据属性包括下述至少之一:数据行为值,源安全域名称,目的安全域名称,源地址簿名称,源地址簿的ip类型,目的地址簿名称,目的地址簿的ip类型,服务类型。

进一步地,利用moc比较所述当前配置数据和所述用户配置数据的差异性数据的步骤,包括:利用moc比较所述当前配置数据和所述用户配置数据在所述目标策略下的各个数据属性所对应的属性数据,得到差异性数据。

进一步地,根据所述差异性数据和映射配置文件,将所述当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml的步骤,包括:根据每个出现差异化的属性数据,索引得到差异化的数据属性;确定与差异化的数据属性对应的多个差异对象;获取每个差异对象之间的引用逻辑和引用关系;根据所述引用逻辑和所述引用关系,对各个差异对象的执行节点进行排序;将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml。

进一步地,将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml的步骤,包括:确定每个差异对象所需要完成的操作类型和主键值;展示所述操作类型和所述主键值下的各个差异对象的数据属性;将每个差异对象中的操作类型、主键值以及各个数据属性的属性值映射为所述xml。

进一步地,获取每个差异对象之间的引用逻辑和引用关系的步骤,包括:获取每个差异对象的标签;根据每个标签之间的依赖关系,确定每个差异对象之间的引用逻辑和引用关系。

根据本发明实施例的另一方面,还提供了一种防火墙标记语言的配置装置,包括:获取单元,用于获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,所述当前配置数据和所述用户配置数据是通过预设的管理对象数据结构moc装载的;比较单元,用于利用moc比较所述当前配置数据和所述用户配置数据的差异性数据;映射单元,用于根据所述差异性数据和映射配置文件,将所述当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

进一步地,所述moc的类型包括下述至少之一:策略和地址簿,则所述获取单元包括:第一获取模块,用于获取与所述策略和/或所述地址簿对应的主键,其中,所述主键用于标识配置对象;指示模块,用于利用配置对象a指示所述当前配置数据,并利用配置对象b指示所述用户配置数据;排序模块,用于按照预设排序规则,对多个所述主键映射的hash值进行分类排序;第二获取模块,用于在排序完成后,若确定所述配置对象a的主键映射的hash值和所述配置对象b的主键映射的hash值相同,则获取当前版本的防火墙的当前配置数据以及用户配置数据。

进一步地,所述当前配置数据为防火墙端的第一对象类型的数据,所述用户配置数据为离线配置端的第二对象类型的数据,则排序模块包括:排序子模块,用于将多个所述主键映射的hash值按照所述第一对象类型或所述第二对象类型进行分类排序。

进一步地,所述主键的属性至少包括与所述策略对应的预设id和与所述地址簿对应的预设名称。

进一步地,所述moc中装载与目标策略对应的防火墙的多个数据属性,所述目标策略至少包括:安全策略,并在所述目标策略为所述安全策略的情况下,所述数据属性包括下述至少之一:数据行为值,源安全域名称,目的安全域名称,源地址簿名称,源地址簿的ip类型,目的地址簿名称,目的地址簿的ip类型,服务类型。

进一步地,所述比较单元包括:比较模块,用于利用moc比较所述当前配置数据和所述用户配置数据在所述目标策略下的各个数据属性所对应的属性数据,得到差异性数据。

进一步地,所述映射单元包括:索引模块,用于根据每个出现差异化的属性数据,索引得到差异化的数据属性;第一确定模块,用于确定与差异化的数据属性对应的多个差异对象;第一获取模块,用于获取每个差异对象之间的引用逻辑和引用关系;第二排序模块,用于根据所述引用逻辑和所述引用关系,对各个差异对象的执行节点进行排序;映射模块,用于将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml。

进一步地,所述映射模块包括:第一确定子模块,用于确定每个差异对象所需要完成的操作类型和主键值;展示子模块,用于展示所述操作类型和所述主键值下的各个差异对象的数据属性;映射子模块,用于将每个差异对象中的操作类型、主键值以及各个数据属性的属性值映射为所述xml。

进一步地,所述第一获取模块包括:获取子模块,用于获取每个差异对象的标签;确定子模块,用于根据每个标签之间的依赖关系,确定每个差异对象之间的引用逻辑和引用关系。

根据本发明实施例的另一方面,还提供了一种存储介质,所述存储介质用于存储程序,其中,所述程序在被处理器执行时控制所述存储介质所在设备执行上述任意一项所述的防火墙标记语言的配置方法。

根据本发明实施例的另一方面,还提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的防火墙标记语言的配置方法。

在本发明实施例中,采用获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的,利用moc比较当前配置数据和用户配置数据的差异性数据,根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。在该实施例中,可以通过离线编辑防火墙配置,兼容不同版本的防火墙,进而解决相关技术中通过人工配置的标记语言无法适应不同防火墙版本的技术问题。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据相关技术的一种配置创建策略的可扩展标记语言的示意图;

图2是根据本发明实施例的一种可选防火墙标记语言的配置方法的流程图;

图3是根据本发明实施例的一种可选的针对版本v2的配置示意图;

图4是根据本发明实施例的一种用户配置数据的示意图;

图5是根据本发明实施例的一种防火墙配置片段的示意图;

图6是根据本发明实施例的一种读取防火墙配置数据得到的当前配置数据的示意图;

图7是根据本发明实施例的一种映射得到可扩展标记语言的示意图;

图8是根据本发明实施例的另一种可选的确定可扩展标记语言的示意图;

图9是根据本发明实施例的另一种可选的差异化配置后得到可扩展标记语言的示意图;

图10是根据本发明实施例的一种可选的拆分对象属性映射得到可扩展标记语言的示意图;

图11是根据本发明实施例的一种可选的防火墙标记语言的配置装置的示意图。

具体实施方式

为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。

需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

为便于用户理解本发明,下面对本发明各实施例中涉及的部分术语或名词做出解释:

xml,extensiblemarkuplanguage,通常是指一种可扩展标记语言。xml可以理解为一种标记语言,很类似html,它的意义在于传输数据,而非显示数据,它没有预定的标签,在使用时需要由用户自己定义。

cli,commandlineinterface,可以理解为为一种命令行接口。

moc,managementobjectclass,在本申请中指示一种数据结构,该数据结构不依赖防火墙的配置结构。

本发明适用于多个防火墙的配置相同或部分配置相同的情景,例如,在企业网络中,多台防火墙的的安全策略是一致的,可以通过该方法来统一编辑配置,一次性应用到防火墙。同时,本发明还可以适用于对配置修改有严格审批流程的场景,由上级同时审批一组配置变化,然后批量应用到防火墙。相对相关技术中,需要人工修改防火墙配置参数,本申请可以通过离线编辑防火墙配置,将一组配置的变动打包成一个动作,经由上级审批后,再批量应用到防火墙,操作会更加快速,提高防火墙配置文件的效率。

本发明下述各实施例,可以是基于离线配置的基础来实现的,因为非常容易和第三方的审批系统对接;另外离线配置的本质是配置的对比,修改配置只是修改有差异的地方,因此在恢复历史配置时,不会造成防火墙业务的中断,即可以在保证会话不中断的前提下,恢复任意一份历史配置到防火墙;数据结构映射的技术使得离线配置可以轻松兼容不同版本防火墙。下面通过各个实施例来说明本发明。

根据本发明实施例,提供了一种防火墙标记语言的配置方法实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

图2是根据本发明实施例的一种可选防火墙标记语言的配置方法的流程图,如图2所示,该方法包括如下步骤:

步骤s202,获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的;

步骤s204,利用moc比较当前配置数据和用户配置数据的差异性数据;

步骤s206,根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

通过上述步骤,可以获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的,利用moc比较当前配置数据和用户配置数据的差异性数据,根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。在该实施例中,可以通过离线编辑防火墙配置,兼容不同版本的防火墙,进而解决相关技术中通过人工配置的标记语言无法适应不同防火墙版本的技术问题。

下面对上述各步骤进行详细说明。

步骤s202,获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的。

可选的,本申请的防火墙版本是可选择,例如,定义防火墙版本v1和防火墙版本v2,其中,版本v1可支持ipv4的地址,版本v2可支持ipv6的地址,这样就需要在形成xml对应版本2时扩展type字段,用于描述地址簿的ip类型。为了解决防火墙的版本差异,需要先对接入的防火墙支持的版本内容进行解析,确定其需要支持的ip地址的类型。

图3是根据本发明实施例的一种可选的针对版本v2的配置示意图,如图3所示,在获取到一个当前配置数据时,可以直接得到该版本为包含地址簿的ip类型和地址的v2版本,并解析相应的数据属性。

对于所有需要管理的配置,都定义一份数据结构,用于承载一份配置的具体信息,我们称之为moc(managementobjectclass),这个数据结构不依赖防火墙的配置结构。可选地,moc的类型包括下述至少之一:策略和地址簿。则获取当前版本的防火墙的当前配置数据以及用户配置数据的步骤,包括:获取与策略和/或地址簿对应的主键,其中,主键用于标识配置对象。可选的,主键可以直接用id来标识,例如,使用数字1来标识安全策略,使用数字2来标识管理策略,本发明实施例中以安全策略为例进行详细说明。

另一种可选地,moc中装载与目标策略对应的防火墙的多个数据属性,目标策略至少包括:安全策略,并在目标策略为安全策略的情况下,数据属性包括下述至少之一:数据行为值,源安全域名称,目的安全域名称,源地址簿名称,源地址簿的ip类型,目的地址簿名称,目的地址簿的ip类型,服务类型。

例如,对于安全策略,我们可以这样定义:

id:安全策略的唯一标识;

action:值只能为1或2,1代表允许,2代码拒绝。

src_zone:源安全域名字;

dst_zone:目的安全域名字;

src_addr:源地址簿名字;

src_addr_type:源地址簿,可以用0代表ipv4,1代表ipv6;

dst_addr:目的地址簿名字;

dst_addr_type:目的地址簿,可以使用0代表ipv4,1代表ipv6;

service:服务簿或服务组的名字,用于标识是服务簿还是服务组;

service_type:1代表服务簿,2代表服务组。

对于用户配置数据,可以是指用户希望能够配置的防火墙的相关数据,即防火墙能够支持的策略、地址版本、地址簿等信息,图4是根据本发明实施例的一种用户配置数据的示意图,如图4所示,在安全策略下,其源安全域名字为trust,目的安全域名字为untrust,源地址簿名字为add2,源地址簿支持的地址为ipv4,目的地址簿名字为add2,目的地址簿支持的地址为ipv4,指示服务簿,其服务簿的名字为任意any。

而如果在获取防火墙上的当前配置,得到当前配置数据后,可以与该用户配置数据进行对比,比较出存在差异的数据。图5是根据本发明实施例的一种防火墙配置片段的示意图,图6是根据本发明实施例的一种读取防火墙配置数据得到的当前配置数据的示意图,图6中的防火墙的当前配置数据是对图5示出的内容进行读取后得到的。

通过图4和图6示出的内容,可以得到两份通过moc结构承载的数据,一份是图4中经过用户配置后的得到的配置对象a(指示用户配置数据),另一份是图6中通过读取防火墙当前配置转换得到的配置对象b(指示当前配置数据)。

步骤s204,利用moc比较当前配置数据和用户配置数据的差异性数据。

通过上述步骤,可以得到当前配置数据和用户配置数据,然后比较两组数据之间的差异性,得到差异性数据。

可选地,moc的类型包括下述至少之一:策略和地址簿。则获取当前版本的防火墙的当前配置数据以及用户配置数据的步骤,包括:获取与策略和/或地址簿对应的主键,其中,主键用于标识配置对象;利用配置对象a指示当前配置数据,并利用配置对象b指示用户配置数据;按照预设排序规则,对多个主键映射的hash值进行分类排序;在排序完成后,若确定配置对象a的主键映射的hash值和配置对象b的主键映射的hash值相同,则获取当前版本的防火墙的当前配置数据以及用户配置数据。其中,主键的属性至少包括与策略对应的预设id和与地址簿对应的预设名称。

本发明实施例中可以为每一种moc(比如策略或地址簿)都定义一个(或一组)主键。主键用来标识唯一的一个对象(例如,一个安全策略)。在比较过程中,只对同一个对象(即主键相同)进行差异化比较,因为不同对象的比较是没有意义的,本发明实施例中将策略的主键定义为id(指示上述预设id),若比较后得到两个对象的id一致,则确定是同一条策略,是可以进行配置比较的;同时,本发明实施例中可以将地址簿的主键定义为name(指示上述预设名称),若比较得到两个对象的name一致,则可以认为是同一个地址簿对象,是可以进行配置比较的。

在确定对象一致后,可以按一定的顺序将一组同类对象进行排列,比如我们可以通过简单的算法将主键映射为hash值,那么hash小的排在列表最前,hash最大的排在列表最后。通过这种排序方式,可以将任意一组对象按一定的方式进行排列。

另一种可选地,当前配置数据为防火墙端的第一对象类型的数据,用户配置数据为离线配置端的第二对象类型的数据,则对多个主键映射的hash值进行分类排序的步骤,包括:将多个主键映射的hash值按照第一对象类型或第二对象类型进行分类排序。该第一对象类型指示防火墙端的对象类型,而第二对象类型可以指示离线配置端的对象类型。

通过以上两个操作,可以对任意一个或一组对象进行排序,比如说策略或地址簿,可以得到了两个有一定顺序的列表,一个是离线配置端的对象列表(a1,a2,a3…),一个是防火墙端的对象列表(b1,b2,b3…)。

在比较时,可以先从列表头开始比较,例如,先比较a1和b1,如果a1的hash值比b1的hash值一样,说明a1与b1的主键是一致的,说明a1与b1来源于同一个对象,然后可以比较a1与b1的属性差异,将会得到一个属性差异对象deta1。属性差异对象deta1描述了a1与b1对象中哪几个属性是不一样的,需要将b1对象改成何种值才能和a1一样。(当然,如果a1与b1的属性值完全一致,我们只要返回空值就行了,代表a1与b1配置无差异)接着再比较a2和b2。如果a1的hash值比b1的hash值小,说明a1比所有的b对象(b1,b2,b3…)都小,说明在防火墙上没有与a1主键一样的对象,那么我们需要在防火墙上创建一个a1对象。因此,这种情况下,算法只要返回一个创建性质的差异对象create1就可以了(创建a1)。接着再比较a2和b1。如果a1的hash值比b1的hash值大,说明所有的a对象(a1,a2,a3…)都比b1大,说明a对象中没有和b1主键一样的对象。因此,算法只要返回一个删除性质的差异对象delete1就可以了(删除b1)。接着再比较a1和b2。经过以上算法的循环调用,我们最终得到了一个集合,这个集合里要么是具有创建性质的对象,要么是具体删除性质的对象,要么是具体更新性质的对象。

另一种可选地,利用moc比较当前配置数据和用户配置数据的差异性数据的步骤,包括:利用moc比较当前配置数据和用户配置数据在目标策略下的各个数据属性所对应的属性数据,得到差异性数据。例如对于图4和图6,可以比较得到,

id=1,即对于id为1的策略而言;

setaction=1,需要将action设置为1;

deletesrc_addr=add1;需要将add1从源地址簿中移除;

setsrc_addr=add2,需要将源地址簿设置为add2;

deletedst_addr=add2,需要将add1从目的地址簿移除;

setdst_addr=add2,需要将目的地址簿设置为add2。

其它属性保持不变。

步骤s206,根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

在得到差异性数据后,可以利用映射配置文件将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml。其中,映射配置文件可以是指对应于差异性数据,如何将其映射至xml中,以自动更改xml数据。图7是根据本发明实施例的一种映射得到可扩展标记语言的示意图,如图7所示,可以将差异化的数据自动映射为与目标版本的防火墙对应的可扩展标记语言xml。

在本发明实施例中,将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml的步骤,包括:确定每个差异对象所需要完成的操作类型和主键值;展示操作类型和主键值下的各个差异对象的数据属性;将每个差异对象中的操作类型、主键值以及各个数据属性的属性值映射为xml。

在本发明实施中,操作类型包括但不限于:

operation=1:更新

operation=2:去掉属性值

operation=3:创建

operation=4:删除。

如图7所示,其主要操作类型为更新,即设定operation=“1”,然后根据id来确定需要操作的策略或者地址簿,图7中的策略为安全策略。

作为本发明另一种可选的实施例,根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml的步骤,包括:根据每个出现差异化的属性数据,索引得到差异化的数据属性;确定与差异化的数据属性对应的多个差异对象;获取每个差异对象之间的引用逻辑和引用关系;根据引用逻辑和引用关系,对各个差异对象的执行节点进行排序;将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml。

另一种可选地,获取每个差异对象之间的引用逻辑和引用关系的步骤,包括:获取每个差异对象的标签;根据每个标签之间的依赖关系,确定每个差异对象之间的引用逻辑和引用关系。

对于图6所示的内容,除了需要将策略中的src_addr更换为add2外,还需要将add1这个无用的地址簿从系统中删除。这种情况下,差异化结果应该是:

updateid=1,对于id为1的策略而言;

updateaction=1,需要将action设置为1;

deletesrc_addr=add1,需要将add1从源地址簿中移除;

updatesrc_addr=add2,需要将源地址簿设置为add2;

deletedst_addr=add2,需要将add1从目的地址簿移除;

updatedst_addr=add2,需要将目的地址簿设置为add2;

deleteaddressname=add1,需要将名字为add1的地址簿删除;

createname=add2,创建名为add2的地址簿;

updatetype=0,地址簿类型为ipv4;

updateip_range_min=192.168.1.1;range成员的最小地址为192.168.1.1;

updateip_range_max=192.168.1.100;range的最大地址为192.168.1.100。

图8是根据本发明实施例的另一种可选的确定可扩展标记语言的示意图,如图8所示,将上述分析得到的数据通过xml展示出来。

但是,在差异对象除了策略的差异性描述,还涉及到了所关联对象的差异描述。因此,如果将上述配置交由防火墙进行执行就会出现问题,因为执行1000这个动作时,add1还没有从策略中移除,删除动作是不会成功的。也就是说1003和1005两个动作需要在1000之前执行,而1004和1006两个动作要在1001之后执行。

这样就需要对图8中的执行顺序进行调整。图9是根据本发明实施例的另一种可选的差异化配置后得到可扩展标记语言的示意图,如图9所示,将顺序化的配置进行了拆分,其实合并为一份配置即可。

在本发明实施例中为了达到配置顺序化,不会在执行逻辑上出现问题,可以先定义一份配置文件,该配置文件中记录每个moc的各个属性应用的对象(包括策略和地址簿)。

通过上述的配置文件,可以解析得到所有对象之间的依赖关系,从而得到各个对象之间的引用关系,然后就可以将对象属性全部拆分出来,完成xml的映射。例如,元素a引用了其它元素b,那么将b放到a之前,如果b引用了其它元素c,同样将c放入b之前,当然,如果b和c存在引用关系,还需要处理b与c的先后顺序。按上述方式如此操作,直到所有的集合元素被处理完。

图10是根据本发明实施例的一种可选的拆分对象属性映射得到可扩展标记语言的示意图,如图10所示,将经过解析得到的差异化数据进行映射后,可以拆分为多个模块,然后映射得到相应的xml。

另一种可选的实施例,在完成防火墙的配置后,还可以在保持会话不中断的前提下,对防火墙恢复任意一份历史配置,保证防火墙的数据不丢失。

上述描述的技术方案是在新建对象的角度上描述的,如果某组的元素都是删除的动作,只需要逆序操作即可。在顺序化解决方案描述过程中,我们将所有涉及引用关系的动作都做了拆分,这种拆分工作可以根据是否有具体的依赖动作而进行优化,如果只是引用关系发生了变化,而被引用的对象并没有增删的变化,这种配置可以不用拆分。

通过本发明上述实施例,可以基于离线配置的基础来实现将差异化的数据映射为xml,这样就可以实现第三方的审批系统对接;另外离线配置的本质是配置的对比,修改配置只是修改有差异的地方,因此在恢复历史配置时,不会造成防火墙业务的中断;数据结构映射的技术使得离线配置可以轻松兼容不同版本防火墙。

图11是根据本发明实施例的一种可选的防火墙标记语言的配置装置的示意图,如图11所示,该配置装置可以包括:获取单元11,比较单元13,映射单元15,其中,

获取单元11,用于获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的;

比较单元13,用于利用moc比较当前配置数据和用户配置数据的差异性数据;

映射单元15,用于根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

上述防火墙标记语言的配置装置,可以通过获取单元11获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的,通过比较单元13利用moc比较当前配置数据和用户配置数据的差异性数据,通过映射单元15根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。在该实施例中,可以通过离线编辑防火墙配置,兼容不同版本的防火墙,进而解决相关技术中通过人工配置的标记语言无法适应不同防火墙版本的技术问题。

可选地,moc的类型包括下述至少之一:策略和地址簿,则获取单元包括:第一获取模块,用于获取与策略和/或地址簿对应的主键,其中,主键用于标识配置对象;指示模块,用于利用配置对象a指示当前配置数据,并利用配置对象b指示用户配置数据;排序模块,用于按照预设排序规则,对多个主键映射的hash值进行分类排序;第二获取模块,用于在排序完成后,若确定配置对象a的主键映射的hash值和配置对象b的主键映射的hash值相同,则获取当前版本的防火墙的当前配置数据以及用户配置数据。

另一种可选地,当前配置数据为防火墙端的第一对象类型的数据,用户配置数据为离线配置端的第二对象类型的数据,则排序模块包括:排序子模块,用于将多个主键映射的hash值按照第一对象类型或第二对象类型进行分类排序。

在本发明实施例中,主键的属性至少包括与策略对应的预设id和与地址簿对应的预设名称。

可选地,moc中装载与目标策略对应的防火墙的多个数据属性,目标策略至少包括:安全策略,并在目标策略为安全策略的情况下,数据属性包括下述至少之一:数据行为值,源安全域名称,目的安全域名称,源地址簿名称,源地址簿的ip类型,目的地址簿名称,目的地址簿的ip类型,服务类型。

作为本发明一可选的实施例,比较单元包括:比较模块,用于利用moc比较当前配置数据和用户配置数据在目标策略下的各个数据属性所对应的属性数据,得到差异性数据。

在本发明实施例中,映射单元包括:索引模块,用于根据每个出现差异化的属性数据,索引得到差异化的数据属性;第一确定模块,用于确定与差异化的数据属性对应的多个差异对象;第一获取模块,用于获取每个差异对象之间的引用逻辑和引用关系;第二排序模块,用于根据引用逻辑和引用关系,对各个差异对象的执行节点进行排序;映射模块,用于将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml。

可选地,映射模块包括:第一确定子模块,用于确定每个差异对象所需要完成的操作类型和主键值;展示子模块,用于展示操作类型和主键值下的各个差异对象的数据属性;映射子模块,用于将每个差异对象中的操作类型、主键值以及各个数据属性的属性值映射为xml。

另一种可选地,第一获取模块包括:获取子模块,用于获取每个差异对象的标签;确定子模块,用于根据每个标签之间的依赖关系,确定每个差异对象之间的引用逻辑和引用关系。

上述的空调设备的参数调整装置还可以包括处理器和存储器,上述获取单元11,比较单元13,映射单元15等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。

上述处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml。

上述存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flashram),存储器包括至少一个存储芯片。

根据本发明实施例的另一方面,还提供了一种存储介质,存储介质用于存储程序,其中,程序在被处理器执行时控制存储介质所在设备执行上述任意一项的防火墙标记语言的配置方法。

根据本发明实施例的另一方面,还提供了一种处理器,处理器用于运行程序,其中,程序运行时执行上述任意一项的防火墙标记语言的配置方法。

本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:获取当前版本的防火墙的当前配置数据以及用户配置数据,其中,当前配置数据和用户配置数据是通过预设的管理对象数据结构moc装载的;利用moc比较当前配置数据和用户配置数据的差异性数据;根据差异性数据和映射配置文件,将当前配置数据映射为与目标版本的防火墙对应的可扩展标记语言xml,以完成防火墙的配置。

可选地,moc的类型包括下述至少之一:策略和地址簿,上述处理器执行程序时,还可以实现以下步骤:获取与策略和/或地址簿对应的主键,其中,主键用于标识配置对象;利用配置对象a指示当前配置数据,并利用配置对象b指示用户配置数据;按照预设排序规则,对多个主键映射的hash值进行分类排序;在排序完成后,若确定配置对象a的主键映射的hash值和配置对象b的主键映射的hash值相同,则获取当前版本的防火墙的当前配置数据以及用户配置数据。

可选地,当前配置数据为防火墙端的第一对象类型的数据,用户配置数据为离线配置端的第二对象类型的数据,上述处理器执行程序时,还可以实现以下步骤:将多个主键映射的hash值按照第一对象类型或第二对象类型进行分类排序。

可选地,主键的属性至少包括与策略对应的预设id和与地址簿对应的预设名称。

可选地,moc中装载与目标策略对应的防火墙的多个数据属性,目标策略至少包括:安全策略,并在目标策略为安全策略的情况下,数据属性包括下述至少之一:数据行为值,源安全域名称,目的安全域名称,源地址簿名称,源地址簿的ip类型,目的地址簿名称,目的地址簿的ip类型,服务类型。

可选地,上述处理器执行程序时,还可以实现以下步骤:利用moc比较当前配置数据和用户配置数据在目标策略下的各个数据属性所对应的属性数据,得到差异性数据。

可选地,上述处理器执行程序时,还可以实现以下步骤:根据每个出现差异化的属性数据,索引得到差异化的数据属性;确定与差异化的数据属性对应的多个差异对象;获取每个差异对象之间的引用逻辑和引用关系;根据引用逻辑和引用关系,对各个差异对象的执行节点进行排序;将排序完成后的差异对象映射为与目标版本的防火墙对应的可扩展标记语言xml。

可选地,上述处理器执行程序时,还可以实现以下步骤:确定每个差异对象所需要完成的操作类型和主键值;展示操作类型和主键值下的各个差异对象的数据属性;将每个差异对象中的操作类型、主键值以及各个数据属性的属性值映射为xml。

可选地,上述处理器执行程序时,还可以实现以下步骤:获取每个差异对象的标签;根据每个标签之间的依赖关系,确定每个差异对象之间的引用逻辑和引用关系。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

在本发明的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。

在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,可以为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1