搭建Windows RDS到網絡的橋梁:設計DMZ
大部分Windows服務器管理員有時候要用到遠程桌面服務(Remote Desktop Service,RDS)。這是因為Windows RDS在遠程交付應用和桌面給用戶時是一個價格實惠的解決方案。它還很容易獲得:只需點擊幾次鼠標,任一臺Windows Server都能變成RDS服務器。
盡管遠程桌面會話主機(Remote Desktop Session Host,RDSH)是RDS的核心,遠程桌面網關(Remote Desktop Gateway,RDG)是一個相同效力的角色服務,它實現了不受信網絡和互聯網上的安全用戶會話。
所以,如果RDG是互聯網啟用Windows RDS應用的實用工具,為什么沒有更多的IT工作站使用它呢?一個障礙在于對RDG整合到DMZ或內部LAN的不同方式缺少了解。復雜的事情是一系列誤解讓RDG看上去比本身更不安全。
不同之處在你的設計中。
將RDG整合到現有DMZ有四種不同的設計,擁有四種中的一種代表著當前行業(yè)的最佳實踐。在每一種設計中,你都可以假設RDG角色服務安裝在一臺獨立的服務器上,這臺服務器單獨用于RDG服務。另外,雖然“互聯網”這個詞用來形容LAN外部的網絡,但是這個詞也代表所有外部不受信任的網絡(例如外網)。
設計一:沒有DMZ。LAN里的RDG。
最常見的RDG設計也是最簡單的。這種設計中不需要DMZ,因為RDG放置在內部LAN里且擁有到RDSH的完全網絡連接。在這種設計中,防火墻端口TCP/443在互聯網和RDG間打開,DNS記錄正確地更新,因此RDG的完全限定域名(FQDN)可以從LAN或互聯網上解析。
雖然這個設計足夠簡單,它并不提供大部分安全策略需要的網絡隔離和保護的類別。例如,大部分安全策略需要來自于互聯網的網絡流量來在進入一個內部LAN前通過一個DMZ服務器代理。這種設計不支持這樣的要求。
設計二:DMZ中的RDG。不曝光內部活動目錄。
為了支持大部分企業(yè)網絡上強制執(zhí)行的代理要求,第二種設計將RDG遷移到DMZ中。由于它的位置,端口TCP/443首先必須在互聯網和RDG間打開,接著是端口TCP/3389要在RGB和內部LAN間打開。
雖然該設計將RDG從內部LAN上隔離,但它這么做是出于內部活動目錄曝光的成本考慮。因為只有遠程桌面協議端口(TCP/3389)在DMZ和內部LAN間打開,運行RDG的服務器必須以工作組模式運作。
注意,只有在Windows Server 2008 R2上才能這樣使用工作組模式。2008 R2之前的操作系統版本需要RDG作為一臺加入域的服務器。還要注意,這種設計,連接的用戶將需要兩組不同的用戶名和密碼。第一組由本地用戶在RDG上管理,而第二組則是他們的內部域證書。
設計三:DMZ中的RDG,曝光內部活動目錄。
要求用戶保存兩組不同的用戶名和密碼是個沉重的負擔,在RDG服務器上維護它們的管理工作本身也是個沉重的負擔。因此,大部分環(huán)境需要遍及整個連接的單點登錄體驗,從遠程設備,貫穿RDG,最終到達RDSH應用。
提供單點登錄體驗的一種方法是使用加入域的RDG服務器。這里的問題是需要將一個Windows域擴展到DMZ的網絡端口范圍太廣。所需的端口數量太大通常是執(zhí)行每三種設計的的限制因素。RDS團隊博客記錄了這些端口。
創(chuàng)建這種設計的過程非常復雜,因此這篇文章讀起來可能有些讓人困惑。但是要知道,下面三種高級選項的任一種都可用來執(zhí)行第三種設計:
第一種選項在RDG與內部域控制器間打開了足夠的網絡端口來維護其域成員。
為了進一步保證這種配置的安全性,第二種選項取代了DMZ中只讀域控制器(Read-Only Domain Controller)的位置。為了維護其域成員,該RODC通過足夠的網絡端口連接到一個內部DC,RDG使用RODC來認證。
第三種選項企圖通過在DMZ中使用獨立的域和域控制器進行進一步隔離,該DMZ參與到與內部域建立信任關系的林中。然后足夠的端口在DMZ DC和一個內部DC間打開,用來支持通過該林信任關系的認證。
設計四:DMZ中的反向代理。LAN中的RDG。
如果第三種選擇看上去像是白費力氣,那么它確實是。它還打開了大部門安全人員會關閉的防火墻端口。這也是為什么第四種選擇對于那些承擔的起的人來說可能是當前行業(yè)中的最佳解決方案的原因。
第四種選擇是在第一種選擇的網絡設計中添加了一個額外組件。這個額外組件是DMZ中反向代理服務器的定位,還有在路由到LAN內部的RDG之前通過代理的網絡流量。這個反向代理服務器可以是微軟的Forefront安全威脅管理網關或者統一訪問網關,或者支持RDG整合的任意第三方反向代理解決方案排列。
作為反向代理,這些解決方案中的任一種都能作為SSL橋接設備運作,用來在互聯網和內部LAN間的HTTPS請求上接收和傳遞。網絡數據包在反向代理上終止,檢查惡意代碼,并在發(fā)送到內部服務器之前重建。這個過程啟用了內部LAN里加入域的RDG來認證并進一步代理使用內部域證書的用戶會話。這就是SSO。
一個沒那么復雜的RDG
當應用程序需要互聯網曝光時,RDG的確是非常有用。一個穩(wěn)固的解決方案只執(zhí)行一個簡單的功能且大獲成功,這個內置于Windows Server 2008 R2中的小角色服務可能會是一個聰明的方法。
你所需要的是正確的設計。
【編輯推薦】