中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 教育认证 > Macrmedia认证
视窗2003中IAS服务器及VPN服务器的综合应用
作者:佚名 时间:2004-06-08 10:35 出处:互连网 责编:chinaitpower
              摘要:视窗2003中IAS服务器及VPN服务器的综合应用

  前言:
  随着技术的更新,人们对电脑系统的要求越来越高,尤其是随着网络的普及,很多公司都开始实行移动办公,所以所有的系统管理员在这种日趋复杂的环境中面临的挑战也越来越大.因为这不但要求管理员要保证公司本地网络系统的正常运作,还要保证所有移动用户可以顺畅的使用公司内部的网络系统服务.当大多数的人还在为建立一个稳定的只可以满足我们基本需要的远程网络而挣扎的时候,我想那些真正具有经验和实力的管理员应当要看得更远,做得更多. 毕竟我们面临的挑战不仅仅是要保障公司网络系统服务的正常使用,我们还应当要充分保障到公司网络系统的的安全.
  
  我相信在大多数有一定安全规定的公司,其本地的内部系统通常都得到专人的良好照顾,防火墙,防病毒软件都有安装和必要的维护, 不仅如此,我们的管理员还会很勤劳的为各种系统不断的打补丁. 虽然这样的安全模式在大多数的情况下可以在相当程度上保证网络系统的安全,但是在使用远程网络的环境下, 这些已经完全不够了,因为对于那些员工在移动办公环境中利用自己家中的个人电脑和笔记本来登录使用公司的网络系统时,它们就成为了公司网络安全中最薄弱的一个环节,毕竟那些电脑得不到我们管理员的良好支持,而且也并不是所有的用户的个人电脑都安装有防病毒软件及个人防火墙. 所以即使很多公司对安全有严格的规定,但是如果当管理员找不到相应的技术手段来保障执行时,那么一切的要求都是空谈, 如果那些个人电脑一旦被病毒感染,自然也会很容易的影响到整个公司网络的正常运作. 所以我们应当对这类电脑要特别关注,如果当它们达不到一定的安全标准时,公司的网络系统应当拒绝他们的连接. 为了解决这样的问题,一些厂商如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 连接名)
  b)%TunnelRasEntry% (tunnel 连接名)
  c)%Domain% (用户连接的域名)
  d)%UserName% (用户名)
  e)%ServiceDir% (规范的路径)
  注意,在变量之间要保持一个空格。
  16.在Action type 处选择Post-connect.
  17.在Run this custom action for处选择All connections. 如图:
  
 

  18.保证对话框下部的两个选项被选上,然后点击九次next直到Additional Files 对话框.
  19.在Additional Files对话框里,你需要指定你需要执行的文件,在这里选择我们要用的脚本和rqc.exe文件(rqc.exe 在%SYSTEMDRIVE%\Program Files\Windows Resource Kits\Tools文件夹中).当CMAK把要发布的执行文件建立好后,执行该.exe文件时会把你指定的执行文件复制到客户端的%SYSTEMDRIVE%\Documents and Settings\All Users\Application Data\Microsoft\Network\Connections\Cm\ServiceName 文件夹下这里的ServiceName 就是你在步骤6中给的值。点击Next
  20.在Ready to Build the Service Profile对话框里, 清除Advanced Customization 选项. 点击Next. 这时AMCK就会创建要发布的.exe文件,你可以观察到有个命令行的黑色窗口会一晃而逝.点击Finish完成.
  
  在IAS服务器上制定远程登陆策略
  到这时为止,隔离还没有真正实施,虽然你的VPN服务器会强制隔离客户端,但是你的IAS服务器必须在客户登录审核时检查VPN服务器的隔离. 下面就是设置IAS服务器的步骤:
  1.在IAS服务器的管理员工具菜单里点击Internet Authentication Service.
  2.右击Remote Access Policies然后选择New Remote Access Policy 来打开新远程登录策略的对话框, 点击Next忽略欢迎页.
  3.在对话框中的策略名字栏中键入“隔离策略”的字样.如图:
  
 

  4.点击Next, 保证VPN是被选上的,然后点击Next. (如果你想为拨号上网或是无线上网的用户设置登录策略,你可以重复上面的步骤而设置相应的策略.)
  5.在User or Group Access 对话框里加入组信息.你也可以在这里建立一个需要被隔离的组.比如,你可以点击Add然后加入需要被隔离的用户组.
  6.如果你需要所有远程登录用户用最强的加密方式,那么在策略加密等级对话框里可以只选Strongest Encryption,请注意, 除非你的客户端至少都是2000 Pro以上, 如果你还有一些比较旧的客户端则需要也选上比较弱的加密方式,点击Next完成.如图:
  
 

  7.右击刚建立的隔离策略,选择属性.点击Edit Profile, 点击高级选项Advanced, 如图:
  
 

  8.点击Add,在Add Attribute对话框中找到生产厂商是Microsoft的选项,在这里我们需要的只有两个: MS-Quarantine-Session-Timeout (该值定义了客户端需要被暂时隔离的时间) 和 MS-Quarantine-IPFilter (该值定义了隔离客户的IP限制). 如图:
  
 

  9.选择MS-Quarantine-Session-Timeout 属性,点击Add打开一个对话框,在属性值一栏里加入一个时间值,这个时间值应该足够让我们上面的脚本文件成功的在你的客户端上执行.在这个例子里我们放90然后点击OK. 如图:
  
 

  10.选择MS-Quarantine-IPFilter 属性,点击Add. 在对话框里点击Input Filters 打开inbound Filter对话框. 在这里,你最少需要两个inbound filters, 一个是为rqc.exe 和rqs.exe. 另一个是为你的DHCP服务. 在这里的例子里,我们需要打开TCP端口7250. 这是rqs.exe监听的端口.然后我们还要打开UDP端口67和68.这是DHCP服务需要的端口.如果有需要,你也可以考虑打开DNS端口UDP53和WINS服务端口UDP137.如果你需要用户连接到某个WEB服务器上, 那么你还应该打开TCP端口80.
  11.现在在Inbound Filters对话栏里点击New. 在Add IP Filter对话框里选择TCP,在 Destination Port 一栏里输入7250. 然后其他的地方都是空白.然后点击OK
  12.重复上面的步骤为DHCP做设置,在协议下拉菜单中选择UDP. 然后在Destination Port 里键入 67. 在Source Port 里键入 68. 点击OK. 如图:
  

  13.然后正常关闭所有的对话框.现在我们就已经建立了一个隔离环境了,如果任何的客户端要从远端连接公司网络, 他们在脚本文件运行完之前或者执行后检测不合格都会被自动隔离.
  
  附:
  如果大家想要了解更多的这方面信息你可以参照下面的连接:
  "Deploying Remote Access Clients Using Connection Manager"
  (http://www.microsoft.com/technet/prodtechnol/windowsserver2003/proddocs/ deployguide/dnsbg_rac_overview.asp)
  
  "Network Access Quarantine Control in Windows Server 2003"
  (http://www.microsoft.com/windowsserver2003/techinfo/overview/quarantine.mspx)
  
  The Cable Guy, "Network Access Quarantine Control" (http://www.microsoft.com/technet/columns/cableguy/cg0203.asp)
  
  TechNet Webcast: "Secure Mobile Access Using Wireless and VPN Technologies in Windows Server 2003"
  (http://www.microsoft.com/usa/webcasts/ondemand/1767.asp)
  
  另外, 如果因为需要要重新编写脚本文件,那么编写完毕后则应当用CMAK重新制作执行文件包, 如果是在客户端对脚本文件做直接修改的话,则不必重新制作了. 我在文中用到的脚本例子大家可以在这里找到:
  http://fumtek.mblogger.cn/posts/17417.aspx
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有