论文部分内容阅读
【摘要】随着机关、企事业单位保密意识的提高,对数据安全和网络安全的重视,人们对防火墙访问规则等安全策略的要求越来越严格,同时也限制了其基于计算机的各种应用,阻碍了其业务的发展。本文采用HTTP Tunnel实现对防火墙的穿越,将TCP、UDP等非HTTP数据类型进行HTTP伪装和加密,以隐蔽通信的方式完成应用程序的数据传输,在不改变单位的防火墙等安全策略的前提下,扩展机关、企事业单位的应用,发展业务。
【关键词】HTTP2Sock,Sock2HTTP,隧道
1 引言
基于SIP协议的即时通信系统在企事业单位使用较多,而随着单位保密意识的提高,对数据安全和网络安全的重视,人们对防火墙访问规则等安全策略的要求越来越严格,同时也限制了其基于计算机的各种应用,阻碍了其业务的发展。本文采用HTTP Tunnel实现对防火墙的穿越,将TCP、UDP等非HTTP数据类型进行HTTP伪装和加密,在不改变单位的防火墙等安全策略的前提下,以隐蔽通信的方式完成应用程序的数据传输。
本文重点探讨了HTTP Tunnel技术在以SIP协议为基础的即时通信系统中的应用,并提出相应解决方案和参考应用框架。旨在提升HTTP Tunnel技术的应用范围,加强应用业务的数据安全与网络安全。
2 应用系统框架
HTTP Tunnel被称之为HTTP暗道,原理是将数据伪装成 HTTP的数据形式来穿过防火墙。
基于SIP协议的即时通信系统是以SIP为信令交互协议的即时通信系统,其应用包括HTTP访问、即时消息、语音通信、视频通信等。该系统通过HTTP Tunnel可以不用改变防火前的安全策略,即可实现自由通信。其框架基本包括四个主要方面:
1) 基于SIP协议的即时通信系统,该系统实现基于TCP、UDP、HTTP等协议的即时通信功能;
2) Sock2HTTP服务器,该服务器实现非HTTP协议数据包的HTTP格式转换,通信端口映射,拥塞控制等功能;
3) HTTP Tunnel系统,该系统实现基于HTTP协议的双向的虚拟数据连接,从而穿越防火墙;
4) HTTP2Sock服务器,该服务器实现需要转换为其他格式的HTTP数据,通信端口的映射,拥塞控制等。
其拓扑图如图1:
图1.基于SIP协议的即时通信系统的HTTP Tunnel应用
3应用系统设计
3.1基于SIP协议的即时通信系统
基于SIP协议的即时通信系统主要有两部分组成。OpenSIPS服务器和oSIP客户端。
3.1.1 OpenSIPS
OpenSIPS是成熟的开源SIP服务器,结构非常灵活,其核心路由功能完全通过脚本来实现,可灵活定制各种路由策略,可灵活应用于语音、视频通信、IM以及Presence等多种应用。
其主要功能如下:
SIP注册服务器/代理服务器/重定向服务器
SIP presence agent
SIP IM Server
3.1.2 oSIP
oSIP是使用标准c编写的SIP协议栈。
主要包括两部分的内容:状态机模块、解析器模块。
状态机模块的功能:完成对某个事务(注册过程,呼叫过程等等)状态记录,并在特定状态下触发相应的事件或回调函数。
解析器模块的功能:该模块主要完成对SIP消息结构剖析、SDP消息的结构剖析以及URI结构的剖析;
图2.oSIP结构
oSIP为SIP协议的客户端,OpenSIPS为SIP协议的服务器,二者共同搭建基于SIP协议的即时通信系统。
3.2 Sock2HTTP服务器和HTTP2Sock服务器
当位于内网的SIP终端访问外网,则终端建立连接的端口不一定被防火墙开放,尤其是UDP端口,若使TCP与UDP等消息穿越防火墙则需要相应的协议转换服务器,即Sock2HTTP和HTTP2Sock。
图3.Sock2HTTP与HTTP2Sock
3.2.1功能描述
主要负责分配对应的UDP端口;接收HTTP消息、解码、以UDP的形式发送至目的地址;接收UDP消息、编码、接收终端分配UDP端口的HTTP消息,返回生成的UDP端口;UDP端口与终端的对应管理机制。
3.2.2设计说明
a.建立TCP套接字,与某端口绑定(可配置),监听该端口;
b.接收到请求后,fork子进程处理该请求,请求包括要求分配端口的请求和其他请求两类;
c.处理要求分配端口的请求,将分配的端口返回给终端,保持该TCP链接不断开,直至通话结束或者终端注销。
4结论
基于SIP协议的即时通信系统使用HTTP Tunnel技术,在企事业单位网内外实现自由通信。该应用不仅提升HTTP Tunnel技术的应用范围,更加强应用业务的数据安全与网络安全。系统采用分布式設计,为系统升级和集成提供很好的构架基础,是企事业单位业务和数据穿越防火墙的一种安全和高效的应用。
参考文献
[1] RFC 2543 3261SIP: Session Initiation Protocol.
[2] RFC 2616Hypertext Transfer Protocol -- HTTP/1.1.
[3] W.Richard Stevens TCP/IP详解卷1、卷2、卷3.
注:文章内所有公式及图表请以PDF形式查看。