郭建偉
利用遠(yuǎn)程桌面服務(wù),管理員不僅可以對遠(yuǎn)程主機進(jìn)行靈活的遙控操作。還可以發(fā)布RemoteAPP程序,讓用戶可以直接運行服務(wù)器上的軟件,省卻了本地安裝的煩瑣。管理員還可以將創(chuàng)建的虛擬機分發(fā)給指定的用戶,使其可以登錄到虛擬機上進(jìn)行操作。這不僅利于集中管控,而且可以有效提高網(wǎng)絡(luò)運維效率。要想管理好遠(yuǎn)程桌面服務(wù),需要熟練地掌握各種操作技巧。這里就以很常用的Windows Server 2008R2為例,列舉了‘些常用的使用技巧,希望對您有所幫助。
一、合理調(diào)控RDP帶寬比例
遠(yuǎn)程桌面是通過RDP協(xié)議將服務(wù)器上的應(yīng)用程序推送到客戶端,同時將客戶端的鍵盤鼠標(biāo)操作信息返回給服務(wù)器。這部分內(nèi)容占據(jù)的帶寬稱為顯示帶寬,此外,用戶還可以將本地資源(例如磁盤、端口、打印機、剪切板等)通過RDP的虛擬通道映射到服務(wù)器上,使服務(wù)器和客戶端可以自由地傳輸數(shù)據(jù),其占用的帶寬稱為數(shù)據(jù)帶寬。在默認(rèn)情況下,兩種帶寬的比例為七比三。當(dāng)然,如果用戶主要遠(yuǎn)控服務(wù)器,不涉及數(shù)據(jù)互傳的話,可以修改兩者的比例,以便更好地執(zhí)行遠(yuǎn)控操作。
在遠(yuǎn)程桌面服務(wù)器上打開注冊表編輯器,展開“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\TermDD”分支,其中的“FlowControlDisplayBandwidth”鍵值名控制的是顯示帶寬比例,“FlowControlChannelBandwidth”鍵值名控制的是數(shù)據(jù)帶寬,其數(shù)值范圍從0到255(以十進(jìn)制為準(zhǔn))。例如,將前者設(shè)置為100,后者設(shè)置為50,顯示帶寬和數(shù)據(jù)帶寬比例就為三比二。注意,必須重啟桌面服務(wù)器,才可以使之生效。
二、讓RemoteAPP自動關(guān)聯(lián)本地文件
客戶端通過RemoteAPP程序,可以使用遠(yuǎn)程桌面服務(wù)器端發(fā)布的程序。例如雙擊從服務(wù)器上獲得“.rdp”文件,輸入所需的賬戶名和密碼,就可以啟動該程序,但是卻無法和本地特定類型的程序關(guān)聯(lián)。例如雙擊本地的“.doc”文件,無法啟動遠(yuǎn)程桌面服務(wù)器發(fā)布的Word程序?qū)⑵浯蜷_。解決的方法是通過分發(fā)MST包的方式,使其可以和本地文件關(guān)聯(lián)。在遠(yuǎn)程桌面服務(wù)器卜打開RemoteApp管理器,在列表中找到發(fā)布的程序(例如Word等),在其右鍵菜單上點擊“創(chuàng)建Windows Install程序包”項,在向?qū)Ы缑嬷幸来吸c擊下一步按鈕,在配置分發(fā)程序包窗口(圖1)中選擇“將此程序的客戶端擴展與RemoteApp程序項關(guān)聯(lián)”項,點擊完成按鈕,之后將生成的WINWORD安裝包復(fù)制到客戶端,在客戶端以域管理員身份安裝該包。這樣,在客戶端雙擊與之關(guān)聯(lián)的程序,就可以打開該遠(yuǎn)程程序?qū)ζ洳僮髁恕?/p>
三、為用戶調(diào)配合適的CPU優(yōu)先級
當(dāng)多個用戶同時使用RemoteAPP程序,在默認(rèn)情況下,所有的用戶獲得的CPU資源是相同的。如果想讓重要的用戶擁有更高的CPU優(yōu)先級,可以在遠(yuǎn)程桌面服務(wù)器上打開服務(wù)器管理器,在左側(cè)選擇“功能”項,在右側(cè)點擊“添加功能”鏈接。在向?qū)Ы缑嬷羞x擇“Windows系統(tǒng)資源管理器”項,點擊完成按鈕,添加該組件。之后打開Windows系統(tǒng)資源管理器,選擇“此計算機”項,點擊連接按鈕,在左側(cè)選擇“資源分配策略→Weighted_Remote_Session”項,在其右鍵菜單上點擊“屬性”項,在彈出窗口中點擊“添加”按鈕,在添加用戶或組窗口中的“優(yōu)先級”列表中選擇“高級”項,點擊“添加”按鈕,導(dǎo)入所需的域用戶或者組,點擊確定按鈕保存配置。這樣,當(dāng)這些用戶使用RemoteAPP程序時就可以獲得更多的CPU資源。
四、讓用戶擁有不同的RemoteAPP
在默認(rèn)情況下,當(dāng)用戶訪問“https://RDWeb服務(wù)器地址”之類的網(wǎng)址,登錄到RDWeb使用頁面,可以看到并使用遠(yuǎn)程桌面服務(wù)器所有發(fā)布的程序。但是,在有些情況下,因為用戶角色和職位等原因,管理員并不希望其看到所有發(fā)布的程序,而只允許其使用為其指定的程序。在遠(yuǎn)程桌面服務(wù)器上打開RemoteAPP管理器,在列表中選擇某個程序(例如則務(wù)軟件等),在其屬性窗口中的“用戶分配”面板(圖2)中選擇“指定域用戶和域組”項,點擊添加按鈕,導(dǎo)入目標(biāo)賬戶(例如則務(wù)管理員等)。
這樣,只有指定的賬戶才可以使用該程序。但是,當(dāng)用戶登錄到RDWeb訪問頁面后,可以點擊“遠(yuǎn)程桌面”鏈接,輸入遠(yuǎn)程桌面服務(wù)器名稱,通過遠(yuǎn)程登錄的方法,來避開上述限制隨意操作目標(biāo)程序。為此,可以在遠(yuǎn)程桌面服務(wù)器上打開ITS管理器,打開“網(wǎng)站”→“Default Web Site→RDWeb→Pages”項,在右側(cè)雙擊“應(yīng)用程序設(shè)置”項,在“ShowDesktops”欄中將其值修改為“False”,就可以隱藏“遠(yuǎn)程桌面”鏈接。
五、利用身份驗證,提高訪問的安全性
在默認(rèn)情況下,當(dāng)內(nèi)網(wǎng)中的用戶訪問遠(yuǎn)程桌面時,使用的是Kerberos身份驗證方式。對于外網(wǎng)用戶來說,當(dāng)其運行“mstsc”程序,利用遠(yuǎn)程桌面服務(wù)器DNS名稱訪問時,如果黑客對該DNS名稱進(jìn)行了劫持,就很容易泄漏敏感信息。因此,可以利用證書來驗證服務(wù)器身份。例如,在服務(wù)器上執(zhí)行“mmc”命令,在控制臺中點擊菜單“文件、添加/刪除管理單元”項,在彈出窗口左側(cè)列表中選擇“證書”項,點擊“添加”按鈕,選擇“計算機賬戶”項,點擊完成按鈕,將其添加進(jìn)來。在控制臺左側(cè)選擇“證書、個大,項,在其右鍵菜單上點擊“所有任務(wù)→申請新證書”項,在向?qū)Ы缑嬷羞x擇“Active Directory注冊策略”項,點擊下一步按鈕,選擇“計算機”項,點擊注冊按鈕,完成證書申請操作。
當(dāng)然,也可以向Internet上的第三方證書頒發(fā)機構(gòu)申請證書。打開遠(yuǎn)程桌面會話主機配置程序,在“RDP-Tcp”連接項的右鍵菜單上點擊“屬性”項,在彈出窗口中的“常規(guī)”面板(圖3)中的“安全層”列表中選擇“SSL(TSL1.0)”項,點擊“選擇”按鈕,在列表中選擇上述申請的證書。點擊應(yīng)用按鈕,保存配置信息,當(dāng)客戶端登錄遠(yuǎn)程桌面后,在屏幕頂部的工具欄上點擊鎖型按鈕,在彈出窗口中顯示“使用服務(wù)器證書和Kerberos已驗證遠(yuǎn)程計算機的身份”。點擊“查看證書”按鈕,顯示證書的詳細(xì)信息。
在很多場合,處于安全性的考慮,往往只允許用戶使用桌面服務(wù)器發(fā)布的RemoteAPP程序,而禁止其登錄遠(yuǎn)程桌面。在上述窗口中的“環(huán)境”面板,選擇“用戶登錄時啟用系列程序”項,在“程序路徑和文件名”欄中輸入“c:\windows\system32\logoff.exe”,在“起始于”欄中輸入“c:\windows\system32”。這樣,當(dāng)用戶試圖登錄遠(yuǎn)程桌面時,就會被直接注銷。如果希望對會話時間進(jìn)行控制的話,可以在“會話”面板中選擇“改寫用戶設(shè)置”項,設(shè)置當(dāng)客戶端斷開會話后,結(jié)束該會話的時間。在“活動會話限制”欄中設(shè)置客戶端可以使用RemoteAPP以及遠(yuǎn)程桌面的時間值。在“空閑會話限制”欄中設(shè)置當(dāng)超過多長時間的空閑狀態(tài)后,自動關(guān)閉會話。選擇“改寫用戶設(shè)置”和“結(jié)束會話”項,當(dāng)滿足以上條件后,自動結(jié)束會話。
六、保證安全,使用網(wǎng)絡(luò)級身份驗證
在Windows 2008及其之后的系統(tǒng)中,提供了對網(wǎng)絡(luò)身份驗證的支持。在默認(rèn)情況下,其處于自動開啟狀態(tài),采取網(wǎng)絡(luò)級身份驗證,有利于提高系統(tǒng)安全性。例如,可以在連接會話建立之前,就可以對用戶身份進(jìn)行驗證,這可以防止惡意用戶利用黑客軟件,對遠(yuǎn)程桌面服務(wù)器進(jìn)行密碼破解。而且過多的連接,會消耗服務(wù)器的資源。當(dāng)然,對于客戶端來說,也必須支持網(wǎng)絡(luò)級身份驗證。
對于Windows XP SP3等老系統(tǒng)來說,是無法直接支持該功能的。為了解決該問題,可以運行注冊表編輯器,打開“HKEY LOCAL MACHINE\SYSTEM\CurrentControlSet\Control\Lsa”分支,雙擊“Security Packages”鍵值名,將其內(nèi)容中追加“tspkg”。選擇“HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders”分支,雙擊“SecurityProviders”鍵值名,在其內(nèi)容后追加“,credssp.dll”。修改完畢后重啟系統(tǒng),Windows XPSP3就可以支持網(wǎng)絡(luò)級身份驗證了。
七、單點登錄遠(yuǎn)程桌面和RDWeb站點
在默認(rèn)情況下,當(dāng)用戶使用域賬戶登錄系統(tǒng)后,在訪問遠(yuǎn)程桌面時,必須重新提交憑據(jù)方可。這多少顯得有些煩瑣,利用單點登錄,就可以解決該問題。在域控上打開組策略管理器,在左側(cè)選擇域名,在其右鍵菜單上點擊“在這個域中創(chuàng)建GPO并在此處連接”項,輸入GPO名稱,選擇該GPO,進(jìn)入其編輯界面,選擇“計算機配置→管理模板→系統(tǒng)→憑據(jù)分配”分支,雙擊“允許分配默認(rèn)憑據(jù)”項,在彈出窗口中選擇“已啟用”項,在“將服務(wù)器添加到列表”欄電點擊“顯示”按鈕,在顯示內(nèi)容窗口中輸入“termsrv/xxx.com”,其中的“xxx.com”表示遠(yuǎn)程桌面服務(wù)器的DNS名稱。點擊確定按鈕,保存配置信息。
在客戶端執(zhí)行“gpupdate/force”命令,來刷新組策略。執(zhí)行“gpresult/r”命令,來查看策略的應(yīng)用情況。當(dāng)確認(rèn)應(yīng)用了上述策略后,當(dāng)?shù)卿涍h(yuǎn)程桌面時,就無法再次提交憑據(jù)了。對應(yīng)的,也可以使用單點登錄功能,來快捷登錄RDWeb站點。這就需要對RDPX件進(jìn)行簽名,之后使用RDWeb的方式,將其分發(fā)到客戶端。這樣,如果黑客對RDP文件中的服務(wù)器地址進(jìn)行了修改,系統(tǒng)就會禁止用戶進(jìn)行登錄。在服務(wù)器上打開RemoteAPP管理器,在“數(shù)字簽名設(shè)置”欄電點擊“更改”鏈接,在“數(shù)字簽名”面板(圖4)中選擇“使用數(shù)字證書簽名”項,點擊更改按鈕,選擇所需的證書。
在“RemoteA即程序”列表中刪除所有已經(jīng)發(fā)布的程序,點擊“添加RemoteApp”鏈接,在向?qū)Ы缑嬷兄匦逻x擇需要發(fā)布的程序。這樣,就可以對這些RemoteA即進(jìn)行數(shù)字簽名處理。在客戶端輸入對應(yīng)的域賬戶和密碼,登錄到RDWeb頁面。點擊對應(yīng)的RemoteAPP程序,在彈出窗口會顯示發(fā)布者的信息,點擊連接按鈕,無須再次輸入密碼就可以直接運行該程序。
八、使用虛擬IP,讓程序靈活運行
利用IP虛擬化功能,提高了遠(yuǎn)程桌面對應(yīng)用程序的兼容性。因為有些程序需要綁定特定的IP,即使對同一個程序來說,當(dāng)在不同的客戶端上運行時需要配置不同的IPo在服務(wù)器卜打開遠(yuǎn)程桌面會話主機配置程序,在窗口中部雙擊“IP虛擬化”項,在彈出窗口(圖5)中選擇“啟用IP虛擬化”項,如果配置了多塊網(wǎng)卡,可以根據(jù)需要進(jìn)行選擇。在“IP虛擬化模式”欄中選擇“每會話”“每程序”模式。例如選擇“每程序”項,點擊添加程序按鈕,導(dǎo)入所需的程序。之后點擊“添加RemoteApp”鏈接,來發(fā)布上述程序。當(dāng)客戶端在RDWeb站點運行該程序后,就會獲得自動分配的虛擬IP。不同的客戶端運行該程序,會獲得不同的虛擬IP。注意,在域環(huán)境中必須存在DHCP服務(wù)器。
九、配置終端網(wǎng)關(guān),避開黑客襲擾
在一般情況下,不管使用RemoteAPP程序或者登錄遠(yuǎn)程桌面,客戶端都會使用RDP協(xié)議來和服務(wù)器通訊。為了提高安全性,可以使用終端網(wǎng)關(guān)角色,將RDP協(xié)議封裝到安全通道中,有力地提高遠(yuǎn)程桌面服務(wù)器的安全性??蛻舳诉B接的是TCP 443端口,這對于提高外網(wǎng)訪問的安全性是很重要的。在某臺服務(wù)器(例如“rdgate.xxx.com”)上打開服務(wù)器管理器,打開添加角色向?qū)?,選擇“遠(yuǎn)程桌面服務(wù)”項,選擇“遠(yuǎn)程桌面網(wǎng)關(guān)”項,并為之綁定證書,之后安裝該組件。打開遠(yuǎn)程桌面網(wǎng)關(guān)管理器,在左側(cè)選擇“策略、連接授權(quán)策略”項,在右側(cè)點擊“新建策略→自定義”項,在新建策略窗口(圖6)中輸入其名稱,在“要求”面板中的“用戶組成員身份”欄中點擊“添加組”按鈕,導(dǎo)人所需的域賬戶組,例如“Domain Users”等。這樣,這些組中的用戶就可以通過RD網(wǎng)關(guān)的驗證。
選擇“策略→資源授權(quán)策略”項,在右側(cè)點擊“新建策略→自定義”項,在彈出窗口中輸入其名稱,在“用戶組”面板中添加所需的賬戶組。如果已經(jīng)更改了遠(yuǎn)程桌面服務(wù)器連接端口,可以在“允許使用的端口”面板中選擇“允許通過以下端口連接”項,輸入所需的端口號。在遠(yuǎn)程桌面服務(wù)器上打開RemoteAPP管理器,在右側(cè)點擊“RD會話主機”鏈接,在“RD網(wǎng)關(guān)”面板中選擇“使用這些RD網(wǎng)關(guān)服務(wù)器設(shè)置”項,輸入“rdgate.xxx.com”,在“登錄方式”列表中選擇“詢問密碼(NTLM)”項。之后將之前已經(jīng)發(fā)布的程序刪除,重新執(zhí)行發(fā)布操作。當(dāng)客戶端登錄到RDWeb站點,啟動目標(biāo)程序,在彈出窗口中就會顯示網(wǎng)關(guān)服務(wù)器信息。點擊連接按鈕,就會通過終端網(wǎng)關(guān)來連接遠(yuǎn)程桌面服務(wù)器,來啟動目標(biāo)程序。
十、快速部署RemoteApp程序
在一般情況下,客戶端為了獲取服務(wù)器發(fā)布的程序,可以在控制面板中搜索“remoteapp”,雙擊找到“RemoteApp和桌面連接”項,在左側(cè)點擊“設(shè)置一個新連接”項,在向?qū)Ы缑嬷休斎搿癶ttps://rds.xxx.com/rdweb/feed/webfeed.aspx”,其中的“rds.xxx.com”表示遠(yuǎn)程桌面主機的DNS名稱。之后執(zhí)行添加連接資源操作,完成后顯示出可用的RemoteAPP程序信息。打開開始菜單,在程序列表中打開在“RemoteA即和桌面連接”菜單,在其中顯示服務(wù)器端發(fā)布的程序。
不過,這種方法不僅操作起來比較煩瑣,而且無法適應(yīng)大規(guī)模部署RemoteAPP的場景,在遠(yuǎn)程連接代理服務(wù)器上打開遠(yuǎn)程桌面連接管理器,在右側(cè)點擊“創(chuàng)建配置文件”鏈接,在“BAD連接源URL”欄(圖7)中輸入“https://rds.xxx.com/rdweb/feed/webfeed.aspx”,點擊保存按鈕,將其保存為獨立的文件,放置到共享目錄中。在客戶端將該文件復(fù)制過來,雙擊該文件,在向?qū)Ы缑嬷悬c擊下一步按鈕,就可以創(chuàng)建RemoteAPP桌面連接,省去了手工配置的煩瑣。
十一、使用連接代理,保證會話連貫性
在很多場合,單臺的遠(yuǎn)程桌面服務(wù)器無法承擔(dān)大量用戶的訪問需求,因此,將多臺遠(yuǎn)程桌面服務(wù)器配置為群集,實現(xiàn)負(fù)載均衡功能,可以更好地為用戶提供服務(wù)。當(dāng)用戶訪問時,會隨機連接到群集中的某臺服務(wù)器上,在使用RemoteAPP或者遠(yuǎn)程桌面上,如果網(wǎng)絡(luò)連接突然斷開,當(dāng)用戶重新連接時,是無法保證順利連接到上一個會話中的。使用遠(yuǎn)程連接代理服務(wù)的會話目錄功能,可以有效解決該問題。在一個負(fù)載均衡的環(huán)境中,所有的用戶登錄到服務(wù)器之后,都會產(chǎn)生包含用戶名、打開的程序、用戶IP等會話信息。這些信息保存在特定的數(shù)據(jù)庫中形成會話目錄。
用戶再次登錄時,其連接的主機會首先訪問連接代理服務(wù)器,來查看會話目錄,檢測是否已經(jīng)存在會話信息。如果有的話,用戶就會重定向到對應(yīng)的服務(wù)器上的相應(yīng)會話中。否則的話,就會連接到當(dāng)前的服務(wù)器上。在遠(yuǎn)程連接代理服務(wù)器運行“l(fā)usrmgr.msc”程序,在賬戶管理程序左側(cè)選擇“組”項,在右側(cè)雙擊“Session Broker Computers”組,在其屬性窗口電點擊“添加”按鈕,在彈出窗口中點擊“對象類型”按鈕,選擇“計算機”項。之后將群集中的所有遠(yuǎn)程桌面會話主機添加進(jìn)來。
在遠(yuǎn)程桌面會話主機上打開遠(yuǎn)程桌面會話主機配置程序,在窗口中部雙擊“RD連接代理中的場的成員”項,在打開窗口中點擊“更改設(shè)置”按鈕,在設(shè)置窗口(圖8)中選擇“場成員”項,輸入遠(yuǎn)程連接代理服務(wù)器名稱和場名稱。這樣,就可以將當(dāng)前主機的會話連接信息提交到會話目錄中。注意,所有的會話主機的場名稱應(yīng)該保持一致。在“RD連接代理”面板中選擇“參與連接代理負(fù)載平衡”項,為當(dāng)前主機設(shè)置相互權(quán)重值。對于場中配置較高的服務(wù)器,可以為其設(shè)置較高的權(quán)重值,使其可以響應(yīng)更多的用戶請求。點擊應(yīng)用按鈕,保存配置信息。
按照同樣的方法,在所有的遠(yuǎn)程會話主機上執(zhí)行以上配置。注意,如果連接代理服務(wù)運行異常的話,可以在其上運行“services.msc”程序,重啟“Remote Desktop Connection Broker”服務(wù),就可以有效解決問題。安裝遠(yuǎn)程桌面連接代理的方法很簡單,在某臺服務(wù)器(其DNS名為“xxx.ycdl.com”)上打開服務(wù)管理器,啟動添加角色向?qū)?,在遠(yuǎn)程桌面服務(wù)列表中選擇“遠(yuǎn)程桌面連接代理”項,來安裝該組件。
十二、快速配置,發(fā)布虛擬機遠(yuǎn)程桌面
使用常規(guī)方法,只能允許用戶訪問物理主機的遠(yuǎn)程桌面。利用VDI功能,可以將虛擬機的桌面發(fā)布給用戶使用。在某臺服務(wù)器(其DNS名為“xxx.xnsrv.com”)上打開服務(wù)管理器,啟動添加角色向?qū)?,在遠(yuǎn)程桌面服務(wù)列表中選擇“遠(yuǎn)程桌面虛擬化主機”項,來安裝該組件。當(dāng)然,事先需要安裝好Hyper-V角色。打開Hyper-V管理器,創(chuàng)建所需的虛擬機。例如創(chuàng)建一臺Windows 7虛擬機,將該虛擬機的名稱修改為“VD01.xxx.com”,其中的“xxx.com”為域名。打開該虛擬機,將其添加到域環(huán)境中。
在控制面板中打開“允許程序通過Windows防火墻”項,選擇“遠(yuǎn)程桌面”和“遠(yuǎn)程服務(wù)管理”項,使其可以穿越防火墻和外界通訊。打開PowerShell窗口,執(zhí)行“Set-ExecutionPolicy remotesigned-force”和“Configure-VirtualMachine.psl-RDVHost xxx\xnsrv-RDUsers xxx\user01”命令,其中的“xxx\xnsrv”為上述虛擬化主機在域中的名稱,“xxx\user01”為域中的賬戶名,表示該虛擬機將分配給名為“user01”用戶使用。打開搜索引擎,搜索“Configure Guest OS forMicrosoft VDI”內(nèi)容,可以查看和下載“Configure-VirtualMachine.psl”腳本文件的內(nèi)容。
配置好虛擬機后,登錄到遠(yuǎn)程桌面連接代理服務(wù)器。打開遠(yuǎn)程桌面連接管理器,在右側(cè)點擊“配置虛擬機”鏈接,在向?qū)Ы缑嬷悬c擊下一步按鈕,在“服務(wù)器名稱”欄中輸入遠(yuǎn)程桌面虛擬化主機名稱,例如“xxx.xnsrv.com”。點擊添加按鈕,將其添加到列表中。在下一步窗口中的“服務(wù)器名稱”欄中輸入遠(yuǎn)程桌面會話主機名稱,點擊下一步按鈕,輸入RD Web代理服務(wù)器名稱。其余設(shè)置保持默認(rèn),點擊完成按鈕,打開分配個人虛擬機向?qū)Ы缑?,點擊“選擇用戶”按鈕,選擇與虛擬機綁定的用戶(例如“xxx\user01”)。在“虛擬機”列表中選擇上述虛擬機名稱,例如“VD01.xxx.com”。這樣,當(dāng)“user01”用戶在客戶端上登錄RDWeb站點,就會顯示“我的桌面”圖標(biāo)。點擊該圖標(biāo),就會登錄為其指定的虛擬機上。當(dāng)然,該虛擬機必須事先處于關(guān)機狀態(tài)。