一种基于串接流量的应用防火墙制造技术

技术编号:37719910 阅读:17 留言:0更新日期:2023-06-02 00:18
本发明专利技术公开了一种基于串接流量的应用防火墙,包括基于多进程设计且采用背靠背代理模式的框架,框架包括与进程一一对应的数据处理通道;数据处理通道由根据功能拆分而成的网桥、流量控制、会话管理、协议栈、事件处理、应用协议管理以及业务处理模块组成;当接入或外发数据时,由网桥或所述业务处理模块自前而后或自后而前依次流经所述数据处理通道的各个模块进行处理。本发明专利技术实现了串接大数据流量下,应用防火墙对系统资源的高效利用;由于采用二次分流技术,可保障数据处理按照需要实现完整关联;对受控流量和非受控流量进行线程分离处理,最大程度降低了对非受控流量的影响;在应用层数据处理上,能保持受控流量的畅通,且总体时延较低可控。体时延较低可控。体时延较低可控。

【技术实现步骤摘要】
一种基于串接流量的应用防火墙


[0001]本专利技术涉及网络安全
,尤其涉及一种基于串接流量的应用防火墙。

技术介绍

[0002]近年来,有关数据泄露、数据窃听、数据滥用等安全事件屡见不鲜,保护数据资产已被高度重视。传统旁路产品,存在无法提供可靠阻断、数据篡改功能,且存在无法有效进行加密流量的内容解析与识别等功能缺项,故在流量管控上无法满足全场景需求;基于应用防火墙的串路网络安全产品,很好的补充了这方面的不足,如网络数据泄露防护、数据库运维等串路产品在实际网安场景中得到了较宽广的应用。
[0003]应用防火墙由于其串接部署特点,故对自身程序可靠性、处理性能要求较高。一旦软件自身存在问题、或数据处理实时性较差,容易对用户的业务系统造成影响。

技术实现思路

