在Windows Server 2008的終端服務(wù)(Terminal Services)中最大的亮點就是整體安全性的提高,作為管理員和用戶最常使用的遠程訪問服務(wù)器之一,這種安全性的提高也并不讓人意外,并且非常受到大家的歡迎。在本文中我們將討論怎樣做才能確保你的終端服務(wù)器(Terminal Server)環(huán)境更加安全。
使用雙重因素驗證
當(dāng)我們在考慮網(wǎng)絡(luò)安全時,我們有必要進行雙重因素驗證。
目前主要有集中不同形式的雙重因素驗證方式,不過最常用的是終端服務(wù)所支持的智能卡(Smart Card)。在使用智能卡時,用戶不僅需要提供有效的登錄憑證,而且他們必須能夠提供智能卡連接到他們用于作為遠程終端的設(shè)備。
為了獲取智能卡驗證,你必須創(chuàng)建一個能夠運用到終端服務(wù)器的組策略對象(Group Policy Object)。在組策略對象中,瀏覽Computer ConfigurationWindows SettingsSecurity SettingsLocal PoliciesSecurity Options,并啟用Interactive Logon: Require Smart Card設(shè)置。此外,你將需要啟用智能卡重新定位到終端服務(wù)器,可以通過在用戶工作組上的遠程桌面連接客戶端的本地資源選項中,勾選智能卡選項。
為所有客戶端執(zhí)行網(wǎng)絡(luò)級別的身份驗證
在過去,在服務(wù)器上部署終端服務(wù)驗證是通過連接服務(wù)器上的會話(session)然后在Windows Server登錄屏幕中輸入登錄憑證。這聽起來似乎非常麻煩,但是從安全的角度來看,能夠啟動session登錄屏幕可能會暴露關(guān)于網(wǎng)絡(luò)的信息(域名,計算機名稱等)或者可能讓服務(wù)器受到拒絕服務(wù)攻擊,這種攻擊主要來自擁有服務(wù)器公用IP地址的人。
網(wǎng)絡(luò)級身份驗證(NLA)是遠程桌面連接客戶端(Remote Desktop Connection Client)6.0版本中新加的功能,該功能可以在向用戶顯示W(wǎng)indows Server登錄界面之前允許用戶輸入他們的登錄憑證。Windows Server 2008使我們能夠利用這項功能并要求所有連接客戶端使用該功能。
要想使用NLA,你必須使用Windows 2008 Server,并且你的連接客戶端必須能夠支持CredSSP(Windows XP SP3、Windows Vista、 Windows 7)以及運行Remote Desktop Connection 6.0或者更高版本的遠程桌面連接。你同樣也可以配置終端服務(wù)器,要求其客戶端在幾個不同位置使用NLA:
在最初的終端服務(wù)角色安裝過程中,當(dāng)終端服務(wù)器屏幕顯示出指定驗證方法時,選擇Allow connections only from computers running Remote Desktop with Network Level Authentication(僅允許運行網(wǎng)絡(luò)級身份驗證的遠程桌面的計算機發(fā)送的連接)選項。
在終端服務(wù)配置MMC管理單元中,右鍵單擊你的客戶端使用的終端服務(wù)器連接,然后選擇屬性,選擇Allow connections only from computers running Remote Desktop with Network Level Authentication選項
創(chuàng)建一個組策略對象,查看Computer ConfigurationAdministrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerSecurity位置,啟用Require user authentication for remote connections by using Network Level Authentication(要求使用網(wǎng)絡(luò)級別的身份驗證進行遠程連接的用戶驗證)設(shè)置。
內(nèi)容導(dǎo)航
更改默認RDP端口
默認情況下,終端服務(wù)器使用的是端口3389來進行RDP通信。而通常情況下,世界上的所有黑客都知道終端服務(wù)器使用的是端口3389進行RDP通信。在這種情況下,提高終端服務(wù)器環(huán)境安全以及抵御黑客攻擊的最快方法就是更改這種默認端口分配設(shè)置。
要想更改終端服務(wù)器的默認RDP端口設(shè)置,打開注冊表,瀏覽:HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsRDP-Tcp,找到PortNumber密鑰并將十六進位值00000D3D(相當(dāng)于端口3389)取代為其他適當(dāng)?shù)氖M位值。
另外,你也可以更改終端服務(wù)器使用的端口號碼(基于每次連接),同樣使用注冊表,瀏覽HKEY_LOCAL_MACHINESystemCurrentControlSetControlTerminal ServerWinStationsconnection name,再次找到PortNumber密鑰然后將十六進位取代為你想要的適當(dāng)?shù)闹怠?/p>
請記住,當(dāng)對服務(wù)器的這些設(shè)置進行更改時,所有的連接客戶端必須確保使用標記到服務(wù)器IP地址上的新端口擴展來連接到終端服務(wù)。舉例來說,使用內(nèi)部IP地址(192.168.0.1)連接到終端服務(wù)器,而現(xiàn)在使用的是非標準端口8888的話,將要求用戶輸入192.168.0.1:8888到遠程桌面連接客戶端。
內(nèi)容導(dǎo)航
使用Easy Print和限制重新定向的打印機
從本地連接到客戶端工作組的設(shè)備中進行打印,一直都是Windows Server2008之前版本中的終端設(shè)備的缺點,為了做到這一點,你必須確保在客戶端和服務(wù)器安全了版本完全相同的打印機驅(qū)動程序,而且即使如此,也不一定總是能正常打印。從安全的角度來看,我們從來都不想在我們的系統(tǒng)上安裝更多的驅(qū)動程序,除非必要情況。安裝在服務(wù)器上的每個驅(qū)動程序都有可能擴大潛在攻擊范圍。
Windows Server2008中新增了被稱為Easy Print(簡易打印)的功能,這從根本上改變了本地連接打印機的處理方式。從本質(zhì)上來說,TS Easy Print是一個驅(qū)動程序,能夠作為代理將所有通過的數(shù)據(jù)進行重新定向。當(dāng)客戶端使用簡易打印驅(qū)動程序從設(shè)備打印時,數(shù)據(jù)和打印設(shè)置都將轉(zhuǎn)換為常用格式發(fā)送給終端服務(wù)器進行處理。在這個過程中,點擊打印后,打印對話框是從客戶端彈出的,而不是從終端會話中彈出的,這意味著不需要在終端服務(wù)器上安裝驅(qū)動程序來處理本地打印設(shè)備的打印工作。
為了配置簡易打印,你需要確保所有的本地連接打印設(shè)備都有邏輯打印機,并在客戶端工作組配置為使用簡易打印驅(qū)動程序。所有運行遠程桌面連接6.1或更高版本以及.NET Framework 3 SP1的所有Windows XP SP3、Vista和Windows 7都支持簡易打印功能。
只要你已經(jīng)在工作組級別配置好本地連接設(shè)備,最好就是確保只有使用TS Easy Print的打印機才能夠被重新定向到終端服務(wù)器,并應(yīng)設(shè)置為默認打印機。想要實現(xiàn)這一點,可以創(chuàng)建一個組策略對象并瀏覽到Computer Configuration Administrative TemplatesWindows ComponentsTerminal ServicesTerminal ServerPrinter Redirection,啟用Redirect only the default client printer(僅對默認客戶端打印機進行重新定向)選項。