一种快速的HTTP重定向方法与流程

文档序号:11156632阅读:685来源:国知局

本发明涉及网络安全防御技术,特别涉及一种快速的HTTP重定向方法。



背景技术:

网络准入控制技术是目前主流的网络安全防御技术,它通过对终端实施安全保护,有效地解决了非安全终端接入网络而引起的安全威胁,将病毒、漏洞、网络攻击等拒之门外,从而全面的保障了接入到网络中的设备的安全。

网络准入控制的常用技术有策略路由准入、VLAN隔离准入、dot1x准入、ARP准入、镜像准入等。其中镜像准入技术是指网络中的交换机将数据流量镜像(即复制)一份发给准入控制服务器,准入控制服务器监控并审查这些流量,然后根据策略执行放通或阻断的技术,常用的镜像准入阻断技术有TCP Reset、HTTP重定向等。

超文本传输协议(Hyper Text Transfer Protocol,缩写HTTP)是基于TCP(Transmission Control Protocol 传输控制协议)的应用协议,主要分为终端和服务器两大组件,终端先和服务器通过TCP三次握手建立TCP连接,然后终端再向服务器发送HTTP请求,接下来服务器向终端返回该请求的响应。

实践中,HTTP重定向是指HTTP服务器向终端返回的响应信息中,并不含有实质的信息,而是一个重定向URL,即访问该资源被重定向到该URL。

现有的HTTP重定向方法包括下述步骤:

(1) 终端向服务器发送TCP三次握手的第一个报文,syn标志位置1,seq序列号x;

(2) 服务器向终端回应TCP三次握手的第二个报文,syn标志位置1,ack标志位置1,seq序列号y,ack确认号x+1;

(3) 终端向服务器发送TCP三次握手的第三个报文,ack标志位置1,seq序列号x+1,ack确认号y+1,TCP三次握手完成,TCP连接建立成功;

(4) 终端向服务器发送HTTP请求报文;

(5) 服务器向终端回应HTTP重定向报文。

现有的HTTP重定向方法在镜像准入阻断过程中的原理如下:终端向服务器发出HTTP请求;交换机收到该包后将该包转发给服务器,同时镜像一份给准入控制服务器;服务器接收到HTTP请求后对该请求回应HTTP响应报文;准入控制服务器接收到镜像过来的HTTP请求后,进行安全分析,如果分析结果不符合安全规则就会对该请求回应HTTP重定向报文;服务器发出的HTTP响应报文和准入控制服务器发出的HTTP重定向报文会先后到达终端,如果HTTP重定向报文先到达,那么终端就会被重定向。

现有的HTTP重定向方法存在如下重大缺陷:服务器发出的HTTP响应报文和准入控制服务器发出的HTTP重定向报文会先后到达终端,如果HTTP响应报文先到达,那么终端就不会被重定向。当终端、服务器、准入控制服务器都处于同一高速局域网中,且服务器的网络性能比准入控制服务器高时,服务器发出的HTTP响应报文会先到达终端,通常会先到达8-9微秒左右,这个时候镜像准入HTTP重定向阻断技术就会失效,无法对网络实施安全保护。



技术实现要素:

本发明提供了一种快速的HTTP重定向方法,其目的旨在克服上述现有技术的缺陷。

本发明的目的是通过下述技术方案实现的:

一种快速的HTTP重定向方法,包括下述步骤:

步骤1:终端向服务器发送TCP三次握手的第一个报文;交换机将该第一个报文镜像一份给准入控制服务器;

步骤2:服务器向终端回应TCP三次握手的第二个报文;交换机将该第二个报文镜像一份给准入控制服务器;

步骤3:准入控制服务器接收到步骤2中交换机镜像过来的TCP三次握手的第二个报文时,准入控制服务器向终端发送HTTP重定向报文;

步骤4:终端接收到服务器回应的TCP三次握手的第二个报文时,终端向服务器发送TCP三次握手的第三个报文;

步骤5:终端接收到步骤3中的准入控制服务器发送过来的HTTP重定向报文后,将其存入TCP缓存中;

步骤6:终端向服务器发出HTTP请求并等待HTTP响应;

步骤7:终端取出步骤5中接收的HTTP重定向报文,执行HTTP重定向。

在上述技术方案的基础上,本发明可附加下述技术手段,以便更好地或者更有针对性地解决本发明所要解决的技术问题:

在步骤1中,终端向服务器发送TCP三次握手的第一个报文中含有syn标志位和seq序列号,且syn标志位设置为1,seq序列号设置为x。

