一种建立链接的方法、终端及系统与流程

文档序号:16672287发布日期:2019-01-18 23:39阅读:178来源:国知局
一种建立链接的方法、终端及系统与流程

本发明涉及通信技术领域,特别涉及一种建立链接方法、终端及系统。



背景技术:

现有技术中,常见通过防火墙控制防火墙内部与外部的信息发送,以确保防火墙内部设备运行正常。而常见的控制方式,则是通过对于传输信息中链接信息与预设规则进行匹配,来判断是否允许该信息通过。

在防火墙控制策略中,防火墙内侧设备通常能够通过防火墙主动发起并建立与外网设备链接,而防火墙外侧设备则受制于防火墙规则无法主动发起并建立与内网设备的链接。当需要防火墙外侧设备主动与防火墙内侧设备建立链接,常见对于防火墙本身进行调整,例如修改防火墙规则等。将降低防火墙安全系数,并且进行人工干预,操作冗杂,不利于智能化应用。



技术实现要素:

有鉴于此,本发明实施例提供了一种建立链接方法、终端及系统,以至少解决相关技术中操作冗杂、影响安全系数的相关问题。

根据本发明的一个实施例,提供一种建立链接方法,包括:终止与防火墙内部终端存在第一链接的第一进程;建立第二进程并将所述第一进程信息关联至第二进程;通过所述第二进程向所述防火墙内部终端发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;建立与所述防火墙内部终端的第二链接。

根据本发明的另一个实施例,提供一种建立链接方法,包括:终止与防火墙外部终端存在第一链接的第三进程;建立第四进程并将所述第三进程信息关联至第四进程;通过所述第四进程接收来自防火墙外部终端建立链接申请报文;建立与所述防火墙外部终端第二链接。

根据本发明的另一个实施例,提供一种建立链接终端,包括:处理器;网络传输接口;

所述处理器终止与防火墙内部终端存在第一链接的第一进程;建立第二进程并将所述第一进程信息关联至第二进程;所述网络传输接口通过所述第二进程向所述防火墙内部终端发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;建立与所述防火墙内部终端的第二链接。

根据本发明的另一个实施例,提供一种建立链接终端,包括:信息处理器;网络收发接口;所述信息处理器终止与防火墙外部终端存在第一链接的第三进程;建立第四进程并将所述第三进程信息关联至第四进程;所述网络收发接口通过第四进程接收来自所述防火墙外部终端建立链接申请报文;建立与所述防火墙外部终端第二链接。

根据本发明的另一个实施例,提供一种建立链接系统,包括:防火墙内部终端;防火墙外部终端;防火墙;防火墙外部终端终止与防火墙内部终端存在第一链接的第一进程;建立第二进程并将第一进程信息关联至第二进程;通过第二进程向所述防火墙发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;所述防火墙根据申请报文中链接信息将所述申请报文转发至所述防火墙内部终端;所述防火墙内部终端终止与防火墙外部终端存在第一链接的第三进程;建立第四进程并将所述第三进程信息关联至第四进程;通过第四进程接收来自防火墙外部终端建立链接申请报文;建立与防火墙外部终端第二链接。

通过本发明,能够在不修改防火墙规则的前提下,实现防火墙外终端与防火墙内终端主动建立所需要的链接,消除了修改防火墙规则带来的冗杂操作与安全隐患。

附图说明

图1根据本发明实施例的建立链接方法的流程图;

图2根据本发明实施例的另一种建立链接方法流程图;

图3根据本发明的实施例的另一种建立链接方法的流程图;

图4根据本发明的实施例应用一种建立链接的装置;

图5根据本发明的实施例应用另一种建立链接的装置;

图6根据本发明的实施例应用一种建立链接的系统。

具体实施方式

下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

在本实施例中提供了一种建立链接方法,图1是根据本发明实施例的建立链接方法的流程图,如图1所示,该流程包括如下步骤:

s102:终止与防火墙内部终端存在第一链接的第一进程;

s104:建立第二进程并将所述第一进程信息关联至第二进程;

s106:通过所述第二进程向所述防火墙内部终端发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;

s108:建立与所述防火墙内部终端的第二链接。

通过终止与防火墙内部终端存在第一链接的第一进程,并将该进程信息关联到新建立的第二进程中,使得第一链接的相关信息能够保持在防火墙的连接跟踪(conntrack)表中。随后防火墙外部终端通过第二进程发起链接申请,在生成的链接申请报文中包括第一链接信息,并删除报文中能够识别第一进程的信息。防火墙外部终端可以通过防火墙向防火墙内部终端发送申请报文,防火墙根据连接跟踪表中的第一链接信息,认为该申请报文仍属于原第一链接传输信息,允许该报文通过。防火墙内部终端接收到申请报文后进行确认,从而实现从防火墙外部终端通过防火墙向防火墙内部终端的建立链接的过程。

