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