进一步地,在步骤2中,服务器向终端回应TCP三次握手的第二个报文中含有syn标志位、ack标志位、seq序列号和ack确认号,且syn标志位设置为1,ack标志位设置为1,seq序列号设置为y,ack确认号设置为x+1。

进一步地,在步骤3中,准入控制服务器向终端发送的HTTP重定向报文中含有ack标志位、seq序列号和ack确认号,且ack标志位设置为1,seq序列号设置为y+1,ack确认号设置为x+1。

进一步地,在步骤4中,终端向服务器发送的TCP三次握手的第三个报文中含有ack标志位、seq序列号、ack确认号,且ack标志位设置为1,seq序列号设置为x+1,ack确认号设置为y+1。

需要说明的是,在本发明的步骤1中,交换机会将第一个报文镜像一份给准入控制服务器;准入控制服务器收到镜像过来的该第一个报文时,不进行处理。

需要说明的是,在完成本发明的步骤4时,TCP三次握手完成,TCP连接建立成功;终端、服务器、准入控制服务器三者相互之间的报文传递均经过了交换机的转发。

需要说明的是,本发明中上述的x代表正整数,y也代表正整数,x、y的表述只是为了表述的方便,x、y的表述并不具有实际意义,x、y在表述中的位置可调换。

本发明的技术原理在于:通过采用在TCP连接建立成功之前就提前发送HTTP重定向报文的技术手段,确保在终端不符合安全规则的情况下准入控制服务器发出的HTTP重定向报文先于服务器发出的HTTP响应报文到达终端。

经实验验证,表明本发明所采用的HTTP重定向方法具有下述有益效果:(1)有效地解决了镜像准入环境中现有的HTTP重定向方法在特定情况下失效的缺陷。原因在于,在镜像准入环境中使用本方案提出的HTTP重定向方法后,HTTP重定向功能不再受到服务器和网络速度的影响,准入控制服务器先于TCP连接建立成功之前发出HTTP重定向报文,亦即在服务器发出任何有数据内容的TCP报文之前就发出了HTTP重定向报文,确保了准入控制服务器发出的HTTP重定向报文先于服务器发出的HTTP响应报文到达终端,使不符合安全规则的终端被HTTP重定向,从而实现本有益效果。(2)实现快速阻断。原因在于,本发明方法在终端与服务器建立TCP连接的瞬间就可以实现重定向,在同等网络环境下本发明比现有方法所需时间至少节省了50%,从而实现本有益效果。

具体实施方式

本发明是在包含终端、服务器、交换机、准入控制服务器的标准配置网络中实施。

实施例一

本实施例中,一种快速的HTTP重定向方法,包括下述步骤:

步骤1:终端向服务器发送TCP三次握手的第一个报文;交换机将该第一个报文镜像一份给准入控制服务器;

步骤2:服务器向终端回应TCP三次握手的第二个报文;交换机将该第二个报文镜像一份给准入控制服务器;

步骤3:准入控制服务器接收到步骤2中交换机镜像过来的TCP三次握手的第二个报文时,准入控制服务器向终端发送HTTP重定向报文;

步骤4:终端接收到服务器回应的TCP三次握手的第二个报文时,终端向服务器发送TCP三次握手的第三个报文;

步骤5:终端接收到步骤3中的准入控制服务器发送过来的HTTP重定向报文后,将其存入TCP缓存中;

步骤6:终端向服务器发出HTTP请求并等待HTTP响应;

步骤7:终端取出步骤5中接收的HTTP重定向报文,执行HTTP重定向。

作为本实施例的一种备选方案,在步骤1中,终端向服务器发送TCP三次握手的第一个报文中含有syn标志位和seq序列号,且syn标志位设置为1,seq序列号设置为x。

作为本实施例的一种备选方案,在步骤2中,服务器向终端回应TCP三次握手的第二个报文中含有syn标志位、ack标志位、seq序列号和ack确认号,且syn标志位设置为1,ack标志位设置为1,seq序列号设置为y,ack确认号设置为x+1。

作为本实施例的一种备选方案,在步骤3中,准入控制服务器向终端发送的HTTP重定向报文中含有ack标志位、seq序列号和ack确认号,且ack标志位设置为1,seq序列号设置为y+1,ack确认号设置为x+1。