[0004]基于现有的技术问题,本专利技术提出了一种基于串接流量的应用防火墙。
[0005]本专利技术提出的一种基于串接流量的应用防火墙,包括基于多进程设计且采用背靠背代理模式的框架,所述框架包括与所述进程一一对应的数据处理通道。
[0006]所述数据处理通道由根据功能拆分而成的网桥、流量控制、会话管理、协议栈、事件处理、应用协议管理以及业务处理模块组成。
[0007]当接入或外发数据时,由所述网桥或所述业务处理模块自前而后或自后而前依次流经所述数据处理通道的各个模块进行处理。
[0008]优选地,每个所述网桥模块由成对的网卡A以及网卡B组成,串入路由/交换设备后对网卡数据实现收发的动作。
[0009]所述网卡A以及所述网卡B开启按会话完整性分流的功能,所述网卡A以及所述网卡B会将收到的数据均衡的散列到自己的多个rx队列,之后每个所述网卡A以及网卡B都被会分配一对rx、tx队列用于所述网桥模块从对应网卡接收、外发数据的动作。
[0010]所述数据处理通道内的网桥模块在收到网卡A对应rx队列的接入数据后,会根据配置规则进行流量的二次分发以实现流量按需在应用防火墙多个数据处理通道的负载均衡动作。
[0011]对于属于本通道应该处理的流量,会进入流量控制模块,以判断当前流量是否需要受控,对于需要受控的流量,交由会话管理模块处理,经由协议栈传导至后端业务处理模块,非受控流量直接回传至网桥,从网卡B对外转发。
[0012]通过上述技术方案,实现对系统资源的高效利用,同时采用二次分流技术,可保障数据处理按照需要实现完整关联。
[0013]优选地,所述会话管理模块收到数据后,判断当前数据是否为TCP握手的第一个SYN包,如果是,则按配置建立当前TCP会话的本地代理映射记录,如果不是则查询本地会话记录表,得到原始会话与背靠背代理会话的映射关系后,将原数据中目的IP/PORT转换为提
供服务的代理IP/PORT,提交给协议栈模块进行处理。
[0014]优选地,所述协议栈模块将接收到的原始数据剥离应用层以下的协议栈,并通知事件处理模块进行应用数据处理。
[0015]数据处理通道内为事件处理模块启动独立线程监控处理各种TCP会话事件,实现与下层模块解耦异步运行的动作。
[0016]优选地,所述事件处理模块接到协议栈模块的事件通知后,做出相应的响应,所述响应包括:
[0017]a.对于新创建TCP会话的事件,完成客户端与代理、代理与服务端的背靠背代理的建立。
[0018]b.对于数据读取事件,模块内设置两级收包缓存buf1、buf2,在上层应用协议管理等模块运行正常时,使用buf1进行收包,否则使用buf2进行收包,在收包完成后同步将收包缓存提交给应用协议管理模块处理。
[0019]c.对于TCP会话异常/销毁等事件,关闭客户端与代理、代理与服务端的背靠背代理连接,并通知会话管理模块清理当前TCP会话的本地代理映射记录。
[0020]优选地,所述应用协议管理模块在基于多线程进行拆分后,根据逻辑复杂程度、运算量或影响网络通信质量的标准进行判断,判断后再决定是与底层模块解耦脱离,放到二级应用协议管理线程处理,还是放到一级线程与事件处理核心逻辑同步运行。
[0021]一级主线程对二级处理线程进行状态机监测管理,实时查询当前二级处理线程的运行状态,同时一二级线程通过无锁队列进行交互,实现数据及控制信令的传输。
[0022]优选地,从背靠背代理的A侧收到的应用数据由栈底进入协议对象的应用协议栈,经过逐层向上的处理到达栈顶,完成接收A侧的处理,之后再由栈顶依次向下遍历每一层协议,到达栈底后从B侧发出,完成发送B侧的处理;在每一层的协议处理上可嵌入业务处理模块。
[0023]通过上述技术方案,在应用层数据处理上,对复杂的业务处理部分也进行了线程分离,确保在业务处理出现耗时过高、甚至死循环、假死等异常情况时,能保持受控流量的畅通,且总体时延较低可控。
[0024]优选地,从背靠背代理的B侧发出的应用数据进入事件处理模块,在当前侧代理会话可写入数据时,将应用数据发往协议栈模块;
[0025]所述协议栈模块将应用层外发的数据逐层封装,形成原始报文,并通知会话管理模块有外发数据到达。
[0026]优选地,所述会话管理模块查询本地会话记录表,得到原始会话与背靠背代理会话的映射关系,将当前数据中的代理IP/PORT还原为原始会话中的IP/PORT,提交给所述网桥模块进行外发动作。
[0027]优选地,所述网桥模块在收到上层模块的外发数据时,将从网卡B的对应tx队列实现数据外发动作。
[0028]本专利技术中的有益效果为:
[0029]本专利技术实现了串接大数据流量下,应用防火墙对系统资源的高效利用;由于采用二次分流技术,可保障数据处理按照需要实现完整关联;对受控流量和非受控流量进行线程分离处理,最大程度降低了对非受控流量的影响;在应用层数据处理上,对复杂的业务处
理部分也进行了线程分离,确保在业务处理出现耗时过高、甚至死循环、假死等异常情况时,能保持受控流量的畅通,且总体时延较低可控。
附图说明
[0030]图1为本专利技术提出的一种基于串接流量的应用防火墙的数据处理通道模块组件图;
[0031]图2为本专利技术提出的一种基于串接流量的应用防火墙的数据处理流向图;
[0032]图3为本专利技术提出的一种基于串接流量的应用防火墙的TCP原始会话与背靠背代理的转换图;
[0033]图4为本专利技术提出的一种基于串接流量的应用防火墙的数据处理通道内部线程结构图;
[0034]图5为本专利技术提出的一种基于串接流量的应用防火墙的应用协议管理模块内部结构图;
[0035]图6为本专利技术提出的一种基于串接流量的应用防火墙的应用协议管理模块数据处理逻辑图;
[0036]图7为本专利技术提出的一种基于串接流量的应用防火墙的图6中流程A逻辑图;
[0037]图8为本专利技术提出的一种基于串接流量的应用防火墙的图6中流程B逻辑图;
[0038]图9为本专利技术提出的一种基于串接流量的应用防火墙的图6中本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于串接流量的应用防火墙,其特征在于:包括基于多进程设计且采用背靠背代理模式的框架,所述框架包括与所述进程一一对应的数据处理通道;所述数据处理通道由根据功能拆分而成的网桥、流量控制、会话管理、协议栈、事件处理、应用协议管理以及业务处理模块组成;当接入或外发数据时,由所述网桥或所述业务处理模块自前而后或自后而前依次流经所述数据处理通道的各个模块进行处理。2.根据权利要求1所述的一种基于串接流量的应用防火墙,其特征在于:每个所述网桥模块由成对的网卡A以及网卡B组成,串入路由/交换设备后对网卡数据实现收发的动作;所述网卡A以及所述网卡B开启按会话完整性分流的功能,所述网卡A以及所述网卡B会将收到的数据均衡的散列到自己的多个rx队列,之后每个所述网卡A以及网卡B都被会分配一对rx、tx队列用于所述网桥模块从对应网卡接收、外发数据的动作;所述数据处理通道内的网桥模块在收到网卡A对应rx队列的接入数据后,会根据配置规则进行流量的二次分发以实现流量按需在应用防火墙多个数据处理通道的负载均衡动作;对于属于本通道应该处理的流量,会进入流量控制模块,以判断当前流量是否需要受控,对于需要受控的流量,交由会话管理模块处理,经由协议栈传导至后端业务处理模块,非受控流量直接回传至网桥,从网卡B对外转发。3.根据权利要求2所述的一种基于串接流量的应用防火墙,其特征在于:所述会话管理模块收到数据后,判断当前数据是否为TCP握手的第一个SYN包,如果是,则按配置建立当前TCP会话的本地代理映射记录,如果不是则查询本地会话记录表,得到原始会话与背靠背代理会话的映射关系后,将原数据中目的IP/PORT转换为提供服务的代理IP/PORT,提交给协议栈模块进行处理。4.根据权利要求3所述的一种基于串接流量的应用防火墙,其特征在于:所述协议栈模块将接收到的原始数据剥离应用层以下的协议栈,并通知事件处理模块进行应用数据处理;数据处理通道内为事件处理模块启动独立线程监控处理各种TCP会话事件,实现与下层模块解耦异步运行的动作。5.根据权利要求4所述的一种基于串接流量的应用防火墙,其特征在于:所述事件处理模块接到协议栈模块的事件通知后,做出相应的...

【专利技术属性】
技术研发人员:杨春虎朱贺军夏昆崔培升
申请(专利权)人:北京亿赛通科技发展有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1