向大家详细介绍一下如何利用微软的视窗2003的新功能来成功隔离不符合安全标准的远程客户端,由于这样的综合运用比较复杂,所以要求大家对IAS,VPN,RADIUS等相关技术有相当的了解。
前言:
随着技术的更新,人们对电脑系统的要求越来越高,尤其是随着网络的普及,很多公司都开始实行移动办公,所以所有的系统管理员在这种日趋复杂的环境中面临的挑战也越来越大.因为这不但要求管理员要保证公司本地网络系统的正常运作,还要保证所有移动用户可以顺畅的使用公司内部的网络系统服务.当大多数的人还在为建立一个稳定的只可以满足我们基本需要的远程网络而挣扎的时候,我想那些真正具有经验和实力的管理员应当要看得更远, 做得更多. 毕竟我们面临的挑战不仅仅是要保障公司网络系统服务的正常使用,我们还应当要充分保障到公司网络系统的的安全.
我相信在大多数有一定安全规定的公司,其本地的内部系统通常都得到专人的良好照顾,防火墙,防病毒软件都有安装和必要的维护, 不仅如此,我们的管理员还会很勤劳的为各种系统不断的打补丁. 虽然这样的安全模式在大多数的情况下可以在相当程度上保证网络系统的安全,但是在使用远程网络的环境下, 这些已经完全不够了,因为对于那些员工在移动办公环境中利用自己家中的个人电脑和笔记本来登录使用公司的网络系统时,它们就成为了公司网络安全中最薄弱的一个环节,毕竟那些电脑得不到我们管理员的良好支持,而且也并不是所有的用户的个人电脑都安装有防病毒软件及个人防火墙. 所以即使很多公司对安全有严格的规定,但是如果当管理员找不到相应的技术手段来保障执行时,那么一切的要求都是空谈, 如果那些个人电脑一旦被病毒感染,自然也会很容易的影响到整个公司网络的正常运作. 所以我们应当对这类电脑要特别关注,如果当它们达不到一定的安全标准时,公司的网络系统应当拒绝他们的连接. 为了解决这样的问题,一些厂商如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的值要适当.