引言:在企業(yè)網(wǎng)絡(luò)核心的主站點(diǎn)中,管理人員往往對(duì)網(wǎng)絡(luò)安全性非常重視。但在分支機(jī)構(gòu)(尤其是網(wǎng)絡(luò)末梢)中,往往對(duì)網(wǎng)絡(luò)安全比較淡漠,存在這樣或者那樣的漏洞。一旦黑客對(duì)其發(fā)起攻擊,就很容易入侵得手。如果分支機(jī)構(gòu)中的DC等關(guān)鍵節(jié)點(diǎn)被黑客控制,就會(huì)針對(duì)核心站點(diǎn)的安全構(gòu)成潛在的威脅。因此,強(qiáng)化分支機(jī)構(gòu)的安全性,是不容忽視的問(wèn)題。
對(duì)于規(guī)模稍大的企業(yè)來(lái)說(shuō),隨著公司業(yè)務(wù)的發(fā)展,會(huì)在各地開(kāi)設(shè)分支機(jī)構(gòu)。因此其對(duì)應(yīng)的企業(yè)的網(wǎng)絡(luò)結(jié)構(gòu)也會(huì)隨著擴(kuò)展。在企業(yè)總部設(shè)置域的主站點(diǎn),在個(gè)分支機(jī)構(gòu)設(shè)置分支站點(diǎn),從而形成一個(gè)規(guī)模較大的域網(wǎng)絡(luò)環(huán)境。在企業(yè)網(wǎng)絡(luò)核心的主站點(diǎn)中,管理人員往往對(duì)網(wǎng)絡(luò)安全性非常重視,會(huì)采取各種安全措施,組建嚴(yán)密的安全防御體系來(lái)加以應(yīng)對(duì),讓黑客無(wú)機(jī)可乘。
但是,在分支機(jī)構(gòu)(尤其是網(wǎng)絡(luò)末梢)中,往往對(duì)網(wǎng)絡(luò)安全的防范意識(shí)比較淡漠,存在著各種各樣的漏洞。一旦有不懷好意者發(fā)現(xiàn)并對(duì)其發(fā)起攻擊,就會(huì)很容易入侵得手。如果公司分支機(jī)構(gòu)中的DC等關(guān)鍵節(jié)點(diǎn)被黑客控制的話,就會(huì)針對(duì)核心站點(diǎn)的安全構(gòu)成潛在的威脅。因此,強(qiáng)化分支機(jī)構(gòu)的網(wǎng)絡(luò)安全性,保證分支機(jī)構(gòu)的網(wǎng)絡(luò)不被惡意破壞,是不容忽視的問(wèn)題。
我們可以采取各種方法來(lái)提高分支機(jī)構(gòu)的安全性。例如,可以通過(guò)為分支機(jī)構(gòu)配置只讀域控制器(RODC,以下均簡(jiǎn)稱為RODC)的方法,來(lái)有效的提高其抗風(fēng)險(xiǎn)等級(jí)。對(duì)于RODC來(lái)說(shuō),其只能在域中尋找正常的具有可讀可寫功能的DC(必須是Windows 2008及其以上版本)進(jìn)行活動(dòng)目錄數(shù)據(jù)的復(fù)制,而在RODC之間是無(wú)法相互復(fù)制數(shù)據(jù)的。RODC不能承擔(dān)任何操作主機(jī)的角色,因?yàn)椴僮髦鳈C(jī)必須擁有寫權(quán)限,因而不能使用“ntdsutil”命令來(lái)為RODC創(chuàng)建完整的活動(dòng)目錄數(shù)據(jù)庫(kù)快照。
除了本地的賬戶和特定的組之外,RODC在默認(rèn)的情況下是不保存賬戶密碼的,也就是說(shuō)RODC并不具備身份驗(yàn)證功能。使用RDOC的主要目的在于能夠讓分支機(jī)構(gòu)的用戶用盡可能少的密碼登錄域環(huán)境,讓域中的重要用戶信息不要暴露在網(wǎng)絡(luò)末梢或者邊緣,從而盡可能多地保護(hù)網(wǎng)絡(luò)核心的安全。當(dāng)然,域管理員也可以手動(dòng)將對(duì)應(yīng)的分支機(jī)構(gòu)相關(guān)的賬戶和密碼信息傳送給RODC,讓該分支機(jī)構(gòu)中的用戶可以在RODC上進(jìn)行身份驗(yàn)證。
這里使用一個(gè)簡(jiǎn)單的例子,來(lái)說(shuō)明如何使用RODC來(lái)保護(hù)網(wǎng)絡(luò)末梢的安全。例如,在某企業(yè)的網(wǎng)絡(luò)環(huán)境中,在總部所在的站點(diǎn)內(nèi)存在一臺(tái)可讀可寫的DC,其IP假設(shè)為172.10.0.10。在某外地分支機(jī)構(gòu)站點(diǎn)中存在一臺(tái)RODC,其名稱可假設(shè)為“fzdc”,IP 為 192.168.0.10。在兩臺(tái)DC安裝的都是Windows Server 2012,站點(diǎn)之間通過(guò)專用的鏈路連接,該分支機(jī)構(gòu)員工可以通過(guò)該RODC登錄到域環(huán)境中,執(zhí)行各種訪問(wèn)操作。以域管理員身份登錄企業(yè)總部的DC,點(diǎn)擊“Windows+R”組合鍵,執(zhí)行“dssite.msc”程序,在Active Directory站點(diǎn)和服務(wù)窗口左側(cè)依次選 擇“Sites”、“Default”、“First”、“Site” 以 及“Name”選項(xiàng),并將其更名為“CenterDC”。 在“Sites”節(jié)點(diǎn)的右鍵菜單上依次點(diǎn)擊“新建”以及“站點(diǎn)”選項(xiàng),在新建對(duì)象窗口中輸入新站點(diǎn)的名稱(例如為“Branch”),選擇默認(rèn)的站點(diǎn)鏈接對(duì)象,然后點(diǎn)擊“確定”按鈕創(chuàng)建新站點(diǎn)。
圖1 創(chuàng)建站點(diǎn)子網(wǎng)
選 擇“Sites”、“Subnets”選項(xiàng),在其右鍵菜單上點(diǎn)擊“新建”、“子網(wǎng)”選項(xiàng),在新建對(duì)象窗口(如圖1所示)中的“前綴”欄中輸入總部DC所在的網(wǎng)段,例如 172.10.0.0/16。 在“為此前綴選擇站點(diǎn)對(duì)象”欄中選擇“Center”選項(xiàng),點(diǎn)擊“確定”按鈕,完成該子網(wǎng)的創(chuàng)建。按照同樣的方法,針對(duì)“Branch”站點(diǎn)創(chuàng)建子網(wǎng),其網(wǎng)段為192.168.0.0/16。為了便于管理,并依 次 選 擇“Sites”、“Inter”以 及“Site Transports”選 項(xiàng),在 右 側(cè) 選 擇“DEFAULTIPSITELINK”選項(xiàng),并將其更名為“CentertoBranch”。 當(dāng) 站點(diǎn)創(chuàng)建完畢后,執(zhí)行“dsa.msc”程序,在活動(dòng)目錄和計(jì)算機(jī)窗口新建一個(gè)名為“RODCGL”的OU,在 該OU中創(chuàng)建名為“ROadmin”的組,在該組中添加所需的 賬 戶(例 如“rdocuser1”等)。為了便于分支機(jī)構(gòu)用戶登錄,可以創(chuàng)建名為“branchyh”的 OU,在其中創(chuàng)建一些賬戶(例如“user1”,“user2”等,但要注意這些賬戶的密碼應(yīng)當(dāng)設(shè)為永不過(guò)期),并提供給分支機(jī)構(gòu)使用。
在左側(cè)選擇“Domain Controllers”選項(xiàng),在其右鍵菜單上點(diǎn)擊“預(yù)創(chuàng)建只讀域控制器賬戶”選項(xiàng),在向?qū)Т翱谥悬c(diǎn)擊“下一步”按鈕,在指定的計(jì)算機(jī)名窗口中在“計(jì)算機(jī)名”欄中輸入目標(biāo)主機(jī)名稱。注意,該機(jī)將作為RODC來(lái)使用。當(dāng)檢測(cè)到擁有該名稱的主機(jī)添加到域中,同時(shí)其安裝的是服務(wù)器操作系統(tǒng),擁有了活動(dòng)目錄域服務(wù)角色,而且執(zhí)行提升為域控操作的話,會(huì)強(qiáng)制將其設(shè)置為RODC主機(jī)。點(diǎn)擊“下一步”按鈕,對(duì)該計(jì)算機(jī)名進(jìn)行驗(yàn)證處理,檢測(cè)在域中是否存在與之同名的主機(jī)。在“請(qǐng)選擇一個(gè)站點(diǎn)”窗口中列出之前規(guī)劃的所有站點(diǎn),選擇“Branch”站點(diǎn),點(diǎn)擊“下一步”按鈕,在用于RODC安裝和管理的委派窗口中點(diǎn)擊“設(shè)置”按鈕,導(dǎo)入上述“ROadmin”組。其余參數(shù)均保持默認(rèn),點(diǎn)擊“完成”按鈕,完成RODC的預(yù)規(guī)劃操作。
在CMD窗口中執(zhí)行“ntdsutil” 命 令, 在“ntdsutil:”提示符下執(zhí)行“Activate Instance ntds”命令,激活活動(dòng)目錄數(shù)據(jù)庫(kù)。執(zhí)行“ifm”命令,在IFM媒體創(chuàng)建提示符下執(zhí)行“create RODC f:db”命令,對(duì)活動(dòng)目錄數(shù)據(jù)庫(kù)拍攝專用快照(如圖2所示),將其中盡可能少的信息導(dǎo)出為獨(dú)立的文件,并提供給RODC使用。這樣的主要目的主要就是避免讓RODC接觸到域中的重要數(shù)據(jù)。執(zhí)行“gpmc.msc”程序,在組策略窗口左側(cè)選擇域名,在“Default Domain Policy”選項(xiàng)的右鍵菜單上點(diǎn)擊“編輯”選項(xiàng),在編輯界面中依次選擇“計(jì)算 機(jī) 配 置”、“Windows設(shè)置”、“安全設(shè)置”、“本地策略”以及“安全選項(xiàng)”分支,在右側(cè)雙擊“交互式登錄:之前登錄到緩存的次數(shù)(域控制器不可用時(shí))”選項(xiàng),在其屬性窗口中選擇“定義此策略設(shè)置”選項(xiàng),在“不要緩存登錄次數(shù)”欄將其修改為“0”。這樣,當(dāng)客戶端離開(kāi)域環(huán)境后,禁止利用緩存的數(shù)據(jù)進(jìn)行登錄。也就是說(shuō)每次進(jìn)行登錄時(shí),必須尋找DC進(jìn)行身份驗(yàn)證。
圖2 為活動(dòng)目錄數(shù)據(jù)庫(kù)創(chuàng)建RODC快照
將導(dǎo)出的文件傳送到上述分支的名為“fzdc”的主機(jī)上,以本地管理員身份登錄該機(jī),在服務(wù)器管理器中點(diǎn)擊“添加角色和功能”選項(xiàng),在向?qū)Т翱谥羞x擇“Active Directory域服務(wù)”角色,點(diǎn)擊“完成”按鈕,安裝該角色。安裝完成后,點(diǎn)擊“將此服務(wù)器提升為域控制器”鏈接,在部署配置向?qū)е羞x擇“將域控制器添加到現(xiàn)有域”選項(xiàng),在“域”欄中輸入“xxx.cn”,其中的“xxx.cn”表示域名。點(diǎn)擊“更改”按鈕,在Windows安全窗口中輸入“xxx.cn docuser1”賬 戶名及其密碼,點(diǎn)擊“確定”按鈕,表示使用該賬戶向現(xiàn)有域中添加DC。這里并沒(méi)有使用域管理員賬戶,而是使用了上述創(chuàng)建的普通賬戶,主要的目的還是為了突出安全性。
此刻,在總部的DC上打 開(kāi)“Active Directory用戶和計(jì)算機(jī)”窗口,選擇“Domain Controllers”選項(xiàng),在右側(cè)可以顯示“fzdc”主機(jī)名,在“DC類型”列中顯示為“未占用的DC賬戶(只讀,GC)”。點(diǎn)擊“下一步”按鈕,可以選擇“使用現(xiàn)有RODC賬戶”選項(xiàng),這樣“只讀域控制器(RODC)”已經(jīng)處于自動(dòng)選擇狀態(tài),并且站點(diǎn)名稱顯示為分支機(jī)構(gòu)所有,說(shuō)明上述預(yù)先配置在這里發(fā)揮了作用。在“鍵入目錄服務(wù)還原模式(DSRM)密碼”欄中輸入用于恢復(fù)操作的密碼。點(diǎn)擊“下一步”按鈕,在其他選項(xiàng)窗口中選擇“從介質(zhì)安裝”選項(xiàng),點(diǎn)擊“瀏覽”按鈕,選擇上述導(dǎo)出的活動(dòng)目錄數(shù)據(jù)庫(kù)快照文件。點(diǎn)擊“驗(yàn)證”按鈕,可以對(duì)其進(jìn)行校驗(yàn)。在“指定其他復(fù)制選項(xiàng)”列表中選擇“任何域控制器”選項(xiàng)。其余參數(shù)均保持默認(rèn)值,點(diǎn)擊“完成”按鈕,最終就可以將該機(jī)設(shè)置為RODC主機(jī)。
從以上操作可以看到RODC的一些安全特性。例如,在分支機(jī)構(gòu)登錄DC主機(jī)時(shí),使用的本地的Administrator賬 戶,并沒(méi)有使用權(quán)利很高的域賬戶(例如域管理員等)。在創(chuàng)建RODC主機(jī)時(shí),使用的只是活動(dòng)目錄數(shù)據(jù)庫(kù)中的一部分?jǐn)?shù)據(jù),而且在RODC上沒(méi)有包含任何賬戶密碼(包括計(jì)算機(jī)賬戶密碼)。這樣,即使黑客通過(guò)各種方法,控制了RODC主機(jī),其也無(wú)法得到什么有價(jià)值的數(shù)據(jù),對(duì)于核心網(wǎng)絡(luò)是無(wú)法形成任何威脅的。使用Domain Users組中的賬戶就可以操作RODC,說(shuō)明其操作權(quán)限是極低的。對(duì)于分支機(jī)構(gòu)的人員來(lái)說(shuō),只能使用普通域賬戶的身份來(lái)管理RODC。操作者只能從RODC上讀取與活動(dòng)目錄相關(guān)的數(shù)據(jù),卻無(wú)法對(duì)其完成寫入數(shù)據(jù)的操作。
由于RODC主要承擔(dān)了身份驗(yàn)證的功能,當(dāng)分支機(jī)構(gòu)中的某臺(tái)客戶機(jī)(應(yīng)當(dāng)注意的是其DNS地址必須是指向RODC的)加入到“xxx.cn”域環(huán)境中,并以之前預(yù)先創(chuàng)建的“user1”名稱之類的賬戶登錄,然后在命令提示符窗口中執(zhí)行“set”命 令,在 其 中 的“LOGONSERVER”一欄中會(huì)顯示公司總部的DC名稱。由此可以看出,RODC只是將客戶端所提交的賬戶名等信息轉(zhuǎn)發(fā)給了總部的DC,并經(jīng)其驗(yàn)證通過(guò)之后,然后客戶端才可以進(jìn)入域環(huán)境。當(dāng)然,這樣的配置雖然可以正常運(yùn)作,不過(guò)其安全性方面依然存在著一些問(wèn)題,而且RODC在此情況下其實(shí)沒(méi)有發(fā)揮什么具體的作用,例如,一旦總部和分支機(jī)構(gòu)之間的鏈路出現(xiàn)了某種問(wèn)題,分支機(jī)構(gòu)的用戶就無(wú)法登錄到域環(huán)境中去了。
圖3 查看RODC密碼復(fù)制組屬性
為了充分發(fā)揮RODC的作用,應(yīng)該讓其存儲(chǔ)分支機(jī)構(gòu)的賬戶名和密碼等信息,承擔(dān)起針對(duì)本分支機(jī)構(gòu)的身份驗(yàn)證操作。實(shí)際上,當(dāng)用戶在登錄域環(huán)境時(shí),會(huì)提交兩個(gè)密碼,即賬戶密碼和計(jì)算機(jī)密碼。在總部DC上打開(kāi)“Active Directory用 戶和計(jì)算機(jī)”窗口,在左側(cè)選擇“Users”選項(xiàng),在右側(cè)雙擊“Allow RODC Password Replication Group”組,在其屬性窗口(如圖3所示)中的“成員”面板中點(diǎn)擊“添加”按鈕,將目標(biāo)分支機(jī)構(gòu)中的用戶添加進(jìn)來(lái)。例如添加“user1”賬戶,對(duì)應(yīng)的還需要添加其使用的計(jì)算機(jī)賬戶,方法是在選擇用戶窗口中點(diǎn)擊“對(duì)象類型”按鈕,在彈出窗口中只選擇“計(jì)算機(jī)”選項(xiàng)。在“輸入對(duì)象名來(lái)選擇”欄中輸入分支機(jī)構(gòu)中的對(duì)應(yīng)的計(jì)算機(jī)名稱(例如“User1”賬戶使用的名為“Windows 7Client1”),并將其添加進(jìn)來(lái)。
按照同樣的方法,將各賬戶及其使用的計(jì)算機(jī)全部添加進(jìn)來(lái)。在左側(cè)選擇“Domain Controllers”選項(xiàng),在右側(cè)選擇“fzdc”主機(jī)名,在其屬性窗口中的“密碼復(fù)制策略”面板中可以執(zhí)行密碼復(fù)制操作,即允許將指定的賬戶和密碼等信息復(fù)制到分支機(jī)構(gòu)的RODC中,為了保證安全,所有權(quán)限較高的用戶和組是禁止復(fù)制的。點(diǎn)擊“高級(jí)”按鈕,在打開(kāi)窗口中的“結(jié)果策略”面板中點(diǎn)擊“添加”按鈕,在選擇用戶或計(jì)算機(jī)窗口中輸入對(duì)應(yīng)的賬戶名及其使用的計(jì)算機(jī)名稱,例 如“user1;Windows 7Client1”等。點(diǎn)擊“確定”按鈕,將其添加到策略列表中。并在“策略使用率”面板中點(diǎn)擊“預(yù)設(shè)密碼”按鈕,再次輸入對(duì)應(yīng)的賬戶名及其使用的計(jì)算機(jī)名稱,例如之 前 的“user1;Windows 7Client1”等。執(zhí)行“確定”操作后,就可以將指定的賬戶和密碼信息傳送給分支機(jī)構(gòu)的RODC了。
我們還可以充分發(fā)揮RODC的安全方面的功能,由于在默認(rèn)的情況下,站點(diǎn)之間的復(fù)制的時(shí)間間隔為180分鐘。為了加快復(fù)制速度,可以在“Active Directory站點(diǎn)和服務(wù)”窗口 中 依 次 選 擇“Sites”、“Branch”、“Servers”、“總 部的DC名稱”以及“NTDS Setting”選項(xiàng),在右側(cè)的“RODC Connection”選項(xiàng)的右鍵菜單上點(diǎn)擊“立即復(fù)制”選項(xiàng),就可以讓上述復(fù)制操作立即執(zhí)行。為了保證操作地順利進(jìn)行,可以執(zhí)行“services.msc”程序,并在服務(wù)管理器中重啟名為“Active Directory Domain Services”的服務(wù)。這樣,在分支機(jī)構(gòu)中的RODC上就存儲(chǔ)了該機(jī)構(gòu)中所有用戶以及計(jì)算機(jī)的賬戶和密碼信息。當(dāng)分支機(jī)構(gòu)中的客戶端登錄時(shí),就可以在RODC上執(zhí)行身份驗(yàn)證操作,如果驗(yàn)證通過(guò),該用戶就可以登錄到域環(huán)境中。而對(duì)于企業(yè)總部的網(wǎng)絡(luò)管理員來(lái)說(shuō),可以在上述在“策略使用率”的面板中的“顯示滿足下列條件的用戶和計(jì)算機(jī)”列表中選擇“已通過(guò)此只讀控制器身份驗(yàn)證的賬戶”選項(xiàng),這樣就可以在“用戶和計(jì)算機(jī)”的列表中顯示在該RODC上曾經(jīng)登錄過(guò)的所有賬戶的信息。
如果網(wǎng)絡(luò)管理員在操作過(guò)程中發(fā)現(xiàn)有較高級(jí)別賬戶的登錄痕跡,就應(yīng)該引起管理員的足夠警惕,因?yàn)檫@很有可能是黑客已經(jīng)突破了安全防線,甚至盜取了重要用戶的密碼的緣故。如果黑客通過(guò)各種手段,控制了分支機(jī)構(gòu)的RODC,為了防止其可能帶來(lái)的安全威脅,域管理員可以在Active Directory用戶和計(jì)算機(jī)窗口左側(cè)選擇“Domain Controllers”選 項(xiàng),在 右側(cè)選擇目標(biāo)分支機(jī)構(gòu)中的RODC,在其右鍵菜單上點(diǎn)擊“刪除”選項(xiàng),在彈出的警告窗口中點(diǎn)擊“確定”按鈕,在刪除域控制器窗口中選擇“重置此只讀控制器上緩存的用戶賬戶和所有密碼”和“重置此只讀域控制器上緩存的計(jì)算機(jī)賬戶的所有密碼”選項(xiàng),點(diǎn)擊“刪除”按鈕,就可以將傳送到該RODC上的所有賬戶和計(jì)算機(jī)密碼進(jìn)行隨機(jī)更改,并且使其丟失和主域控之間的信任關(guān)系。這樣,該分支機(jī)構(gòu)中的任何用戶均無(wú)法正常訪問(wèn)域環(huán)境。