多图详解VPN用户隔离:ISA2006系列之二十四

来源:互联网 发布:suse linux snmp服务 编辑:程序博客网 时间:2024/04/29 21:17
多图详解VPN用户隔离

VPN隔离是ISA2006中提供的一个强大功能,也是NAP(网络访问保护)的一个重要组成环节。VPN隔离指的的是当VPN客户机通过VPN服务器的身份验证后,VPN服务器并不立即允许其访问内网,而是将VPN客户机放到一个被隔离的网络中。然后通过策略对客户机进行安全检查,例如查看VPN客户机是否安装了最新的安全补丁,是否启用了防火墙,防病毒软件是否升级到了最新版本等等。如果VPN客户机通过了安全策略的检查,VPN服务器将允许其访问内网资源;如果不能通过安全策略检查,VPN客户机将被限定在隔离网络中,无法访问内网资源,而且在隔离网络中停留一段时间后会被逐出。有的企业会在隔离网络中放置一些文件服务器,用以提供杀病毒软件,系统更新补丁等,还有的可能会在隔离网络中放置Web服务器,用以提示用户为什么被隔离,接下来要进行什么操作。VPN隔离的原理如下图所示。
 
今天我们通过一个实验来简单介绍一下VPN隔离的功能,实验拓扑如下图所示,Denver是域控制器,BeijingISA2006服务器,Istanbul是外网VPN客户机。Beijing上启用了VPN隔离,当VPN客户机拨入时,VPN服务器会把VPN客户机放入隔离网络,然后检查VPN客户机的防火墙是否开启。如果开启了防火墙,那VPN客户机就能通过安全检查,被允许访问内网;否则VPN客户机就将在规定时间内被逐出隔离网络。
 
目前我们已经在Beijing上配置了VPN服务器,VPN客户机的地址池是192.168.100.1192.168.100.200,我们接下来要进行下列步骤。
安装隔离服务
ISA2004安装VPN隔离服务时一般是使用Resource Kits工具集中提供的VPN隔离服务的安装程序,现在由于Win2003 SP1中已经集成了VPN隔离服务,因此ISA2006安装VPN隔离就非常简单了。打开控制面板中的添加或删除程序,选择添加/删除Windows组件,如下图所示,在网络服务的子组件中勾选“远程访问隔离服务”,点击确定即可完成VPN隔离服务的安装。
 
如下图所示,我们已经在ISA服务器上安装了VPN隔离服务,这时ISA服务器会在7250端口提供一个守护进程,用来接收VPN客户机上的代理程序发来的策略检查结果,但此时的VPN隔离服务还需要对一些参数进行配置。
 
我们在Beijing上打开注册表编辑工具regedit.exe,定位到[HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/rqs],编辑“AllowedSet”。如下图所示,我们为键值赋值为“RQVersion3”。这个键值的作用相当于是一个接头暗号,当VPN客户机被隔离策略检查安全性之后,VPN客户机上的代理程序会把检查结果发往VPN服务器。VPN服务器收到VPN客户机上发来的检查结果后,要查看检查结果中附带的版本标识符是否和注册表中记录的一样,如果是相同的,那VPN服务器就认可对VPN客户机的检查结果,否则VPN服务器就会认为VPN客户机上的代理程序把检查结果发错了目标,拒绝承认检查结果。
 
接下来我们还要添加一个注册表键值,如下图所示,我们在RQS服务中新建一个字符串值。
 
如下图所示,键值命名为Authenticator,内容为C:/Program Files/Microsoft ISA Server/vpnplgin.dll,这个键值的作用是当VPN客户机通过了安全策略检查后,vpnplgin.dll将解除对VPN客户机的隔离。
 
创建VPN隔离通告协议
ISA服务器上安装了VPN隔离服务后,在7250端口会有一个守护进程等候被隔离客户机上的代理程序传送安全策略检查的结果,但ISA的访问规则不会允许被隔离的计算机连接ISA7250端口,因此我们需要创建访问规则允许这种访问行为。在创建访问规则前我们需要把访问7250端口的行为定义为一种协议,在ISA防火墙策略的工具箱中选择新建协议,如下图所示,出现协议创建向导,我们给协议命名为“VPN隔离通告协议”,点击“下一步”继续。
 
如下图所示,我们定义协议使用TCP,端口是7250,方向是出站。注意,千万别认为ISA被其他计算机访问7250端口,方向应该算是入站,这是错误的!访问规则中使用的协议方向是出站,而发布规则中使用的协议方向是入站!
 
接下来协议创建向导询问是否需要使用辅助连接,我们并不需要,点击下一步继续。
 
如下图所示,我们顺利完成了VPN隔离通告协议的创建。
 
创建访问规则
我们创建了VPN隔离通告协议之后,接下来就可以创建访问规则允许被隔离的VPN客户机连接ISA服务器的7250端口报告策略检查结果了。如下图所示,我们在ISA管理器中选择新建访问规则,我们为规则命名为“允许VPN隔离通告”,点击下一步继续。
 
当访问请求满足规则条件时允许操作。
 
规则中只允许使用我们创建的VPN隔离通告协议。
 
规则的访问源是“被隔离的VPN客户端”,这也是ISA中预设的一个网络。
 
访问目标是本机主机。
 
此规则适用于所有用户。
 
如下图所示,我们完成了访问规则的创建。
 
启用VPN隔离
接下来我们可以在ISA服务器上启用VPN隔离了,如下图所示,我们在ISA的网络中找到“被隔离的VPN客户端”,点击右键查看属性。
 
