1 引言
虚拟专用网络VPN(Virtual Private Network)是使用隧道封装、认证、加密和访问控制等网络安全机制在公共网络中建立专用数据通信网络的技术。目前VPN主要有两种:IPSecVPN和SSL VPN。安全套接层虚拟专网SSL VPN是基于应用层的VPN,而IPSee VPN是基于网络层的VPN。南于IPSecVPN存在通信性能较低、需要安装客户端软件、维护成本高及很难实现防火墙和NAT遍历、无法解决IP地址冲突等问题,因此SSL VPN技术受到广泛关注。
2 SSL VPN简介及其特点
SSL VPN指采用安全套接层SSL(Security Socket Lay-er)协议实现远程接人的一种新型VPN技术。SSL VPN能让企业更多远程用户在不同地点接入,实现更多网络资源访问,且对客户端设备要求低,因而降低了配置和运行支撑成本。SSL VPN通信基于标准TCP/UDP协议传输,因而能遍历所有NAT设备、基于代理的防火墙和状态检测防火墙。SSLVPN是一种利用数据封装技术,基于 SSL/TSL协议,以WebServet架构为依托的VPN实现。
与IPSec VPN相比,SSL VPN具有以下特点:(1)SSLVPN的用户使用标准的浏览器,无需安装客户端程序即可通过SSL VPN隧道接人内部网络;(2)SSL VPN保护基于Web的应用更有优势;(3)SSL VPN用户不受上网方式限制,SSL VPN隧道可穿透防火墙;(4)SSL VPN只需维护中心节点的网关设备,客户端免维护。降低了部署和支持费用;(5)SSL VPN更容易提供细粒度访问控制,可对用户的权限、资源、服务、文件进行更加具体的控制,与第三方认证系统结合更加便捷。
3 SSL VPN网络架构
SSL VPN网关服务器一般位于企业的Internet防火墙之后.如图1所示。
由于远程客户端(如PDA、便携电脑、Mobile User等)和SSL VPN网关服务器位于不同网络中,因此两者之间要形成一个安全通道。需用SSL进行数据加密通信,从而在Internet上形成远程客户端到SSL VPN网关之间的加密隧道。VPN网关服务器相当于内部网络中的安全代理,由于与其他各种服务器处于同一内部网中,因此它们之间的数据可通过明文传输。 SSL VPN充当两种角色:当远程客户端与SSL VPN进行通信时,SSL VPN是服务器端,负责处理远程客户端的请求;而当SSL VPN与网内各服务器进行通信时,它则是客户端,负责把远程客户端的请求转发到内网服务器。
企业内部的服务器多种多样,常见的有Web服务器、Mail服务器、FTP服务器、Telnet服务器等。SSL VPN需要能够代理远程客户端访问内部网络的各种服务器.这种技术称反向代理技术,它是一种服务器负载均衡技术,也是一种保护内部网络的预防攻击技术。
4 网关服务器的设计
4.1 为Tomcat配置SSL
本系统中,SSL VPN网关是基于Web服务器Tomcat实现的。从图1中可知远程客户端和VPN之间通过SSL协议安全通信,目前浏览器大多支持SSL,无需额外配置,则主要是为Tomcat配置SSL,包含:准备安全证书以及配置Tomcat的SSL连接器(Connector)。具体配置方法如下:
(1)使用keytool命令生成证书库文件打开命令行对话框,输人如下命令:keytool-genkey-alias tomcat-keyalg RSA-keysize 1024-validity 365-keystore tomcat.keystore,则会在当前目录下生成文件tomcat.keystore。
(2)保存文件将生成的tomcat.keystore文件保存在TOM-CAT/conf目录下。
(3)修改server.xml文件 去掉SSL Connector注释语句<!
(4)重新启动Tomcat访问http://localhost:8443,一般打开页面前会提示确认证书的内容,选择OK即可看到页面。
远程客户端通过浏览器访问SSL VPN,为保证两者通信的安全性,在HTTP协议下采用SSL协议,如图1所示。采用SSL机制的HTTP称为HTTPS协议,HTTP使用的默认端口为80,而HTTPS使用的默认端口为443。