作为本实施例的一种备选方案,在步骤4中,终端向服务器发送的TCP三次握手的第三个报文中含有ack标志位、seq序列号、ack确认号,且ack标志位设置为1,seq序列号设置为x+1,ack确认号设置为y+1。

本实施例中,在完成步骤4时,TCP三次握手完成,TCP连接建立成功;终端、服务器、准入控制服务器三者相互之间的报文均经过交换机的转发进行传递。

本实施例中,上述的x代表正整数,y代表正整数。

实施例二

本实施例中,一种快速的HTTP重定向方法,包括下述步骤:

步骤1:终端向服务器发送TCP三次握手的第一个报文;交换机将该第一个报文镜像一份给准入控制服务器;

步骤2:服务器向终端回应TCP三次握手的第二个报文;交换机将该第二个报文镜像一份给准入控制服务器;

步骤3:准入控制服务器接收到步骤2中交换机镜像过来的TCP三次握手的第二个报文时,准入控制服务器向终端发送HTTP重定向报文;

步骤4:终端接收到服务器回应的TCP三次握手的第二个报文时,终端向服务器发送TCP三次握手的第三个报文;

步骤5:终端接收到步骤3中的准入控制服务器发送过来的HTTP重定向报文后,将其存入TCP缓存中;

步骤6:终端向服务器发出HTTP请求并等待HTTP响应;

步骤7:终端取出步骤5中接收的HTTP重定向报文,执行HTTP重定向。

作为本实施例的一种备选方案,在步骤1中,终端向服务器发送TCP三次握手的第一个报文中含有syn标志位和seq序列号,且syn标志位设置为1,seq序列号设置为12345678。

作为本实施例的一种备选方案,在步骤2中,服务器向终端回应TCP三次握手的第二个报文中含有syn标志位、ack标志位、seq序列号和ack确认号,且syn标志位设置为1,ack标志位设置为1,seq序列号设置为73187318,ack确认号设置为12345679。

作为本实施例的一种备选方案,在步骤3中,准入控制服务器向终端发送的HTTP重定向报文中含有ack标志位、seq序列号和ack确认号,且ack标志位设置为1,seq序列号设置为73187319,ack确认号设置为12345679。

作为本实施例的一种备选方案,在步骤4中,终端向服务器发送的TCP三次握手的第三个报文中含有ack标志位、seq序列号、ack确认号,且ack标志位设置为1,seq序列号设置为12345679,ack确认号设置为73187319。

本实施例中,在完成步骤4时,TCP三次握手完成,TCP连接建立成功;终端、服务器、准入控制服务器三者相互之间的报文均经过交换机的转发进行传递。

实施例三

本实施例中,一种快速的HTTP重定向方法,包括下述步骤:

步骤1:终端向服务器发送TCP三次握手的第一个报文,所述第一个报文中含有syn标志位和seq序列号,且syn标志位设置为1,seq序列号设置为x;交换机将该第一个报文转发给服务器,同时交换机将该第一个报文镜像(即复制)一份给准入控制服务器;此时准入控制服务器收到镜像过来的该第一个报文,不进行处理;

步骤2:服务器收到步骤1中交换机转发过来的第一个报文后,服务器向终端回应TCP三次握手的第二个报文,所述第二个报文中含有syn标志位、ack标志位、seq序列号和ack确认号,且syn标志位设置为1,ack标志位设置为1,seq序列号设置为y,ack确认号设置为x+1;交换机将该第二个报文转发给终端,同时交换机将该第二个报文镜像一份给准入控制服务器;

步骤3:准入控制服务器接收到步骤2中交换机镜像过来的TCP三次握手的第二个报文时,准入控制服务器向终端发送HTTP重定向报文,所述HTTP重定向报文中含有ack标志位、seq序列号和ack确认号,且ack标志位设置为1,seq序列号设置为y+1,ack确认号设置为x+1;

步骤4:终端接收到步骤2中服务器回应的TCP三次握手的第二个报文时,终端向服务器发送TCP三次握手的第三个报文,所述第三个报文中含有ack标志位、seq序列号、ack确认号,且ack标志位设置为1,seq序列号设置为x+1,ack确认号设置为y+1;此时TCP三次握手完成,TCP连接建立成功;

步骤5:终端接收到步骤3中准入控制服务器向终端发送的经交换机转发过来HTTP重定向报文后,将其存入TCP缓存中;

步骤6:终端向服务器发出HTTP请求并等待HTTP响应;

步骤7:终端取出步骤5中接收的HTTP重定向报文,执行HTTP重定向。

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