通过这种建立链接方式,能够在不修改防火墙规则的前提下,使得防火墙外终端与防火墙内终端建立所需要的链接,消除了修改防火墙规则带来的冗杂操作与安全隐患。

在一个具体实施中,所述方法中所述终止与防火墙内部终端存在第一链接的第一进程前,还包括:确认或建立与防火墙内部终端的第一链接。

通过建立或确认与防火墙内部终端的第一链接,可以根据不同的情况,分别进行后续处理。存在可以使用的链接时,则可以直接通过该链接进行后续建立我们所希望的第二链接,或者在没有相关链接时,建立第一链接来实现建立第二链接。以更为灵活的方式实现建立特定链接,从而更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述方法中所述建立与防火墙内部终端的第一链接,包括:建立第一进程;通过所述第一进程监听预设端口;通过所述第一进程从所述预设端口接收到防火墙内部终端发送申请报文,建立与防火墙内部终端的第一链接。

利用防火墙内部可以与外部建立链接的机制,防火墙外部终端可以先建立一个第一进程,监听预设端口信息,该预设端口可以是仅用于接收建立定向链接的端口。当该端口收到防火墙内部终端发送的建立链接的申请报文时,建立第一链接,再通过这个链接建立从外部向内部发起的第二链接,能在不存在已有链接的情形下,实现从外部向内部建立链接,从而更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述方法中所述所述确认与防火墙内部终端的第一链接,包括:接收所述防火墙发送的防火墙内部终端与防火墙外部终端已有链接信息,确认所述已有链接为与防火墙内部终端的第一链接。

当接收到防火墙反馈已经存在已有链接信息,确定该链接可以作为建立第二链接所需使用的第一链接。防火墙外部终端,可以通过预设的判断规则,判断已有链接是否可以用作第一链接。例如通过预设进程表或者预设链接表,将重要的进程或链接记录在表上,当反馈的链接信息中涉及到预设表中的信息或者链接时,则判断该链接不作为可以第一链接统计最近一段时间链接流量等方式,来判断已有的链接用作第一链接。或者将可以用做第一链接的端口或者进程进行单独标识,如果发现已有链接信息中涉及这些端口或进程,则将已有链接确认为第一链接。又例如,可以统计已有链接的活动状态,当满足预设时间段未使用或者预设时间段的流量数小于预设值,则确认该链接为第一链接。

当确认已有链接为第一链接时,则可以直接用于建立第二链接,不需要建立新链接来完成后续建立链接操作,从而更为便捷的建立第二链接,更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述方法中所述申请报文中包括所述第一链接的链接信息包括:防火墙wan口地址;防火墙内部终端关联第一链接的端口号。

由于第二链接是从防火墙外侧终端发起,并不能够直接使用目的ip为防火墙内侧设备的ip地址,而应当是防火墙的wan口地址作为报文的目的ip地址。利用连接跟踪(conntrack)表中仍然保存第一链接信息,使得第二链接申请可以通过防火墙转发到防火墙内部终端关联第一链接的相关接口,从而实现建立目的链接,更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述申请报文不包含表征链接信息变化的信息;包括:该申请报文中不包括端口复用(portreused)字段。

在保持链接过程中,如果发送报文中包括该字段信息,则会使得防火墙判断该信息不属于原有链接传输信息,从而通过过滤规则进行过滤。将该字段删除后,所述报文被防火墙认为该报文仍然是第一链接的相关信息,不会被过滤规则进行过滤。从而实现经过防火墙向防火墙内部终端发送建立链接申请,以更好的实现消除冗杂操作和安全隐患。

基于相同的发明构思,本发明还提供另一个实施例。

在本实施例中提供一种建立链接的方法,图2是根据本发明实施例的另一种建立链接方法的流程图,包括:

s202:终止与防火墙外部终端存在第一链接的第三进程;

s204:建立第四进程并将所述第三进程信息关联至第四进程;

s206:通过所述第四进程接收来自防火墙外部终端建立链接申请报文;

s208:建立与所述防火墙外部终端第二链接。

通过终止与防火墙外部终端存在第一链接的第三进程,防火墙内部终端可以将需要与外网建立链接的第四进程关联原第三进程的相关信息,并通过接收来自防火墙外部终端建立链接请求,建立防火墙外部终端希望建立的指定链接,从而实现防火墙外部终端向防火墙内部终端建立指定链接的目的,以更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述方法所述终止与防火墙外部防火墙外部终端存在第一链接的第三进程之前,还包括:通过第三进程向所述防火墙外部终端预设端口发送建立链接请求;确认或建立与所述防火墙外部终端的所述第一链接。通过建立或确认与防火墙内部终端的第一链接,可以根据不同的情况,对于存在第一链接时直接使用该链接,或者建立第一链接来实现建立第二链接,以更为灵活的方式实现建立特定链接,从而更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述方法中所述确认与所述防火墙外部终端的所述第一链接,包括:防火墙接收所述防火墙内部终端所述建立链接请求,检索链接追踪信息;当所述防火墙检索到存在所述防火墙内部终端到所述防火墙外部终端链接时,通知所述防火墙内部终端存在链接信息;所述防火墙内部终端收到所述存在链接信息,确认与所述防火墙外部终端存在第一链接。

