前言:
随着技术的更新,人们对电脑系统的要求越来越高,尤其是随着网络的普及,很多公司都开始实行移动办公,所以所有的系统管理员在这种日趋复杂的环境中面临的挑战也越来越大.因为这不但要求管理员要保证公司本地网络系统的正常运作,还要保证所有移动用户可以顺畅的使用公司内部的网络系统服务.当大多数的人还在为建立一个稳定的只可以满足我们基本需要的远程网络而挣扎的时候,我想那些真正具有经验和实力的管理员应当要看得更远,做得更多. 毕竟我们面临的挑战不仅仅是要保障公司网络系统服务的正常使用,我们还应当要充分保障到公司网络系统的的安全.
我相信在大多数有一定安全规定的公司,其本地的内部系统通常都得到专人的良好照顾,防火墙,防病毒软件都有安装和必要的维护, 不仅如此,我们的管理员还会很勤劳的为各种系统不断的打补丁. 虽然这样的安全模式在大多数的情况下可以在相当程度上保证网络系统的安全,但是在使用远程网络的环境下, 这些已经完全不够了,因为对于那些员工在移动办公环境中利用自己家中的个人电脑和笔记本来登录使用公司的网络系统时,它们就成为了公司网络安全中最薄弱的一个环节,毕竟那些电脑得不到我们管理员的良好支持,而且也并不是所有的用户的个人电脑都安装有防病毒软件及个人防火墙. 所以即使很多公司对安全有严格的规定,但是如果当管理员找不到相应的技术手段来保障执行时,那么一切的要求都是空谈, 如果那些个人电脑一旦被病毒感染,自然也会很容易的影响到整个公司网络的正常运作. 所以我们应当对这类电脑要特别关注,如果当它们达不到一定的安全标准时,公司的网络系统应当拒绝他们的连接. 为了解决这样的问题,一些厂商如check point,Cisco都开始推出一系列这样的产品来保证远程客户电脑的安全标准. 但是这些通常都需要额外的投资,而且大多数的时候并不便宜. 那么有没有比较便宜又可行的方案呢,答案是有的,只要我们有视窗2003,就可以对这部分客户端电脑做限制.
由于看到介绍这方面的资料不是很多, 所以利用了几天的时间把自己平时工作中的一些经验以及过去所看到的一些资料作个简单总结以向大家详细介绍一下如何利用微软的视窗2003的新功能来成功隔离不符合安全标准的远程客户端, 希望这篇文章能对大伙的工作有所帮助,不过由于这样的综合运用比较复杂,所以还是要求大家最好对IAS,VPN,RADIUS等相关技术有相当的了解.
视窗2003隔离功能的工作原理
这里我所谈到的视窗2003对远程客户端的隔离建立在以下的环境中, 如图:
在这里,我们的IAS和VPN服务器都是视窗2003, 为了更安全,这里的VPN服务器不是利用公司内部的域信息,而是利用IAS服务器的远程用户登录服务(RADIUS)来审核用户的登录. 而且我们这里的隔离功能可以用到Windows 2003, Windows XP, Windows 2000, Windows Me, and Windows 98 Second Edition (Win98SE)客户端上. 不过要使用这样的功能,我们通常需要进行4个不同的步骤:
1. 编写一系列的需要在客户端运行而检查客户端电脑的脚本文件及程序.
2. 利用视窗2003里自带的连接管理器工具(Connection Manager Administration Kit - CMAK)建立一个连接范本. 在建立好这样的一个连接管理范本后,你会得到一个.exe的执行文件,而这个执行文件就包含了所有需要在客户端电脑运行的脚本程序等文件. 这其中还应当要包括视窗2003资源工具包中的远程登录隔离客户端rqc.exe. 不然整个隔离过程都无法工作.
3. 在IAS服务器上建立远程登录管理策略, 该远程登录策略决定了哪些用户可以登录及什么时候可以登录,等等一系列的登录要求.
4. 你还需要在VPN服务器上安装rqc.exe的服务端rqs.exe.只有安装了rqs.exe后我们的VPN服务器才具有隔离功能.
当一个用户要尝试登录这样一个有隔离功能的VPN服务器时,VPN服务器会把用户的登录信息交给IAS服务器进行校对, 然后IAS服务器会根据用户提供的登录信息和远程登录策略进行对比, 同时, 我们VPN服务器会根据IAS服务器的设置暂时隔离所有远程登录的用户直到我们的检查脚本在远程客户端上成功执行。当在客户端的隔离检查程序成功执行后,其rqc.exe会向VPN服务器的远程登录隔离代理(rqs.exe)发送检查信息。当rqs.exe接受到rqc.exe的信息后,就会对脚本执行的结果进行校对,如果客户端满足安全要求,那么VPN服务器就会自动把客户端从刚才的暂时隔离中解放出来并容许该客户端正常使用公司网络资源。如果客户端不能满足安全要求,那么该客户端就会被VPN服务器继续隔离直到连接断开。
当然在这里你还可以考虑为这样的远程用户建立一些特别的设置,比如当他们被隔离拒绝进入公司网络时你可以让他们看到一个简单的网页来说明被隔离拒绝的原因以及如何纠正被隔离的要求和步骤。如果客户端是因为他们没有防病毒软件而被隔离,那么你可以考虑为他们提供一个特别的渠道来可以下载公司的防病毒软件进行安装。当然一切具体的实施还要看公司内部的具体安全规定。
附:
如果大家想要测试这样的客户端隔离功能,可以参考一下上面的例图,如果你想要更多有关建立这样一个试验环境的资料,可以参考一下微软Technet文章:
Step-by-Step Guide for Setting Up VPN-Based Remote Access in a Test Lab:(http://www.microsoft.com/technet/prodtechnol/windowsserver2003/technologies/networking/rmotevpn.mspx).
当远程登录策略需要隔离远程客户时,IAS服务器会用两个RADIUS属性值来建立隔离:MS-Quarantine-IPFilter 和MS-Quarantine-Session-Timeout. 不过需要注意的是: 在脚本执行文件在客户端运行的时间应该在VPN服务器的连接超时限制内, 不然在脚本文件没有运行完之前,VPN还是会断开用户的连接. 所以MS-Quarantine-Session-Timeout的值要适当.
在VPN服务器上安装rqs.exe
为了要在VPN服务器上安装rqs.exe,你需要有视窗2003的Resource Kit Tools,你可以到下面的地址下载:
http://www.microsoft.com/downloads/details.aspx?FamilyID=9d467a69-57ff-4ae7-96ee-b18c4790cffd&DisplayLang=en
安装的步骤如下:
1.安装2003 Resource Kit Tools
2.然后在运行栏里键入CMD
3.运行cd \program files\windows resource kits\tools到Resource Kit Tools的安装目录下。
4.运行下面的命令:rqs_setup.bat /install 安装rqs.exe及相应的服务进程。安装后该服务的运行会被设置成自动,由于这时你还没有建立客户脚本所以安装后的第一次运行会失败, 而且该进程还需要依靠RRAS服务进程.
5.打开注册表编辑器(regedt32),在HKEY_LOCAL_MACHINESYSTEM\CurrentControlSet\Services\RQS 下建立一个Multi-String类型的新键值(AllowedSet). 写入一个可以识别脚本文件版本的值,在这个例子中我会用到ver1. 这个值在后面我要介绍的脚本例子中会用到。当客户端运行脚本时,脚本会以变量的形式把该信息交给rpc.exe。然后rpc.exe会把这个值发送给rqs.exe做比较.所以脚本里的值和注册表中的值要相同, 而且使用该变量还可以方便你以后可能会使用的新脚本。
编写隔离脚本文件
在这里,你可以编写一系列有关客户端检查的脚本执行文件,在下面将要讲到的例子中, 我会在用户电脑的\\windows\system32文件夹下检查一个叫musthave.txt的文件。如果找到该文件,那么脚本执行文件会运行rqc.exe. 然后让rqc.exe通知VPN服务器上的rqs.exe报告该客户端满足安全要求.
建立连接管理规范
当在VPN服务器上安装好了rqs.exe和编写了隔离脚本文件后,你还需要在任意一台2003服务器上安装并利用CMAK来建立一个连接管理规范。步骤如下:
1.打开控制台,运行Add or Remove Programs
2.选择视窗组建(Add or Remove Windows Components)。
3.选择Management and Monitoring Tools 然后点击Details.
4.选择Connection Manager Administration Kit 然后点击OK安装。你会被要求放入2003的光盘。
5.当CMAK安装好后, 在管理员工具里选择Connection Manager Administration Kit 点击Next. 再次点击Next。
6.在服务名字栏中(service name)中写入你的要用的规范命名。
7.在文件名字栏中(File Name)写入你将要发布给所有远程登录客户端的执行文件的名字。该名字不能超过8个字符。不过你不需要写.exe因为最后.exe会自动被加上。
8.点击Next两次, 在VPN Support对话框中你可以有机会发布一个电话簿给客户端,该设置在你有多个VPN服务器时特别有用,因为你可以为你的客户端提供连接VPN服务器的选择。
9.如果你只有一个VPN服务器,那么要想使用电话簿功能,你只需要提供一个IP地址。选择“Phone Book from this profile” 和“Always use the same VPN Server”. 然后键入VPN服务器的IP地址。点击Next两次.
10.在电话簿对话框里,清除“Automatically download phone book updates”。如图:
11.点击四次Next打开Custom Actions 对话框。如图:
12.点击New打开New Custom Action 对话框
13.在描述栏里写如简短的介绍。
14.在程序运行里键入你要在客户端上运行的脚本文件的名字。(在这里其实你可以制定任何可执行的文件如 .dll, .exe, .bat, .cmd文件)
15.在参数栏里键入脚本运行时需要的变量(你可以在CMAK的帮助中得到更多的变量解释)
a)%DialRasEntry% (dial-up 连
文章来源于领测软件测试网 https://www.ltesting.net/
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073