本发明涉及防火墙控制的领域,尤其涉及基于线性链表排查的防火墙规则冲突检测方法和系统。
背景技术:
1、防火墙的访问控制机制包括大量访问控制规则,这样访问控制规则在工作过程中不可避免会发生冲突,使得访问控制机制无法全面精确地对访问进行拦截管理,降低防火墙的工作可靠性和稳定性。为了保证防火墙的工作安全性和有效性,需要检测访问控制机制内部不同策略之间的冲突情况,但是现有的访问控制机制内部策略的排查都是将策略进行原原本本的对比,这不仅需要耗费较多的算力和增加策略排查耗时,还可能发生排查遗漏的风险,不能有效对访问控制机制进行全面化高可信度的策略冲突排查。
技术实现思路
1、本发明的目的在于提供基于线性链表排查的防火墙规则冲突检测方法和系统,其基于防火墙规则集列表的策略属性信息,将防火墙规则集列表转换为线性化链表,实现对防火墙规则集列表下属所有策略的规范化转换;还当需要对防火墙规则集列表进行变更,获取当前变更操作对应的策略属性信息,并进行线性化转换,得到相应的线性化策略属性信息,便于与该线性化链表直接进行对比;将线性化策略属性信息与线性化链表进行遍历对比,确定线性化链表中与当前变更操作存在属性交集的策略,快速准确确定存在冲突可能性的策略;还对与当前变更操作存在属性交集的策略进行策略动作分析处理,判断防火墙规则集列表中对应的策略是否属于冲突策略并进行相应的策略调整,提高防火墙规则冲突检测效率和可靠性。
2、本发明是通过以下技术方案实现:
3、基于线性链表排查的防火墙规则冲突检测方法,包括:
4、基于防火墙规则集列表的策略属性信息,将所述防火墙规则集列表转换为线性化链表,并将所述线性化链表隔离存储至相应的线性化区间;
5、对防火墙工作日志进行监听,判断是否需要对所述防火墙规则集列表进行变更;当需要对所述防火墙规则集列表进行变更,则获取当前变更操作对应的策略属性信息;
6、对当前变更操作对应的策略属性信息进行线性化转换,得到线性化策略属性信息;将所述线性化策略属性信息与所述线性化链表进行遍历对比,确定所述线性化链表中与当前变更操作存在属性交集的策略;
7、对所述与当前变更操作存在属性交集的策略进行策略动作分析处理,判断所述防火墙规则集列表中对应的策略是否属于冲突策略,以此对所述防火墙规则集列表存在的冲突策略进行调整。
8、可选地,基于防火墙规则集列表的策略属性信息,将所述防火墙规则集列表转换为线性化链表,并将所述线性化链表隔离存储至相应的线性化区间,包括:
9、获取防火墙规则集列表包含的所有策略各自的策略属性信息,对所有策略属性信息分别进行语义识别处理,得到相应的策略属性语义信息;再对所有策略属性语义信息分别进行线性化转化处理,得到线性化策略属性信息;
10、将所有线性化策略属性信息进行排列后形成线性化链表,再基于所述线性化链表的数据结构特征信息和数据量特征信息,从存储区间中划定与所述线性化链表匹配的线性化区间,从而将所述线性化链表隔离存储子所述线性化区间。
11、可选地,对防火墙工作日志进行监听,判断是否需要对所述防火墙规则集列表进行变更;当需要对所述防火墙规则集列表进行变更,则获取当前变更操作对应的策略属性信息,包括:
12、对防火墙工作日志进行监听,提取防火墙接收到的工作变更指令;对所述工作变更指令进行解析处理,判断是否需要对所述防火墙规则集列表进行策略添加或策略修改操作;
13、当需要对所述防火墙规则集列表进行策略添加或策略修改操作时,获取需要添加或修改的策略的策略属性信息,并对所述策略属性信息进行语义识别处理,得到相应的策略属性语义信息。
14、可选地,对当前变更操作对应的策略属性信息进行线性化转换,得到线性化策略属性信息;将所述线性化策略属性信息与所述线性化链表进行遍历对比,确定所述线性化链表中与当前变更操作存在属性交集的策略,包括:
15、对需要添加或修改的策略的策略属性语义信息进行线性化转换,得到线性化策略属性信息;将需要添加或修改的策略的线性化策略属性信息与所述线性化链表包含的所有线性化策略属性信息进行遍历对比,得到需要添加或修改的策略的线性化策略属性信息与所述线性化链表下属每个线性化策略属性信息之间的属性相似度;若所述属性相似度大于预设相似度阈值,则将所述线性化链表下属对应的策略确定为与需要添加或修改的策略存在属性交集的策略;否则,不将所述线性化链表下属对应的策略确定为与需要添加或修改的策略存在属性交集的策略。
16、可选地,对所述与当前变更操作存在属性交集的策略进行策略动作分析处理,判断所述防火墙规则集列表中对应的策略是否属于冲突策略,以此对所述防火墙规则集列表存在的冲突策略进行调整,包括:
17、对需要添加或修改的策略和存在属性交集的策略进行策略动作分析处理,判断存在属性交集的策略与需要添加或修改的策略之间是否具有相同的策略动作;若具有相同的策略动作,则确定需要添加或修改的策略和存在属性交集的策略互为冗余性冲突策略;若不具有相同的策略动作,则确定需要添加或修改的策略和存在属性交集的策略互为屏蔽性冲突策略;
18、若需要添加或修改的策略和存在属性交集的策略互为冗余性冲突策略,则停止进行添加或修改策略;若需要添加或修改的策略和存在属性交集的策略互为屏蔽性冲突策略,则删除存在属性交集的策略后再继续进行添加或修改策略。
19、基于线性链表排查的防火墙规则冲突检测系统,包括:
20、规则集列表转换与存储模块,用于基于防火墙规则集列表的策略属性信息,将所述防火墙规则集列表转换为线性化链表,并将所述线性化链表隔离存储至相应的线性化区间;
21、规则集列表变更识别模块,用于对防火墙工作日志进行监听,判断是否需要对所述防火墙规则集列表进行变更;当需要对所述防火墙规则集列表进行变更,则获取当前变更操作对应的策略属性信息;
22、变更操作策略属性确定模块,用于对当前变更操作对应的策略属性信息进行线性化转换,得到线性化策略属性信息;
23、链表遍历对比模块,用于将所述线性化策略属性信息与所述线性化链表进行遍历对比,确定所述线性化链表中与当前变更操作存在属性交集的策略;
24、冲突策略确定与调整模块,用于对所述与当前变更操作存在属性交集的策略进行策略动作分析处理,判断所述防火墙规则集列表中对应的策略是否属于冲突策略,以此对所述防火墙规则集列表存在的冲突策略进行调整。
25、可选地,所述规则集列表转换与存储模块用于基于防火墙规则集列表的策略属性信息,将所述防火墙规则集列表转换为线性化链表,并将所述线性化链表隔离存储至相应的线性化区间,包括:
26、获取防火墙规则集列表包含的所有策略各自的策略属性信息,对所有策略属性信息分别进行语义识别处理,得到相应的策略属性语义信息;再对所有策略属性语义信息分别进行线性化转化处理,得到线性化策略属性信息;
27、将所有线性化策略属性信息进行排列后形成线性化链表,再基于所述线性化链表的数据结构特征信息和数据量特征信息,从存储区间中划定与所述线性化链表匹配的线性化区间,从而将所述线性化链表隔离存储子所述线性化区间。
28、可选地,所述规则集列表变更识别模块用于对防火墙工作日志进行监听,判断是否需要对所述防火墙规则集列表进行变更;当需要对所述防火墙规则集列表进行变更,则获取当前变更操作对应的策略属性信息,包括:
29、对防火墙工作日志进行监听,提取防火墙接收到的工作变更指令;对所述工作变更指令进行解析处理,判断是否需要对所述防火墙规则集列表进行策略添加或策略修改操作;
30、当需要对所述防火墙规则集列表进行策略添加或策略修改操作时,获取需要添加或修改的策略的策略属性信息,并对所述策略属性信息进行语义识别处理,得到相应的策略属性语义信息。
31、可选地,所述变更操作策略属性确定模块用于对当前变更操作对应的策略属性信息进行线性化转换,得到线性化策略属性信息,包括:
32、对需要添加或修改的策略的策略属性语义信息进行线性化转换,得到线性化策略属性信息;
33、所述链表遍历对比模块用于将所述线性化策略属性信息与所述线性化链表进行遍历对比,确定所述线性化链表中与当前变更操作存在属性交集的策略,包括:
34、将需要添加或修改的策略的线性化策略属性信息与所述线性化链表包含的所有线性化策略属性信息进行遍历对比,得到需要添加或修改的策略的线性化策略属性信息与所述线性化链表下属每个线性化策略属性信息之间的属性相似度;若所述属性相似度大于预设相似度阈值,则将所述线性化链表下属对应的策略确定为与需要添加或修改的策略存在属性交集的策略;否则,不将所述线性化链表下属对应的策略确定为与需要添加或修改的策略存在属性交集的策略。
35、可选地,所述冲突策略确定与调整模块用于对所述与当前变更操作存在属性交集的策略进行策略动作分析处理,判断所述防火墙规则集列表中对应的策略是否属于冲突策略,以此对所述防火墙规则集列表存在的冲突策略进行调整,包括:
36、对需要添加或修改的策略和存在属性交集的策略进行策略动作分析处理,判断存在属性交集的策略与需要添加或修改的策略之间是否具有相同的策略动作;若具有相同的策略动作,则确定需要添加或修改的策略和存在属性交集的策略互为冗余性冲突策略;若不具有相同的策略动作,则确定需要添加或修改的策略和存在属性交集的策略互为屏蔽性冲突策略;
37、若需要添加或修改的策略和存在属性交集的策略互为冗余性冲突策略,则停止进行添加或修改策略;若需要添加或修改的策略和存在属性交集的策略互为屏蔽性冲突策略,则删除存在属性交集的策略后再继续进行添加或修改策略。
38、与现有技术相比,本发明具有如下有益效果:
39、本技术提供的基于线性链表排查的防火墙规则冲突检测方法和系统基于防火墙规则集列表的策略属性信息,将防火墙规则集列表转换为线性化链表,实现对防火墙规则集列表下属所有策略的规范化转换;还当需要对防火墙规则集列表进行变更,获取当前变更操作对应的策略属性信息,并进行线性化转换,得到相应的线性化策略属性信息,便于与该线性化链表直接进行对比;将线性化策略属性信息与线性化链表进行遍历对比,确定线性化链表中与当前变更操作存在属性交集的策略,快速准确确定存在冲突可能性的策略;还对与当前变更操作存在属性交集的策略进行策略动作分析处理,判断防火墙规则集列表中对应的策略是否属于冲突策略并进行相应的策略调整,提高防火墙规则冲突检测效率和可靠性。