通过接收已经存在已有链接信息,可以确定防火墙内部终端与防火墙外部终端存在链接可以作为第一链接。可选地,可以进一步判断该链接是否可以用作第一链接。例如通过建立预设信息表,反馈的已有链接信息与表中进程或者进程进行比对,来判断该链接是否可用作第一链接。或者统计该链接使用情况,当不满足预设要求时,如预设统计时间内流量低于预设值或预设统计时间内未使用等,则可以认为能够用作第一链接而不需要建立新链接来完成后续操作,从而更为便捷的建立目的链接,更好的实现消除冗杂操作和安全隐患。

根据本发明的另一种实施例,提供一种建立链接的方法,图3根据本发明的实施例提供的另一种建立链接的方法,包括:

s301:lan侧设备中的过渡发起进程首先发起过渡链接的建立尝试,向中间设备如防火墙发送建立tcp链接的报文。此时假设lan侧设备上的过渡发起进程关联lan_port(lan侧设备的端口),ip地址为lan_ip(即lan侧设备的ip地址),发送的链路目的端口为下文中(过渡接收进程)的关联端口wan_port。

s302:中间设备(例如防火墙)监听所有的链路,根据五元组信息(源ip地址、目的ip地址、源端口、目的端口、协议类型)判断第一链接是否存在于conntrack表,是否是已知链路。如果是则进行步骤s303,如果不是则进行步骤s305。

s303:如果过渡链接是已知链路,中间设备的conntrack表中具有相应的数据信息(即五元组信息所组成的链路信息),如图4链路信息表中所示,其中tcp则表明了协议类型,src为源ip地址,dst为目的ip地址,sport为源端口号,dport为目的端口号。

则此时不需要重新建立过渡链接,可以将建立过渡链路报文丢弃,此时中间设备的监控进程,直接通知wan侧设备原有已知链路进程关闭并启动wan侧设备目标发起进程,与此同时中间设备监控进程同时通知lan侧设备关闭过渡发起进程及强制关闭原有已知链路进程。

s304:wan侧设备会一直运行过渡接收进程,此进程负责监听,中间设备的监控进程所发送过来的消息报文。接下来转到步骤307。

s305:如果没有已知链路作为过渡,则中间设备则会转发此建立链路报文,此时wan侧设备过渡接收进程会接收到lan侧设备所发送的链路报文,并与lan侧设备建立过渡链接。中间设备conntrack表中,可以看到链路建立。根据linux类防火墙设备的特性,经中间设备转发后对于ipv4报文会具有nat(即地址转换)规则,此时我们假设由中间设备wan侧转发出来的过渡链路报文源端口为cpe_port,源ip为cpe_wan_ip。

s306:过渡链路建立完成后,wan侧设备接收进程则通知lan侧设备过渡发起进程,转换此链路,此时的转换链路不能够通过正常的链路断开的形式,例如如果采取正常的tcp链路断开形式,则中间设备则会监听到结束报文,则conntrack表中的信息则会被丢弃。所以此时,过渡发起进程需直接被终止。

s307:wan侧设备过渡接收进程会通知wan设备中的正式进程来建立真正需要的交互进程,通知之后接收进程会自我关闭。wan侧设备的正式发起进程则会发起tcp链接。注意此时的tcp链接由于是从wan侧设备发起,并不能够直接使用目的ip为lan侧设备的ip地址,而应当是中间设备的wan口地址作为报文的目的ip地址,故目的ip为中间设备wan侧ip即(cpe_wan_ip),目的端口为过渡接收进程所接收到的通过中间设备转发过来的过渡链路的源端口即(cpe_port),源端口则为过渡接收进程所关联的端口(即wan_port)。也就是说利用了正式进程完全复制了过渡接收进程所使用的源端口号,源ip,并将其链接的目的端口,目的ip,作为自己所需要使用的源端口号,源ip,从而达到顶替其链路的目的。

s308:根据tcp报文的机制,可以通过wan侧设备中建立hook函数抓包,删除tcpportreused报文,也可以在中间设备的wan侧建立hook函数抓包来删除tcpportreused报文。但鉴于我们尽可能少的对中间设备进行操作,故采取第一种的形式。来使得防火墙认为原有链接仍然处于正常状态。

