远程管理终端服务启用远程管理功能建立与结束远程管理联机启用单一登录(SSO)功能所谓的『远程管理』(RemoteAdministration)是指无法到服务器前操作的系统管理员,可以透过网络联机到伺服器,执行新增账户、设定权限、修改组策略等等管理工作,彷佛就坐在服务器前使用键盘与鼠标。其实这种『如朕亲临』的本事通常被称为『远程遥控』(RemoteControl),但是远程遥控所涉及的范围太大,既可以管理,也可以执行应用程序,而这两件事所牵涉的内容有很大的差异。从Windows2000Server开始,终端服务成为操作系统核心的一部份,区分为『远程管理』(RemoteAdministration)和『应用程序服务器』(ApplicationServer)两种模式。到了WindowsServer2003/2003R2虽然不再用这两个名词,但是大致上承袭同样的架构。WindowsServer2008终端服务是一种服务器角色(ServerRole),包含了以下五项角色服务(RoleService):终端服务器(TerminalServer):让客户端可以执行服务器的应用程序。TS授权(TSLicensing):用来管理联机到终端服务器的客户端授权(CAL,ClientAccessLicense)数量。TS会话代理人(TSSessionBroker):在具有网络负载平衡(NLB)功能的多部服务器环境,确保客户端会联机到保有自己的会话(Session)的服务器。TS网关(TSGateway):对于来自因特网的用户端,必须通过TS网关的验证与授权后,才允许联机到企业内部网络。TSWeb存取(TSWebAccess):允许客户端透过Web接口联机到伺服器,可说是『Web版的远程桌面联机』。所谓的网络层级验证是一种身分验证机制,在无此机制时,服务器端是先建立联机、后执行身分验证;而网络层级验证则将程序相反,先执行身分验证,通过验证后才建立联机。这样做的优点如下:服务器端耗用的资源较少因为通过验证才能建立连线,如果使用者输入错误的账户名称或密码,就无法通过验证,服务器自然不需要耗费资源建立连线,因此比较节省系统资源。降低被DoS攻击的机率当恶意的使用者对服务器建立大量连线,以进行DoS(DenialofService)攻击时,如果服务器先建立联机、后进行验证,便会让网络带宽被一大堆等候验证的联机占满,而无法服务其他的使用者。若先验证后才建立连线,便不会有此问题。由于目前只有WindowsVista/VistaSP1和WindowsServer2008等系统内建的远程桌面连线程序支持网络层级验证,所以若我们确定客户端执行这些作业系统,就适合选取此项。如果客户端为WindowsXP或WindowsServer2003/2003R2,根据微软的说法,联机到下载并安装6.0版的远程桌面连线程序(RDC6.0),便可支持网络层级验证功能。但是我们实测结果并非如此,虽然安装了RDC6.0,却仍不支援网络层级验证,即使是WindowsXPSP3亦然。在19-1节曾简介『单一登录』功能,此功能对于中大型网络的用户来说相当实用,可以免除一再输入用户名称与密码的困扰。不过要达到此功能,必须具备以下的条件:客户端必须采用WindowsVista/VistaSP1或WindowsServer2008系统,服务器必须采用WindowsServer2008系统。服务器与客户端必须都加入相同网域或互相信任的网域。客户端登入网域的帐户,必须在服务器也能用来登入网域,而且允许与服务器建立联机(请参考19-9页的『指定允许联机的使用者或群组』)。符合上述的条件后,请在服务器与客户端分别启用SSO功能。在安全性阶层字段的交涉,代表服务器会与客户端协调,若客户端支持SSL(TLS1.0),便优先使用此加密方式;否则便使用RDP加密方式。因为WindowsVista和WindowsServer2008都支援SSL(TLS1.0),所以协调的结果当然还是使用SSL(TLS1.0)。换言之,选取交涉或SSL(TLS1.0)的结果都是采用SSL(TLS1.0),而这里所谓的启用其实只是确认而已。假设客户端是WindowsVista系统,请按开始钮输入gpedit.msc、按Enter键,开启本地组原则编辑器窗口:接着再按两次确定钮、关闭本地组原则编辑器视窗,即可完成设定,最后重新启动系统,才能让此组策略生效。然后执行『开始/所有程序/附属应用程序/远程桌面联机』命令:WindowsVista直接以目前登入的用户名称和密码送给服务器验证,通过验证后便允许建立连线,所以无须输入用户名称和密码。或许有人会觉得每次都必须指定服务器名称蛮麻烦,万一临时要联机的对象不在本地组原则的设定里,还得修改设定、重新启动。在这里我们透露一个小技巧--可以用『通配符』来指定服务器的计算机名称!例如:genie-*或*.xdom.biz.tw,所以若输入TermSrv/*,代表联机到任何服务器时都启用SSO功能,这就能解决先前的困扰了。一般使用SSO功能时,最常犯的错误在于忽略用户帐户的限制。举例来说,xdom\tony账户(xdom是域名)被限制只能在Tony-Vista计算机登入网域,因此当客户端以此账户执行远程桌面连线,试图透过SSO功能要与服务器建立联机时,便会看到以下的示误讯息。若取消勾选上图的对TS网关与终端机服务器使用相同的用户认证,则登入TSGateway服务器时必须输入使用者名称与密码,登入TSRemoteApp服务器时还要再次输入使用者名称与密码,但选取之后就可以少输入一次。设定完毕之后,记得要『重新产生rdp檔或msi檔』,并依21-19页的说明将这些档案部署到用户端,才能使这些新的设定发挥效用。18实验3-1Windows2008-TS测试-RemoteApp&Web访问终端服务网关(TSGateway)TSGateway简介架设TSGateway服务器设定TSGateway客户端与建立联机终端服务网关(TSGateway)是WindowsServer2008令人瞩目的新功能之一,因为它可以让远程的使用者透过网际网路,与公司内部的网络建立一条加密的连线,因此颇能符合多数企业的需求。由于TSGateway在功能和架构方面都不同于以往,所以我们先从基本原理谈起,再介绍实作方式。TSGateway的架构使用TSGateway的优点本章TSGateway的应用情境假设要让出差在外的业务员,能透过因特网联机到公司内部网络的伺服器,可以用TSGateway功能建置以下的架构:1.要求与服务器建立联机TSGateway客户端执行RDC6.X程序(亦即6.X版的远程桌面连线程序),透过因特网连接到TSGateway服务器。这段联机采用RDPoverTLS技术,将RDP封包隐藏在TLS封包内,这样做有『保密』和『可通过防火墙』的效果。前者是因为TLS会将封包内容加密;后者则因为大部分的防火墙不会阻挡TLS封包。2.利用『网络原则服务器』的原则,限制联机的建立TSGateway服务器接到TSGateway客户端的联机要求时,会根据网络原则服务器(NPS,NetworkPolicyServer)所储存的原则,来决定『是否建立联机』和『可以联机到内部网络的哪些服务器』。掌控『是否建立联机』的原则谓之CAP(ConnectionAuthorizationPolicy,联机授权原则)。掌控『可以联机到内部网络的哪些服务器』谓之RAP(ResourceAuthorizationPolicy,资源授权原则)3.与要遥控的服务器(亦即被控端)建立联机。在WindowsServer2008的画面和说明文件中,有的显示SSL加密;有些则显示TLS加密,到底是哪一种才对?其实两者的意思相同。SSL(SecureSocketLayer)是Netscape公司所推出的协定,由于受到广泛使用,发展到了3.0版时,被IETF组织加以修改成为国际标准,称为TLS(TransportLayerSecurity)1.0版,相关规格记载于RFC2246。从技术面来看,SSL3.0与TLS1.0的差异极小,一般将两者视为相同,所以经常会将SSL与TLS两个名词混用。从前文的架构图可以看出TSGateway有以下的优点:在防火墙无须开放TCP3389端口直接以远程桌面连线程序(RDP协议)来建立联机时,会使用TCP3389连接埠,但是大多数的防火墙装置或NAT装置不会开放该连接埠,因此必须额外设定。但是TSGateway所用的TLS协议广泛用于电子商务的网站,所以防火墙装置或NAT装置通常会开放它所用的TCP443连接埠,无须再额外设定。无须使用虚拟专用网(VPN)以往要透过因特网联机到公司内部网路,几乎都用虚拟专用网技术。可是相对来说,建立VPN服务器的技术门坎比较高,而且在客户端的设定也比较繁琐,不如远程桌面连线程序好用。为了便于理解,本章将以最少的计算机来架构一个TSGateway的应用情境,如下图:TSGateway客户端透过Genie-pc联机到WS2008,Genie-pc不但扮演TSGateway服务器,也是储存CAP和RAP的网络原则服务器。一般要架设某种伺服器,大多都是安装相对应的组件即可。可是要架设TSGateway服务器则不然,还多了『申请与安装服务器证书』及『建立授权原则』等动作,整个流程算是比较复杂,因此我们整理如右图。倘若客户端经常不在公司,例如:出差人员或常驻海外人员所用的电脑,我们很难有机会在这些计算机安装凭证,此时可改用组策略来安装,只要客户端联机到网域便会自动完成安装。请先确定具有『网域系统管理员』的权限,在域控制器执行『开始/系统管理工具/组策略管理』命令,开启组策略管理控制台。实验3-1Windows2008-TS测试-TSGateWayTSRemoteAppTSRemoteApp简介在服务器设定RemoteApp环境发布RemoteApp程序到客户端客户端执行RemoteApp程序TSGateway+TSRemoteApp的环境38对于远程使用者(透过远程桌面连线来操作的使用者)而言,TSRemoteApp是WindowsServer2008贴心而明显的改进。将以往先执行远程桌面连线、再执行应用程序的两个动作,整合成『直接执行应用程序』一个动作,感觉像是在执行本机上的应用程序,让那些分不清客户端和服务器的使用者都能轻松操作。39TSRemoteApp功能可说是脱胎自Windows2000Server时代的应用服务器模式(ApplicationServerMode),严格来说,不算是全新的概念。不过考虑到未曾用过类似功能的读者,可能不清楚它的用途,所以在开始实作之前,还是要先说明它的使用时机与先决条件。40虽然TSRemoteApp功能让用户能轻松地执行『安装在服务器』的应用程序。不过许多人都会质疑:为何不直接将应用程序安装在用户端,在客户端执行就好。非得要辛苦地从远程执行?以下列举数个适合使用TSRemoteApp的时机:因为64位的应用程序不能安装在32位的作业系统,此时可将该程序安装在64位架构的终端机伺服器,而32位的客户端透过TSRemoteApp功能来执行它。41有些部门是大家共享几部电脑,所以用户每次所用的计算机可能不同。倘若该计算机刚好没安装所要用的软体,便无法工作。若将大家必备的软件安装在终端机伺服器,便可透过TSRemoteApp功能来执行。因为应用程序只安装在少数的伺服器,而非每一部客户端电脑,因此不但安装时方便,日后的维护作业(例如:安装修补程序、升级等等)更方便。42一般『远程桌面联机』的作法,因为会传送服务器的桌面画面,占用比较大的带宽。而TSRemoteApp功能由于只传送应用程序的画面、不传送服务器的桌面画面,所以比较节省带宽。当客户端与服务器之间的带宽不够大时,就能充分感受到两者的差异。