一种防火墙实现方法、装置、设备及存储介质与流程

未命名 10-20 阅读:87 评论:0


1.本发明涉及防火墙技术领域,尤其涉及一种防火墙实现方法、装置、设备及存储介质。


背景技术:

2.防火墙是设置在被保护网络和外部网络之间的一道屏障,以防止发生不可预测的、潜在的破坏性的侵入。目前主要通过包过滤技术和状态检测技术实现同一会话的数据包过滤,然而上述这两种现行的方案存在以下问题:
3.(1)包过滤技术由于tcp/ip协议特性,会话的客户端是随机的、服务端端口是固定的。在客户端给服务端发数据时,数据包的源端口为客户端端口,目的端口为服务端端口;而在服务端给客户端回数据包时,数据包的源端口为服务端端口,目的端口为客户端端口。由于这个特性,包过滤技术必然要添加大量防火墙策略,这需要大量的人力物力,而且还不能保证防火墙策略的精准,这就导致了安全问题。
4.(2)状态检测技术的出现节省人力和物力,同时解决了防火墙策略精确添加的问题,然而也带来了新问题,同一会话的数据包必须要进出同一台或同一对主备防火墙,组网的自由性受到限制。


技术实现要素:

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.图1是本发明实施例提供的一种防火墙实现方法的流程图;
30.图2是本发明实施例提供的防火墙密钥更新过程的示意图;
31.图3是本发明实施例提供的code码更新过程的示意图;
32.图4是本发明实施例提供的管理服务器密钥更新过程的示意图;
33.图5是本发明实施例提供的防火墙实现过程的示意图;
34.图6是本发明实施例提供的一种防火墙实现装置的结构框图;
35.图7是本发明实施例提供的一种电子设备的结构框图。
具体实施方式
36.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
37.参见图1,图1是本发明实施例提供的一种防火墙实现方法的流程图,所述防火墙实现方法包括:
38.s1、接收进入防火墙的数据包;其中,所述数据包至少携带有五元组;
39.s2、在所述数据包满足预设的防火墙放行条件时,将所述防火墙生成的会话识别信息添加入所述数据包,并放行所述数据包通过所述防火墙,以使得其他防火墙利用所述会话识别信息确定是否放行所述数据包;其中,所述会话识别信息包括:防火墙身份信息、随机数加密值和散列值,所述散列值是基于所述五元组计算得到的。
40.在本发明实施例中,当防火墙接收到数据包时,若所述数据包满足预设的防火墙放行条件,则将所述防火墙生成的会话识别信息添加入所述数据包,防火墙将所述数据包放行,所述数据包经过防火墙,进入所述防火墙保护的网络中。在本发明实施例中,数据包在经过防火墙后,防火墙会将会话识别信息添加到数据包内,使得其他防火墙识别其已经在其他防火墙上放行,从而解决状态检测防火墙要求进出数据包都需要过同一台或者一对主备防火墙的问题,而且不会出现包过滤技术的高工作量及防火墙策略管控不精确的问题。
41.本发明实施例对于数据量越来越大的未来,即使防火墙性能不足,通过直接单机防火墙就能实现链路及处理能力的扩容,同时对于万物互联、智能、算力网络中路由来去自由度极高的网络情况,能够实现策略的访问控制。
42.在一可选实施方式中,当接收到的所述数据包未携带有会话识别信息时,所述防火墙放行条件包括:所述数据包与预设的防火墙策略匹配成功。
43.可以理解的是,当传统的数据包在进入联盟内的任意一台防火墙并匹配防火墙策略成功后,防火墙会添加会话识别信息至该数据包中,利用该数据包进行转发,使得其他防火墙识别其已经该台防火墙上放行。
44.在一可选实施方式中,当接收到的所述数据包还携带有放行所述数据包的原始防火墙生成的原始会话识别信息时,所述防火墙放行条件包括:
45.对所述五元组和解密结果进行散列计算得到的散列值,与原始散列值一致;
46.其中,利用原始防火墙的公钥对原始随机数加密值进行解密得到所述解密结果,所述原始会话识别信息包括:原始防火墙身份信息、所述原始随机数加密值和所述原始散列值。
47.可以理解的是,原始防火墙向其他防火墙转发携带有原始会话信息的数据包,该防火墙接收该数据包,当该防火墙接收该数据包时,对该数据包内的原始会话信息进行分析,具体的:
48.根据原始防火墙身份信息查询原始防火墙的公钥,利用该公钥对原始随机数加密
值进行解密,得到解密结果;
49.从该数据包中提取五元组,并按照预设的顺序进行排序后与解密结果进行散列计算,得到散列值;
50.当计算出来的散列值与原始散列值一致时,判定该数据包满足该防火墙的放行条件。
51.在一可选实施方式中,通过以下步骤生成所述会话识别信息:
52.生成所述防火墙身份信息;
53.生成随机数;
54.对所述五元组和所述随机数进行散列计算,得到所述散列值;
55.采用防火墙的私钥对所述随机数进行加密,得到所述随机数加密值。
56.可以理解的是,所述防火墙身份信息是所述防火墙的唯一id,根据所述防火墙身份信息查询得到所述防火墙的私钥和公钥。所述随机数用于防止会话被冒用。所述五元组包括:源ip地址,源端口,目的ip地址,目的端口和传输层协议;在进行散列计算时,从所述数据包提取五元组,并按照预设的顺序进行排序后与随机数进行散列计算,得到所述散列值。
57.在一可选实施方式中,所述将所述防火墙生成的会话识别信息添加入所述数据包,包括:
58.删除所述数据包携带的原始会话识别信息,将所述防火墙生成的会话识别信息添加入所述数据包。
59.在一可选实施方式中,所述防火墙实现方法还包括:定时更新防火墙的公钥和私钥。
60.可以理解的是,防火墙生成自己的密钥对和code码,接着会向管理服务器同步自己的公钥和code码。管理服务器负责管理各防火墙的公钥及code码,同时管理服务器也生成自己的密钥对。其中,密钥对是指用一个加密密钥(此处用e表示)和一个解密密钥(此处用d表示)构成的一对密钥,code码用于识别防火墙是否有被冒用。
61.为了避免密钥、code码、身份信息uuid等对应关系被破解,所以这些数据在一定时间内就需要更新,更新过程包括:防火墙密钥更新、code码更新和管理服务器密钥更新。
62.防火墙密钥更新:防火墙定时生成新密钥对,同时将解密密钥作为公钥同步给管理服务器,更新过程如图2所示,防火墙生成新的密钥对e3、d3,并将e3同步给管理服务器。
63.code码更新:在防火墙定时生成新的code码,同时更新至管理服务器,更新过程如图3所示,图中新的code码由于关系到身份识别,故都是加密传输。
64.管理服务器密钥更新:管理服务器定时生成密钥对,并更新至所有联盟其他成员,更新过程如图4所示。
65.在一可选实施方式中,所述防火墙实现方法还包括:
66.在所述数据包不满足所述防火墙放行条件时,丢弃所述数据包。
67.可以理解的是,当所述数据包不满足所述防火墙放行条件时,说明所述数据包不允许通过所述防火墙,防火墙丢弃所述数据包。
68.当接收到的所述数据包未携带有会话识别信息时,若所述数据包与预设的防火墙策略匹配失败,则判定所述数据包不满足所述防火墙放行条件;
69.当接收到的所述数据包还携带有放行所述数据包的原始防火墙生成的原始会话识别信息时,若对所述五元组和解密结果进行散列计算得到的散列值,与原始散列值不一致;则判定所述数据包不满足所述防火墙放行条件。
70.作为举例的,结合图5,本发明实施例所提供的防火墙实时方法如下:
71.传统数据包在进入联盟内的任意一台防火墙并匹配策略成功后,防火墙会对加添加会话识别信息,主要过程是:
72.1、加上自己(接收到数据包的防火墙)的身份信息unid;
73.2、生成一个随机数;
74.3、对进来防火墙的数据包的五元组信息进行提取并排序,排序后的五元组同随机值一起采用散列计算,散列计算方法包括但不限于hash、md5等;
75.4、对随机数用自己的私钥进行加密;
76.5、将身份信息unid、散列值、随机数加密值添加至数据包,并进行转发。
77.当防火墙收到带有会话识别信息时,会进行如下操作:
78.1、查询身份信息uuid对应的公钥,并对随机数加密值进行解密,得到解密结果;
79.2、对进来防火墙的数据包的五元组信息进行提取并排序,排序后的五元组同随机值一起采用散列计算,散列计算方法包括但不限于hash、md5等;
80.3、比对计算出来的散列值与数据包中携带的散列值是否一致,不一致则丢弃数据包,一致再进行下一步;
81.4、去除原有的会话识别信息,替换为自己的会话识别信息并转发出去。
82.本发明实施例通过将会话识别信息添加到已经过防火墙的数据包中,实现同一出口不同防火墙、不同网络不同防火墙之间的跨设备会话检测机制,解决现有技术中包过滤技术存在的高工作量及防火墙策略管控不精确和状态检测技术存在的数据包必须要进出同一台或同一对主备防火墙的问题。
83.参见图6,图6是本发明实施例提供的一种防火墙实现装置10的结构框图,所述防火墙实现装置10包括:
84.数据包接收模块11,用于接收进入防火墙的数据包;其中,所述数据包至少携带有五元组;
85.数据包放行模块12,用于在所述数据包满足预设的防火墙放行条件时,将所述防火墙生成的会话识别信息添加入所述数据包,并放行所述数据包通过所述防火墙,以使得其他防火墙利用所述会话识别信息确定是否放行所述数据包;其中,所述会话识别信息包括:防火墙身份信息、随机数加密值和散列值,所述散列值是基于所述五元组计算得到的。
86.优选的,当接收到的所述数据包未携带有会话识别信息时,所述防火墙放行条件包括:所述数据包与预设的防火墙策略匹配成功。
87.优选的,当接收到的所述数据包还携带有放行所述数据包的原始防火墙生成的原始会话识别信息时,所述防火墙放行条件包括:
88.对所述五元组和解密结果进行散列计算得到的散列值,与原始散列值一致;
89.其中,利用原始防火墙的公钥对原始随机数加密值进行解密得到所述解密结果,所述原始会话识别信息包括:原始防火墙身份信息、所述原始随机数加密值和所述原始散列值。
90.优选的,通过以下步骤生成所述会话识别信息:
91.生成所述防火墙身份信息;
92.生成随机数;
93.对所述五元组和所述随机数进行散列计算,得到所述散列值;
94.采用防火墙的私钥对所述随机数进行加密,得到所述随机数加密值。
95.优选的,所述将所述防火墙生成的会话识别信息添加入所述数据包,包括:
96.删除所述数据包携带的原始会话识别信息,将所述防火墙生成的会话识别信息添加入所述数据包。
97.优选的,所述防火墙实现装置还包括:
98.密钥更新模块,用于定时更新防火墙的公钥和私钥。
99.优选的,所述防火墙实现装置还包括:
100.数据包丢弃模块,用于在所述数据包不满足所述防火墙放行条件时,丢弃所述数据包。
101.值得说明的是,本发明实施例所述的防火墙实现装置10中各个模块的工作过程可参考上述实施例所述的防火墙实现方法的工作过程,在此不再赘述。
102.本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如上述任一实施例的防火墙实现方法。
103.参见图7,图7是本发明实施例提供的一种电子设备20的结构框图,所述电子设备20包括:处理器21、存储器22以及存储在所述存储器22中并可在所述处理器21上运行的计算机程序。所述处理器21执行所述计算机程序时实现上述防火墙实现方法实施例中的步骤。或者,所述处理器21执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
104.示例性的,所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器22中,并由所述处理器21执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在所述电子设备20中的执行过程。
105.所述电子设备20可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述电子设备20可包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,所述示意图仅仅是电子设备20的示例,并不构成对电子设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备20还可以包括输入输出设备、网络接入设备、总线等。
106.所称处理器21可以是中央处理单元(central processing unit,cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器21是所述电子设备20的控制中心,利用各种接口和线路连接整个电子设备20的各个部分。
107.所述存储器22可用于存储所述计算机程序和/或模块,所述处理器21通过运行或执行存储在所述存储器22内的计算机程序和/或模块,以及调用存储在存储器22内的数据,实现所述电子设备20的各种功能。所述存储器22可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
108.其中,所述电子设备20集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器21执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质等。
109.需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
110.与现有技术相比,本发明实施例提供的一种防火墙实现方法、装置、设备及存储介质,通过将会话识别信息添加到已经过防火墙的数据包中,实现同一出口不同防火墙、不同网络不同防火墙之间的跨设备会话检测机制,从而解决状态检测技术要求数据包必须要进出同一台或同一对主备防火墙的问题,实现组网自由、防火墙易扩展等优势,实现来回路径不一致,但防火墙依然能够进行会话状态检测。此外本发明实施例不需要添加大量的防火墙策略,不会出现包过滤技术的高工作量及防火墙策略管控不精确的问题。
111.以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

技术特征:
1.一种防火墙实现方法,其特征在于,包括:接收进入防火墙的数据包;其中,所述数据包至少携带有五元组;在所述数据包满足预设的防火墙放行条件时,将所述防火墙生成的会话识别信息添加入所述数据包,并放行所述数据包通过所述防火墙,以使得其他防火墙利用所述会话识别信息确定是否放行所述数据包;其中,所述会话识别信息包括:防火墙身份信息、随机数加密值和散列值,所述散列值是基于所述五元组计算得到的。2.如权利要求1所述的防火墙实现方法,其特征在于,当接收到的所述数据包未携带有会话识别信息时,所述防火墙放行条件包括:所述数据包与预设的防火墙策略匹配成功。3.如权利要求1所述的防火墙实现方法,其特征在于,当接收到的所述数据包还携带有放行所述数据包的原始防火墙生成的原始会话识别信息时,所述防火墙放行条件包括:对所述五元组和解密结果进行散列计算得到的散列值,与原始散列值一致;其中,利用原始防火墙的公钥对原始随机数加密值进行解密得到所述解密结果,所述原始会话识别信息包括:原始防火墙身份信息、所述原始随机数加密值和所述原始散列值。4.如权利要求1所述的防火墙实现方法,其特征在于,通过以下步骤生成所述会话识别信息:生成所述防火墙身份信息;生成随机数;对所述五元组和所述随机数进行散列计算,得到所述散列值;采用防火墙的私钥对所述随机数进行加密,得到所述随机数加密值。5.如权利要求1或3所述的防火墙实现方法,其特征在于,所述将所述防火墙生成的会话识别信息添加入所述数据包,包括:删除所述数据包携带的原始会话识别信息,将所述防火墙生成的会话识别信息添加入所述数据包。6.如权利要求1所述的防火墙实现方法,其特征在于,所述防火墙实现方法还包括:定时更新防火墙的公钥和私钥。7.如权利要求1所述的防火墙实现方法,其特征在于,所述防火墙实现方法还包括:在所述数据包不满足所述防火墙放行条件时,丢弃所述数据包。8.一种防火墙实现装置,其特征在于,包括:数据包接收模块,用于接收进入防火墙的数据包;其中,所述数据包至少携带有五元组;数据包放行模块,用于在所述数据包满足预设的防火墙放行条件时,将所述防火墙生成的会话识别信息添加入所述数据包,并放行所述数据包通过所述防火墙,以使得其他防火墙利用所述会话识别信息确定是否放行所述数据包;其中,所述会话识别信息包括:防火墙身份信息、随机数加密值和散列值,所述散列值是基于所述五元组计算得到的。9.一种电子设备,其特征在于,包括处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器在执行所述计算机程序时实现如权利要求1~7任一项所述的防火墙实现方法。10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括存储的计算机程序;其中,所述计算机程序在运行时控制所述计算机可读存储介质所在的设备执行如
权利要求1~7任一项所述的防火墙实现方法。

技术总结
本发明公开了一种防火墙实现方法、装置、设备及存储介质,方法包括:接收进入防火墙的数据包;其中,所述数据包至少携带有五元组;在所述数据包满足预设的防火墙放行条件时,将所述防火墙生成的会话识别信息添加入所述数据包,并放行所述数据包通过所述防火墙,以使得其他防火墙利用所述会话识别信息确定是否放行所述数据包;其中,所述会话识别信息包括:防火墙身份信息、随机数加密值和散列值,所述散列值是基于所述五元组计算得到的。采用本发明实施例不需要数据包必须要进出同一台或同一对主备防火墙,而且不会出现防火墙策略的不精准的问题,也不需要大量的人力物力。也不需要大量的人力物力。也不需要大量的人力物力。


技术研发人员:刘锦昌 王志国 张弛 黄刚 刘东
受保护的技术使用者:咪咕文化科技有限公司 中国移动通信集团有限公司
技术研发日:2023.07.18
技术公布日:2023/10/8
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