云计算 频道

基于Windows server 2008 R2的SSTP VPN

  【IT168 专稿】前言:在2008年9月份,我写了和本篇同样的文章,那时的环境是基于windows server 2008和windows vista with sp1的。今次,在windows server 2008 r2和windows 7的环境中重现企业sstp vpn的建置过程。

  一、新的协议SSTP的支持及介绍

  windows server 2008 R2的已经发布金日,相信新的企业功能和特性让IT PRO们兴奋不已,在新的功能中,SSTP协议的支持让通过WINDOWS SERVER 2008 R2 R2进行SSL-VPN访问得到了增加,配合windows 7终端系统,企业使用sstp vpn更加获利于微软提供的远程安全访问解决方案。

  SSTP是微软提供的新一代的虚拟专用网(VPN)技术,它的全称是安全套接层隧道协议(Secure Socket Tunneling Protocol;sstp),和PPTP L2TP OVER IPsec一样,也是微软所提供的VPN技术。在拥有最大弹性发挥的同时,又确保信息安全达到了一定程度。

  目前,支持SSTP的技术可以在如下系统中实现:Windows XP Sp3(偶在生产环境中并没有去验证)、windows vista with sp1、windows 7、Windows server 2008 R2、windows server 2008 R2。在Windows Server 2008仅支持客户端与服务器之间的SSTP VPN,并不支持站点到站点间的SSTP VPN。但笔者仍不确认在windows server 2008 R2中是否支持。

  通使用此项新技术,可以使防火墙管理员能更容易的配置策略使SSTP流量通过其防火墙。它提供了一种机制,将PPP数据包封装在HTTPS的SSL通讯中,从而使PPP支持更加安全身份验方法,如EAP-TLS等。

  二、PPTP及L2TP OVER IPSEC在使用过程中的不足

  新的SSTP协议的支持,并没有完全否决PPTP及L2TP OVER IPSEC在微软产品所组成的解决方案中的作用,当企业使用基于WINDOWS 平台的VPN解决方案时,这种协议仍是被常用来解决或是提升企业网络安全性。但两者的数据包通过防火墙、NAT、WEB PROXY时却都有可能发生一些连线方面的问题。

  PPTP数据包通过防火墙时,防火墙需被设定成同时充许TCP连接以及GRE封装的数据通过,但大部分ISP都会阻止这种封包,从而造成连线的问题;而当你的机器位于NAT之后,NAT亦必需被设定成能转发GRE协议封装的数据包。否则就会造成只能建立PPTP的TCP连接,而无法接收GRE协议封装的数据包;WEB PROXY是不支持PPTP 协议的。

  L2TP OVER IPSEC的情况和此类似,需要在防火墙上充许IKE 数据和ESP封装的数据同时通过,否则也会出现连接问题。且WEB PROXY也是不支持L2TP OVER IPSEC协议的。

  三、SSTP的执行过程

  上面简要介绍了SSTP协议的优势以及PPTP等之前两种协议的不足,下面就来说下XP WITH SP3 或是WINDOWS 7 WITH SP1、Windows 7等客户端是如何连接到WINDOWS SERVER 2008 R2 SSL(SSTP)VPN服务器的:

  1、SSTP VPN客户端以随机的TCP端口建立TCP连接至SSTP VPN服务器(常常是SSTP VPN 网关服务器)上的TCP 443端口。

  2、SSTP VPN客户端发送一个SSL “Client-Hello”消息给SSTP VPN服务器,表明想与此建立一个SSL会话。

  3、SSTP VPN服务器发送“其机器证书”至SSTP VPN客户端。

  4、SSTP VPN客户端验证机器证书,决定SSL会话的加密方法,并产生一个以SSTP VPN服务器公钥加密的SSL会话密钥,然后发送给SSTP VPN服务器。

  5、SSTP VPN服务器使用此机器证书私钥来解密收到的加密的SSL会话,之后两者之间所有的通讯都以协商的加密方法和SSL 会话密钥进行加密。

  6、SSTP VPN客户端发送一个基于SSL的HTTP(HTTPS)请求至SSTP VPN服务器。

  7、SSTP VPN客户端与SSTP VPN服务器协商SSTP隧道。

  8、SSTP VPN客户端与SSTP VPN服务器协商包含“使用PPP验证方法验(或EAP验证方法)证使用者证书以及进行IPV4或IPV6通讯”的PPP连接。

  9、SSTP VPN客户端开始发送基于PPP连接的IPV4或IPV6通讯流量(数据)。

  四、SSTP VPN服务器环境搭建及说明

  测试环境较为简单,三台机器完成全部操作,其中两台是WINDOWS SERVER 2008企业版,一台是带有SP1的WINDOWS 7。注意,这其中会涉及到公有DNS解析问题,在本试验中,以HOSTS文件中写入相关信息代替。网络拓朴及详细说明如下:

SSTP VPN服务器环境搭建及说明

  1、图中WIN2K8 DC是一台windows server 2008 R2 R2域制器,名为win2k8dc.contoso.com。

  充当DC、CA(企业根)、FILE SERVER角色。

  IP Add:59.65.232.199/24

  Gw:59.65.232.254

  DNS:202.106.0.20

  2、图中RRAS是一台windows server 2008 R2服务器,域成员,充当RRAS 、IIS服务器。两块网卡。

  NEI 网卡IP Add:59.65.232.199/24

  DNS:202.106.0.20

  WAI网卡IP Add:192.168.2.1/24

  DNS:202.106.0.20(真实环境中这块网卡是有网关和公有DNS的)

  3、图中WINDOWS 7是一台带有SP1的WINDOWS 7手提电脑,位于INTERNET上的任一位置。

  IP Add:59.65.232.253/24

  整个网络拓朴中的机器角色是通过HYPER-V上安装虚拟机器完成。实际生产环境中请按角色归位。

  整个实验执行流程如下:

  A、在WIN2K8 DC升级域控,安装CA角色(企业根)

  B、在RRAS这台机器上安装RRAS(VPN,NAT)、IIS角色,并能发布位于DC上的CA URL。同时为本机申请证书。

  C、在WINDOWS 7机器上,建立SSL VPN连线至VPN服务器。(在此机器上写HOSTS文件相关DNS域名解析结果)

  在进行之前,需要强调两个问题,这两个问题是在配置和利用证书方面经常会产生的,提前告示大家在后续文章阅读时要注意:

  1、 将不正确的RRAS计算机证书绑定至侦听器。

  (在将RRAS角色添加到VPN服务器之前,必须添加RRAS计算机证书,这样子SSTP才可以正确的用。否则,就会将错误的证书绑定到该协议。详细请见下章中的三、四部分)

  2、 证书撤销站点对于VPN客户端不可用。

  (证书撤销列表必须可用于 Internet上的客户端。)

0
相关文章