CN110691063A - 流镜像模式下单inbound下TCP阻断方法 - Google Patents
流镜像模式下单inbound下TCP阻断方法 Download PDFInfo
- Publication number
- CN110691063A CN110691063A CN201810742901.6A CN201810742901A CN110691063A CN 110691063 A CN110691063 A CN 110691063A CN 201810742901 A CN201810742901 A CN 201810742901A CN 110691063 A CN110691063 A CN 110691063A
- Authority
- CN
- China
- Prior art keywords
- packet
- tcp
- handshake
- server
- connection
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/14—Session management
- H04L67/143—Termination or inactivation of sessions, e.g. event-controlled end of session
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
流镜像模式下单inbound下TCP阻断方法,在建立TCP的握手过程中利用TCP握手步骤阻断,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接根据TCP三次握手建立连接的规则,根据TCP三次握手建立连接的规则,首先在镜像到第一次握手包时,伪造第二次握手包和客户端建立连接,使服务器发送的真正的第二次握手包失效,然后导致服务器发送序列号错误,最后服务器和客户端因序列号确认号错误,相互发送阻断包,使伪造的第二次握手包建立的连接断开,阻止了客户端和服务器之间TCP连接的建立,从而阻断了TCP通信。
Description
技术领域
本发明涉属于数据传输领域,具体的说是一种流镜像模式下单 inbound下TCP阻断方法。
背景技术
在网络安全防护中,对存在安全隐患的计算机进行阻断,从网络上进行隔离。目前在安全领域常用的旁路阻断技术可分为三类:1、基于ARP欺骗的阻断2、通过网关型产品联动3、通过Tcp的rest包基于ARP欺骗的阻断,共有三种方式ARP欺骗、ARP投毒和ARP攻击。由于ARP欺骗的阻断方式技术实现较简单,被国内大部分厂商所采用。但arp阻断存在以下缺点,首先,采用ARP欺骗阻断方式对网络的负荷影响很大,其次,ARP欺骗阻断方式准入效果不可靠,最后, ARP欺骗阻断和真正的ARP欺骗难以区分,还有就是arp阻断的arp 包工作在二层,无法跨路由器。
通过与网关产品的联动方式主要是向防火墙发送临时规则,以及路由器或交换机发送临时ACL列表,阻断当前这个会话。该方式需要存在网关型的联动产品,在很多场合使用受限。
TCP Reset,旁路监听并通过TCP Reset进行阻断,发现一条非法得连接,向通信的两端各发送一个TCP RESET包,从而实现主动切断连接的目的,对于RESET包来说,发出的RESET包的前提是知道整个会话当前的序列号和确认号,否则这个RESET包将会被忽略。旁路监听获取的数据包通过交换机镜像数据获得,通过交换机获取镜像数据一般分为端口镜像(获取所有的通信数据),流镜像(通过ACL 匹配)。
通过配置交换机对所有的端口数据进行镜像可以获取该交换机的所有的通信数据包,在现实应用中,如果该交换机是核心交换机且该交换机下挂载的网络比较大时,此时再采用端口镜像获取镜像数据时,由于通过该交换机的所有数据都需要镜像,会导致镜像到的数据异常庞大,会导致客户端出现大量的ESTABLISHED状态,此时再采用端口镜像已不满足使用。
发明内容
为了解决上述技术问题的不足,本发明提供了一种流镜像模式下单inbound下TCP阻断方法。本发明的阻断方法由于失效的序列号和确认号会让客户端服务器端相互发送RST阻断包,释放掉客户端的连接状态,该方式并不会导致客户端出现大量的ESTABLISHED状态。
为了实现上述目的,本发明采用的技术方案为:包括TCP握手和 TCP阻断两个步骤,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接;TCP握手协议包括以下步骤:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户端的SYN (ack=j+1),同时自己发送一个SYN(syn=k)包,即SYN+ACK包,此时服务器进入SYN_RECV状态,客户端收到此包进入ESTABLISHED 状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包(ack=k+1),服务器收到此包后,服务器进入ESTABLISHED状态,完成三次握手;
TCP阻断包括以下步骤:根据TCP三次握手建立连接的规则,首先在镜像到第一次握手包时,伪造第二次握手包和客户端建立连接,使服务器发送的真正的第二次握手包失效,服务器发送的第二次握手包无效,客户端发送一个阻断包给服务器,客户端收到伪造第二次握手包后,然后根据该包发送确认包,服务器收到的确认包序列号无效,发送阻断包给客户端,最后双方相互发送阻断包,使伪造的第二次握手包建立的连接断开,阻止了客户端和服务器之间TCP连接的建立,从而阻断了TCP通信。
本发明的有益效果为:本发明根据TCP三次握手建立连接的规则,镜像到第一次握手包时,伪造第二次握手包和客户端建立连接,使服务器发送的真正的第二次握手包失效,导致服务器发送包没有上下文导致包错误,客户端因伪造包导致确认号错误,双方相互发送阻断包,使伪造的第二次握手包建立的连接断开,阻止了客户端和服务器之间 TCP连接的建立,从而阻断了TCP通信。由于失效的序列号和确认号会让客户端服务器端相互发送RST阻断包,释放掉客户端的连接状态,该方式并不会导致客户端出现大量的ESTABLISHED状态。
附图说明
图1为RST攻击示意图;
图2为客户端和服务器在三次握手时的状态示意图;
图3为单inbound流镜像示意图。
具体实施方式:
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
TCP是一种面向连接的,可靠的传输层协议。正常的TCP传输需要TCP客户端和TCP服务端建立特定的虚拟电路连接,该过程通常被称为3次握手。TCP通过数据分段中序列号和确认号保证所有传输数据可以在远端进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。
TCP的标志
SYN同步标志:同步序列编号(Synchronize Sequence Numbers) 栏有效。该标志仅在三次握手建立TCP连接时有效。它提示TCP连接的服务端检查序列编号,该序列编号为TCP连接初始端(一般是客户端)的初始序列编号。在这里,可以把TCP序列编号看作是一个范围从0到4294967295的32位计数器。通过TCP连接交换的数据中每一个字节都经过序列编号。在TCP报头中的序列编号栏包括了TCP分段中第一个字节的序列编号
ACK确认标志:确认编号(Acknowledgement Number)栏有效。大多数情况下该标志位是置位的。TCP报头内的确认编号栏内包含的确认编号(w+1,Figure-1)为下一个预期的序列编号,同时提示远端***已经成功接收所有数据
RST复位标志:复位标志有效。用于复位相应的TCP连接。
FIN结束标志:带有该标志置位的数据包用来结束一个TCP回话,但对应端口仍处于开放状态,准备接收后续数据
TCP是虚拟电路连接,通过一个四元组:源IP、目标IP、源端口、目标端口来确认一个TCP连接,通过序列号和确认号来确定该连接的通信包的有效性。对一个正在通信的TCP连接阻断,首先需要确认该连接的四元组(源IP、目标IP、源端口、目标端口),序列号和确认号。
FIN是正常关闭,它会根据缓冲区的顺序来发的,就是说缓冲区 FIN之前的包都发出去后再发FIN包,这与RST不同。
RST表示复位,用来异常的关闭连接,在TCP的设计中它是不可或缺的。就像上面说的一样,发送RST包关闭连接时,不必等缓冲区的包都发出去(不像上面的FIN包),直接就丢弃缓存区的包发送RST 包。而接收端收到RST包后,也不必发送ACK包来确认。
TCP处理程序会在自己认为的异常时刻发送RST包。
RST攻击:A和服务器B之间建立了TCP连接,此时C伪造了一个 TCP包发给B,使B异常的断开了与A之间的TCP连接,就是RST攻击了。实际上从上面RST标志位的功能已经可以看出这种攻击如何达到效果了。
假定C伪装成A发过去的包,这个包如果是RST包的话,毫无疑问,B将会丢弃与A的缓冲区上所有数据,强制关掉连接。如图1所示。
机器C伪造RST包的关键是获取机器A和机器B之间TCP连接的四元组和序列号。
在现实应用这种技术进行TCP阻断时,可以通过接入交换机的镜像数据来获取所有TCP通信的四元组和序列号、确认号信息。
在配置流镜像模式时,大部分交换机只能在端口配置inbound模式,当所有端口都配置了基于TCP标志问SYN的inbound模式时,会镜像到所有的带有SYN标志的数据包。
带有SYN标志的数据包只有在TCP连接建立时三次握手的时候独有。
TCP握手协议:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
TCP握手协议包括以下步骤,如图2。
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户端的SYN (ack=j+1),同时自己发送一个SYN(syn=k)包,即SYN+ACK包,此时服务器进入SYN_RECV状态,客户端收到此包进入ESTABLISHED 状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包(ack=k+1),服务器收到此包后,服务器进入ESTABLISHED状态,完成三次握手;
采用流镜像,通过ACL匹配SYN标志位。
在配置流镜像模式时,大部分交换机只能在端口配置inbound模式,当所有端口都配置了基于TCP标志问SYN的inbound模式时,会镜像到所有的带有SYN标志的数据包。
带有SYN标志的数据包只有在TCP连接建立时三次握手的时候独有。
在流镜像模式下,由于只能镜像到带有SYN标志位的数据包,因此,我们只能镜像到第一次和第二次握手包。从第一次的握手包中,可以获取到该次TCP连接的四元组以及客户端方向的系列号,在第二次握手连接的时候,可以获取该次TCP连接的四元组及服务器方向的序列号。
在通过RST标志位的阻断包清空缓冲区对TCP连接进行复位时,只有在第一次握手时,伪造RST包发送给客户端和第二次握手包时发送RST阻断包同时给客户端和服务器两次机会。
根据上图2的客户端和服务器在三次握手时的状态:
第一次握手包发出时阻断:客户端和服务器端此时一个处于 SYN_SENT状态,一个处于SYN_RCVD状态。此时TCP连接尚未建立,此时发送阻断包给客户端,由于不存在缓冲区,且未建立连接,该阻断包没任何意义,直接被协议栈丢掉。
第二次握手包发出时阻断:TCP是双工通信,客户端和服务器端分别会有不同的状态,此时服务器仍处于SYN_RCVN状态,客户端此时处于ESTABLISHED状态,此时向服务器发送RST阻断包和第一次握手时发送阻断包给客户端一样没有任何意义。但客户端此时处于ESTABLISHED状态,此时发送阻断包给客户端,客户端会清掉缓存区数据,并强制关闭连接,从而能够达到阻断的目的。
当所有的端口都配置了inbound流镜像时,所有的TCP连接在建立的时候的第二次握手包都会被镜像到,采用RST阻断包是可以阻断成功的。但在只做单inbound镜像时,如图3
只做了机器A连接的inbound流镜像。
机器A发送个机器B的带有SYN标志的数据包会被镜像到,而机器B发送给机器A带有SYN标志的数据包镜像不到。
此时采用RST包阻断时:
当机器B发起TCP连接时,此时只能镜像到机器A发送给机器B 的第二次握手包,根据上面的分析,此时正常能够阻断该通信。
当机器A发起TCP连接时,此时只能镜像到机器A发送给机器B 的第一次握手包,根据上面的分析,此时尚无任何连接建立,因此无法通过RST阻断包阻断该连接。
在本发明中,我们在流镜像模式下阻断TCP连接时,不再一味的采用RST阻断包阻断已建立连接状态的TCP连接。在流镜像单inbound 模式下,只能抓到第一次握手或第二次握手包,当抓到的时第二次握手包时,由于在TCP的双工通信模式下,客户端已建立连接,可以直接发送RST阻断包给客户端,阻断掉该连接。
当只镜像到第一次握手包时,此时没有任何连接建立,通过镜像包数据只能得到客户端的序列号,因此只能伪造发送给客户端的数据包,此时发送RST阻断包给客户端,客户端协议栈会直接丢掉该阻断包,并继续等待syn+ack服务器的第二次握手包的到来,当服务器的 SYN+ACK第二次握手包到达时,客户端发送第三次握手的确认包,然后TCP连接建立成功,并不能阻断该连接。
根据TCP三次握手建立连接的规则,在本发明中,在镜像到第一次握手包之后,不再发送RST阻断包给客户端,而是直接伪造第二次握手包SYN+ACK发送给客户端,当服务器端的SYN+ACK第二次握手包到达时,客户端此时已经建立连接,服务器发送的第二次握手包已经无效,客户端会直接发送一个RST阻断包给服务器。在客户端收到伪造的第二次握手包后,客户端会发送一个ack确认包给服务器,由于确认包的确认号是伪造第二次握手包的序列号,和服务器发送的第二次握手包的序列号不一致,此时服务器会认为该数据包无效,会直接丢掉该数据包并发送一个RST阻断包清空客户端的缓冲区,断开该连接。
本发明的中心思路是,镜像到第一次握手包时,伪造第二次握手包和客户端建立连接,使服务器发送的真正的第二次握手包失效,导致服务器发送包没有上下文导致包错误,客户端因伪造包导致确认号错误,双方相互发送阻断包,使伪造的第二次握手包建立的连接断开,阻止了客户端和服务器之间TCP连接的建立,从而阻断了TCP通信。由于失效的序列号和确认号会让客户端服务器端相互发送RST阻断包,释放掉客户端的连接状态,该方式并不会导致客户端出现大量的ESTABLISHED状态。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.流镜像模式下单inbound下TCP阻断方法,其特征在于:在建立TCP的握手过程中利用TCP握手步骤阻断,在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接;所述TCP握手协议包括以下步骤:
第一次握手:建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认。
第二次握手:服务器收到syn包,必须确认客户端的SYN(ack=j+1),同时自己发送一个SYN(syn=k)包,即SYN+ACK包,此时服务器进入SYN_RECV状态,客户端收到此包进入ESTABLISHED状态。
第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包(ack=k+1),服务器收到此包后,服务器进入ESTABLISHED状态,完成三次握手;
所述TCP阻断包括以下步骤:根据TCP三次握手建立连接的规则,首先在镜像到第一次握手包时,伪造第二次握手包和客户端建立连接,使服务器发送的真正的第二次握手包失效,服务器发送的第二次握手包无效,客户端发送一个阻断包给服务器,客户端收到伪造第二次握手包后,然后根据该包发送确认包,服务器收到的确认包序列号无效,发送阻断包给客户端,最后双方相互发送阻断包,使伪造的第二次握手包建立的连接断开,阻止了客户端和服务器之间TCP连接的建立,从而阻断了TCP通信。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810742901.6A CN110691063A (zh) | 2018-07-06 | 2018-07-06 | 流镜像模式下单inbound下TCP阻断方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810742901.6A CN110691063A (zh) | 2018-07-06 | 2018-07-06 | 流镜像模式下单inbound下TCP阻断方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110691063A true CN110691063A (zh) | 2020-01-14 |
Family
ID=69106993
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810742901.6A Pending CN110691063A (zh) | 2018-07-06 | 2018-07-06 | 流镜像模式下单inbound下TCP阻断方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110691063A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577729A (zh) * | 2009-06-10 | 2009-11-11 | 上海宝信软件股份有限公司 | DNS重定向与Http重定向相结合的旁路阻断方法 |
CN104023036A (zh) * | 2014-06-25 | 2014-09-03 | 北京蓝汛通信技术有限责任公司 | Tcp旁路阻断方法和装置 |
CN105939325A (zh) * | 2016-01-12 | 2016-09-14 | 杭州迪普科技有限公司 | Tcp旁路阻断的方法及装置 |
US9602330B1 (en) * | 2013-05-23 | 2017-03-21 | Amazon Technologies, Inc. | Two-stage TCP handshake |
CN106657082A (zh) * | 2016-12-27 | 2017-05-10 | 杭州盈高科技有限公司 | 一种快速的http重定向方法 |
CN106789980A (zh) * | 2016-12-07 | 2017-05-31 | 北京亚鸿世纪科技发展有限公司 | 一种网站合法性的***方法和装置 |
-
2018
- 2018-07-06 CN CN201810742901.6A patent/CN110691063A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101577729A (zh) * | 2009-06-10 | 2009-11-11 | 上海宝信软件股份有限公司 | DNS重定向与Http重定向相结合的旁路阻断方法 |
US9602330B1 (en) * | 2013-05-23 | 2017-03-21 | Amazon Technologies, Inc. | Two-stage TCP handshake |
CN104023036A (zh) * | 2014-06-25 | 2014-09-03 | 北京蓝汛通信技术有限责任公司 | Tcp旁路阻断方法和装置 |
CN105939325A (zh) * | 2016-01-12 | 2016-09-14 | 杭州迪普科技有限公司 | Tcp旁路阻断的方法及装置 |
CN106789980A (zh) * | 2016-12-07 | 2017-05-31 | 北京亚鸿世纪科技发展有限公司 | 一种网站合法性的***方法和装置 |
CN106657082A (zh) * | 2016-12-27 | 2017-05-10 | 杭州盈高科技有限公司 | 一种快速的http重定向方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20060221946A1 (en) | Connection establishment on a tcp offload engine | |
US7831720B1 (en) | Full offload of stateful connections, with partial connection offload | |
US8745723B2 (en) | System and method for providing unified transport and security protocols | |
AU2004217318B2 (en) | Using TCP to authenticate IP source addresses | |
US6118765A (en) | System method and computer program product for eliminating unnecessary retransmissions | |
US6779033B1 (en) | System and method for transacting a validated application session in a networked computing environment | |
US20120227088A1 (en) | Method for authenticating communication traffic, communication system and protective apparatus | |
CN110198293B (zh) | 服务器的攻击防护方法、装置、存储介质和电子装置 | |
US20030123481A1 (en) | Enhancements for TCP performance enhancing proxies | |
US20070025374A1 (en) | TCP normalization engine | |
JP5801175B2 (ja) | パケット通信装置および方法 | |
US6983325B1 (en) | System and method for negotiating multi-path connections through boundary controllers in a networked computing environment | |
EP3276891B1 (en) | Techniques for establishing a communication connection between two network entities via different network flows | |
CN110266678B (zh) | 安全攻击检测方法、装置、计算机设备及存储介质 | |
WO2006131600A1 (en) | Connectivity over stateful firewalls | |
US20120155458A1 (en) | Repeated Lost Packet Retransmission in a TCP/IP Network | |
CN103475706B (zh) | 基于syn-ack双服务器反弹模式的伪tcp隐蔽通信方法 | |
TW200412750A (en) | Data communication method and information processing device | |
US20150055482A1 (en) | TCP Extended Fast Recovery and Segment Timing | |
Simpson | TCP cookie transactions (TCPCT) | |
CN110691063A (zh) | 流镜像模式下单inbound下TCP阻断方法 | |
CN116073959A (zh) | 基于双单向光闸***的数据传输方法、装置、设备及介质 | |
US8811179B2 (en) | Method and apparatus for controlling packet flow in a packet-switched network | |
US7860977B2 (en) | Data communication system and method | |
Lau et al. | RFC 3931: Layer Two Tunneling Protocol-Version 3 (L2TPv3) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200114 |
|
RJ01 | Rejection of invention patent application after publication |