Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质技术方案

技术编号:18369622 阅读:33 留言:0更新日期:2018-07-05 13:40
本发明专利技术提供一种Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质,其中,方法包括:利用第一连接追踪记录中间设备与发送端之间的连接状态;利用与所述第一连接追踪相关联的第一TCP协议控制块描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性;利用与所述第一连接追踪相关联的第二连接追踪记录所述中间设备与接收端之间的连接状态;利用与所述第二连接追踪相关联的第二TCP协议控制块描述并记录所述中间设备与所述接收端之间数据交互的TCP协议连接属性。本发明专利技术可以利用TCP协议栈的各种特定机制,保证数据报文通过中间设备在发送端与接收端之间可靠传输。

Method and system, intermediate equipment and medium for introducing TCP protocol stack under Netfilter architecture

The present invention provides a method and a system, an intermediate device, and a medium for introducing a TCP protocol stack under the Netfilter architecture. The method includes: tracing the connection state between the intermediate device and the sending end using the first connection; describing and recording the described of the first TCP protocol control block associated with the first connection tracking. The TCP protocol connection property of the data interactively between the device and the sending end; the connection state between the intermediate device and the receiving end described by the second connection tracking record associated with the first connection tracing; describes and records the intermediate device using the second TCP protocol control block associated with the second connection tracking. The TCP protocol connection property of data interaction with the receiving end. The invention can make use of various specific mechanisms of the TCP protocol stack to ensure reliable transmission of data packets between the sending terminal and the receiving terminal through the intermediate device.

【技术实现步骤摘要】
Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质
本专利技术涉及计算机安全通信
,尤其涉及在Netfilter(网络过滤器)架构下利用TCP协议通信的方法,具体来说就是一种Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质。
技术介绍
Netfilter是Linux2.4.x之后新一代的Linux防火墙机制,是linux内核的一个子系统,包含连接追踪(CT)、数据包过滤、网络地址转换、透明代理、包速限制、数据包修改等功能模块。此外,Netfilter采用模块化设计,具有良好的可扩充性,Netfilter架构中设置5个检测点(HOOK),即5个钩子函数,用户可以在不同的检测点注册检测处理函数,实现网络安全功能。由于Netfilter架构的上述特性,因此中间检测设备(例如,WEB应用防火墙、安全网关等)优先选择使用Netfilter架构。其中,Netfilter架构的报文处理流程为:数据报进入系统时,首先经过第一个HOOK函数NF_IP_PRE_ROUTING进行处理;然后就进入路由选择,判断该数据报(数据报文)是需要转发还是发给本机内核;若该数据报是发往本机,则该数据经过HOOK函数NF_IP_LOCAL_IN处理以后传递给本机上层协议栈;若该数据报需要被转发,则它被HOOK函数NF_IP_FORWARD处理,然后经过最后一个HOOK函数NF_IP_POST_ROUTING处理以后,发送到网络上。本机数据报经过HOOK函数NF_IP_LOCAL_OUT处理后,进行路由选择处理,然后经过HOOK函数NF_IP_POST_ROUTING处理后发送出去。中间检测设备需要将客户端与服务器之间的交互报文(数据报文)转发给对端,使用上述转发流程,但是上述转发流程缺少TCP协议栈功能,因此中间检测设备的有些功能实现受限。比如:一些报文触发返回缓存页面动作,当页面比较大时,会分成若干报文进行传输,在网络传输时,某一报文丢失了,由于Netfilter架构不具有TCP协议栈的重传机制,不能保证对方可靠接收。再比如对于https数据流,解密是以一条https记录为单元,一条https记录可能由若干个连续的报文组成,由于报文到达中间检测设备顺序不一致或者存在报文段重复,由于Netfilter架构不具有TCP协议栈的报文重新排序和重组机制,交给https模块时解密失败,导致中间检测设备不能正常检测https数据流。为此,本领域技术人员亟需研发一种在Netfilter架构下引入TCP层协议栈的方法,从而让中间检测设备拥有TCP协议栈的安全通信功能。
技术实现思路
有鉴于此,本专利技术要解决的技术问题在于提供一种Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质,解决了Netfilter架构下不具有TCP协议栈,从而导致现有中间检测设备部分功能受限的问题。为了解决上述技术问题,本专利技术的具体实施方式提供一种Netfilter架构下引入TCP协议栈的方法,包括:利用第一连接追踪记录中间设备与发送端之间的连接状态;利用与所述第一连接追踪相关联的第一TCP协议控制块描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性;利用与所述第一连接追踪相关联的第二连接追踪记录所述中间设备与接收端之间的连接状态;利用与所述第二连接追踪相关联的第二TCP协议控制块描述并记录所述中间设备与所述接收端之间数据交互的TCP协议连接属性。本专利技术的具体实施方式还提供一种包含计算机执行指令的计算机存储介质,所述计算机执行指令经由数据处理设备处理时,该数据处理设备执行Netfilter架构下引入TCP协议栈的方法。本专利技术的具体实施方式还提供一种Netfilter架构下引入TCP协议栈的中间设备,包括:第一连接追踪,用于记录中间设备与发送端之间的连接状态;第一TCP协议控制块,与所述第一连接追踪相关联,用于描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性;第二连接追踪,与所述第一连接追踪相关联,用于记录所述中间设备与接收端之间的连接状态;第二TCP协议控制块,与所述第二连接追踪相关联,用于描述并记录所述中间设备与所述接收端之间数据交互的TCP协议连接属性。本专利技术的具体实施方式还提供一种Netfilter架构下引入TCP协议栈的系统,包括:中间设备、分别与所述中间设备连接的发送端和接收端。其中,所述发送端用于向所述中间设备发送请求报文;所述中间设备用于对所述请求报文进行TCP特性处理,并将处理报文发送至所述接收端;所述接收端用于从所述中间设备接收所述处理报文。根据本专利技术的上述具体实施方式可知,Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质至少具有以下有益效果:Netfilter架构引入TCP协议栈后,TCP协议栈的数据重传与确认机制能够保证中间检测设备向服务器或者客户端可靠地传送数据包;Netfilter架构引入TCP协议栈后,TCP协议栈的传输报文序号调整与确认机制,能够保证一条https记录有序接收,TCP协议栈中含有接收缓存区,能够缓存上层未取走的数据报文,解决了https模块解密不成功的问题;采用双连接追踪与双TCP协议控制块(PCB)的方式引入TCP协议栈,可以相对独立地处理客户端和对服务器的数据报文,避免中间检测设备维护各种状态引起的混乱。应了解的是,上述一般描述及以下具体实施方式仅为示例性及阐释性的,其并不能限制本专利技术所欲主张的范围。附图说明下面的所附附图是本专利技术的说明书的一部分,其绘示了本专利技术的示例实施例,所附附图与说明书的描述一起用来说明本专利技术的原理。图1为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的方法的实施例一的流程图。图2为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的方法的实施例二的流程图。图3为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的方法的实施例三的流程图。图4为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的方法的实施例四的流程图。图5为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的方法的实施例五的流程图。图6为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的应用示例一的时序图。图7为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的应用示例二的时序图。图8为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的应用示例三的时序图。图9为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的中间设备的实施例一的结构示意图。图10为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的中间设备的实施例二的结构示意图。图11为本专利技术具体实施方式提供的一种Netfilter架构下引入TCP协议栈的系统的组成示意图。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚明白,下面将以附图及详细叙述清楚说明本专利技术所揭示内容的精神,任何所属
技术人员在了解本
技术实现思路
的实施例后,当可由本
技术实现思路
所教示的技术,加以改变及修本文档来自技高网
...
Netfilter架构下引入TCP协议栈的方法及系统、中间设备、介质