我们在属性中切换到“隔离标签”,如下图所示,勾选“启用隔离控制”,选择按照ISA服务器策略进行隔离VPN客户端,并设定用户在60秒内如果不能被解除隔离,就将被ISA服务器中断连接。
 
至此,我们在ISA服务器上启用了VPN隔离服务,接下来我们启动VPN隔离服务就可以完成服务器端的配置了。
 
创建连接管理器分发文件
服务器端的配置完成之后,我们接下来就要考虑如何在客户端进行安全策略的检查以及如何把检查结果传送给ISA服务器。如下图所示,rqc.exe负责把策略检查结果发送给ISA服务器,rqc.exeVPN隔离服务的客户端工具,在Resource kits工具集中有提供,在win2003 SP1中也已经集成了,路径是C:/Program Files/Cmak/SupportRQScript.vbs是一个负责检查客户端安全策略的脚本,这个脚本文件是由微软的ISA实验室提供的示例文件,主要负责检查客户端的防火墙有没有开启。我们如果想自定义一些检测项目,就只能自己写脚本了。如果你没有编程基础也不要紧,有一些公司可以提供这种脚本编程的服务,还有的公司把常用的检测项目都封装成应用程序,管理员只要用鼠标选择具体的检测项目即可。

现在我们有了rqc.exeRQScript.vbs,但怎么才能让这两个文件在客户端进行VPN连接时发挥作用呢?我们可以定制一个专用的VPN拨号配置文件,在配置文件中集成这两个文件。我们要想定制专用的VPN拨号配置文件,首先要安装一个连接管理器管理工具包。我们在ISA服务器上打开控制面板中的添加或删除程序,选择添加/删除Windows组件,如下图所示,在“管理和监视工具”的子组件中选择“连接管理器管理工具包”。
 
接下来我们在管理工具中打开“连接管理器管理工具包”,创建定制一个VPN拨号配置文件,如下图所示,出现连接管理器管理工具包向导,点击下一步继续。
 
选择新建配置文件,点击下一步继续。
 
输入服务名和文件名,注意,文件名是vpnrq,最终生成的配置文件名就是vpnrq.exe
 
选择不再用户名中添加领域名,下一步继续。
 
不需要合并配置文件,下一步继续。
 
在电话簿中配置VPN服务器的IP地址或完全合格域名,在此我们使用的是IP地址。
 
VPN安全设置使用默认值,点击下一步继续。
 
取消勾选“自动下载电话簿更新”,点击下一步继续。
 
检查拨号设置无误,点击下一步继续。
 
使用默认设置“不改变路由选择表”,点击下一步继续。
 
选择“不配置代理设置”,点击下一步继续。
 
接下来是关键步骤,我们点击“新建”,准备自定义操作。
 
在新建的自定义操作中,我们选择使用RQScript.vbs来检查客户端的安全策略,传递的参数是%DialRasEntry%%TunnelRasEntry%%Domain%%UserName%,操作类型是后连接,点击确定完成新建操作。
 
接下来设置登录位图,我们使用默认值,点击下一步继续。
 
电话簿位图,我们也取默认值,点击下一步继续。
 
显示图标也使用默认值,点击下一步继续。

不在任务栏创建快捷方式,点击下一步继续。
 
不指定帮助文件,点击下一步继续。
 
不需要输入登录对话框中的帮助信息,点击下一步继续。
 
选择把连接管理器1.3版本集成在这个配置文件中。
 
不需要定制许可协议文件,点击下一步继续。
 
这一步也很重要,我们点击“添加”按钮把rqc.exe集成到配置文件中,这个文件在Resource Kits工具集中有提供,在ISA服务器的C:/Program Files/Cmak/Support中也有。
 
不选择高级自定义,点击下一步继续。
 
如下图所示,我们终于完成了定制的拨号配置文件,接下来我们只要把vpnrq.exe发给客户机,就可以在客户端进行VPN隔离的测试了。
 
VPN隔离测试
我们现在可以在VPN客户机Istanbul上开始测试了,首先我们先关闭Istanbul的防火墙,看看能否通过VPN的安全策略检查。我们在Istanbul上双击执行用连接管理器工具生成的配置文件vpnrq.exe,如下图所示,安装程序询问是否安装ITET配置文件,选择“是”继续。
 
选择在桌面添加快捷方式,点击“确定”结束配置文件的安装。
 
双击执行桌面上的ITET图标,如下图所示,输入用户名和口令,点击“连接”。
 
用户名和口令校验成功后,VPN服务器提示已经成功拨入,但很快就弹出一个消息框,如下图所示,提示我们由于防火墙没有开启,因此Istanbul没有满足VPN隔离的安全策略检查,即将被断开连接。
 
过了预设的60秒后,VPN连接被服务器中断,如下图所示,拨号连接询问是否要重新连接,点击“否”。
 
接下来我们看看在Istanbul上开启防火墙是否能够通过VPN隔离的安全策略检查,如下图所示,在网络连接的高级属性中,选择开启防火墙的保护。注意,Istanbul的操作系统是Win2003,如果操作系统是Win2003 SP1,那么开启防火墙的方法就不是这样了,检查安全策略的脚本也要进行相应改变。
 
开启防火墙后再次拨入,如下图所示,系统提示Istanbul已经通过了安全策略检查,被赋予了访问权限,至此,VPN隔离实验成功!

VPN隔离是微软NAP中的一个重要环节,希望大家能够掌握这个功能。中间的步骤很多,但难度不大,真正困难的是安全策略检查脚本的撰写。
原创粉丝点击