s309:此时,wan侧设备正式进程的报文就可以利用中间设备conntrack表的已知链路直接建立三次握手,而不需要通过防火墙等nat规则再进行识别。中间设备接收到此报文后,会按照第一链接报文的conntrack表信息来处理,使得该报文能够从wan侧通过防火墙转发至lan侧设备。

通过这种建立链接的方法,可以使得wan侧设备在不修改防火墙规则以及建立其他代理服务器的条件下,实现wan侧设备向lan侧建立链接,更好的实现消除冗杂操作和安全隐患。

根据本发明的另一种实施例,提供一种建立链接的终端,图4是根据本发明的实施例提供的一种建立链接的终端,包括:处理器11;网络传输接口12;所述处理器11终止与防火墙内部终端存在第一链接的第一进程;建立第二进程并将所述第一进程信息关联至第二进程;所述网络传输接口12通过所述第二进程向所述防火墙内部终端发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;建立与所述防火墙内部终端的第二链接。

通过终止与防火墙内部终端存在第一链接的第一进程,所述终端可以将第一链接的信息关联到新建立的第二进程中,并通过该进程生成包含第一链接信息的申请报文。所述发送模块将报文中能够链接变化的信息删除后,通过防火墙向防火墙内部终端发送所述申请报文。由于所述申请报文携带第一链接的信息,并且没有可以识别出链接变化的相关信息,所述防火墙认为该申请报文同样属于原有第一链接中的消息,根据第一链接在防火墙中存在的链接记录予以放行,从而实现了防火墙外部外部终端向内部终端发起并建立特定链接,更好的实现消除冗杂操作和安全隐患。

在一个具体实施中,所述装置中,所述处理器终止与防火墙内部终端存在第一链接的第一进程之前还包括:所述处理器确认或建立与防火墙内部终端的第一链接。

通过建立或确认与防火墙内部终端的第一链接,可以根据不同的情况,对于存在第一链接时直接使用该链接,或者建立第一链接来实现建立第二链接,以更为灵活的方式实现建立特定链接,从而更好的实现消除冗杂操作和安全隐患。

根据本发明的另一种实施例,提供一种建立链接的终端,图5是根据本发明实施例提供的另一种建立链接的终端,包括:信息处理器21;网络收发接口22;所述信息处理器21终止与防火墙外部终端存在第一链接的第三进程;建立第四进程并将所述第三进程信息关联至第四进程;所述网络收发接口22通过第四进程接收来自所述防火墙外部终端建立链接申请报文;建立与所述防火墙外部终端第二链接。

通过终止与防火墙外部终端存在第一链接的第三进程,然后将需要与外网建立链接的第四进程关联原第三进程的相关信息,防火墙内部终端即能够通过第四进程,接收来自防火墙外部终端建立第二链接请求,建立防火墙外部终端希望建立的指定链接,从而实现防火墙外部终端向防火墙内部终端建立指定链接的目的,以更好的实现消除冗杂操作和安全隐患。

根据本发明的另一个实施例,提供一种建立链接的系统,如图6所示,包括:防火墙内部终端31;防火墙外部终端33;防火墙32;防火墙外部终端33终止与防火墙内部终端31存在第一链接的第一进程;建立第二进程并将第一进程信息关联至第二进程;通过第二进程向所述防火墙32发送申请报文,其中所述申请报文中包括所述第一链接的链接信息,不包含表征链接信息变化的信息;所述防火墙32根据所述申请报文中链接信息将所述申请报文转发至所述防火墙内部终端;所述防火墙内部终端31终止与防火墙外部终端33存在第一链接的第三进程;建立第四进程并将所述第三进程信息关联至第四进程;通过第四进程接收来自防火墙外部终端33建立链接申请报文;建立与防火墙外部终端33第二链接。

防火墙外部终端通过接收防火墙内部终端或者确认已有链接的方式,确认与防火墙内部终端的第一链接。但是该链接并不是防火墙外部终端所希望与内部终端建立的指定链接。因此,防火墙外部终端将与防火墙内部终端存在第一链接的第一进程终止,并建立希望与防火墙内部主动建立链接的第二进程,第二进程绑定原第一链接的相关信息,并通过该第二进程生成申请报文。故该申请报文中包含原第一链接的相关信息。另外,需要删除申请报文中表征链接变化的相关信息,例如删除tcpportreused字段报文。然后通过防火墙向防火墙内部终端发送。防火墙还保留第一链接的相关信息,认为该申请报文符合通行规则,向防火墙内部终端转发所述申请报文。而防火墙内部终端,则可以将原用于第一链接的进程关闭,建立需要接收外部请求的第三进程,该进程接收防火墙外部终端的申请报文,并与之建立链接。从而实现了防火墙外部终端向防火墙内部终端发起并建立特定链接,更好的实现消除冗杂操作和安全隐患。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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