【技术保护点】
1.一种Netfilter架构下引入TCP协议栈的方法,其特征在于,该方法包括:利用第一连接追踪记录中间设备与发送端之间的连接状态;利用与所述第一连接追踪相关联的第一TCP协议控制块描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性;利用与所述第一连接追踪相关联的第二连接追踪记录所述中间设备与接收端之间的连接状态;以及利用与所述第二连接追踪相关联的第二TCP协议控制块描述并记录所述中间设备与所述接收端之间数据交互的TCP协议连接属性。

【技术特征摘要】
1.一种Netfilter架构下引入TCP协议栈的方法,其特征在于,该方法包括:利用第一连接追踪记录中间设备与发送端之间的连接状态;利用与所述第一连接追踪相关联的第一TCP协议控制块描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性;利用与所述第一连接追踪相关联的第二连接追踪记录所述中间设备与接收端之间的连接状态;以及利用与所述第二连接追踪相关联的第二TCP协议控制块描述并记录所述中间设备与所述接收端之间数据交互的TCP协议连接属性。2.如权利要求1所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,利用第一连接追踪记录中间设备与发送端之间的连接状态的步骤之前,该方法还包括:利用来自所述发送端的握手数据报文创建所述第一连接追踪。3.如权利要求2所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,利用与所述第一连接追踪相关联的第一TCP协议控制块描述并记录所述中间设备与所述发送端之间数据交互的TCP协议连接属性的步骤之前,该方法还包括:根据到达协议栈钩子函数的所述握手数据报文创建所述第一TCP协议控制块。4.如权利要求3所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,利用与所述第一连接追踪相关联的第二连接追踪记录所述中间设备与接收端之间的连接状态的步骤之前,该方法还包括:利用所述中间设备的规则和所述握手数据报文创建所述第二连接追踪。5.如权利要求4所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,所述发送端的数据报文的五元组信息与所述第一连接追踪相匹配;所述接收端的数据报文的五元组信息与所述第二连接追踪相匹配。6.如权利要求2所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,利用来自所述发送端的握手数据报文创建所述第一连接追踪的步骤之前,该方法还包括:在Netfilter架构中注册协议栈处理函数。7.如权利要求1所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,所述中间设备为WEB应用防火墙、入侵检测系统、入侵防御系统、安全网关中的至少一种。8.如权利要求1所述的Netfilter架构下引入TCP协议栈的方法,其特征在于,所述发送端...

【专利技术属性】
技术研发人员:张少华赵东宾郭一波李志捷何艳华张元立
申请(专利权)人:北京启明星辰信息安全技术有限公司启明星辰信息技术集团股份有限公司
类型:发明
国别省市:北京,11

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

1