引言:在企業網絡核心的主站點中,管理人員往往對網絡安全性非常重視。但在分支機構(尤其是網絡末梢)中,往往對網絡安全比較淡漠,存在這樣或者那樣的漏洞。一旦黑客對其發起攻擊,就很容易入侵得手。如果分支機構中的DC等關鍵節點被黑客控制,就會針對核心站點的安全構成潛在的威脅。因此,強化分支機構的安全性,是不容忽視的問題。
對于規模稍大的企業來說,隨著公司業務的發展,會在各地開設分支機構。因此其對應的企業的網絡結構也會隨著擴展。在企業總部設置域的主站點,在個分支機構設置分支站點,從而形成一個規模較大的域網絡環境。在企業網絡核心的主站點中,管理人員往往對網絡安全性非常重視,會采取各種安全措施,組建嚴密的安全防御體系來加以應對,讓黑客無機可乘。
但是,在分支機構(尤其是網絡末梢)中,往往對網絡安全的防范意識比較淡漠,存在著各種各樣的漏洞。一旦有不懷好意者發現并對其發起攻擊,就會很容易入侵得手。如果公司分支機構中的DC等關鍵節點被黑客控制的話,就會針對核心站點的安全構成潛在的威脅。因此,強化分支機構的網絡安全性,保證分支機構的網絡不被惡意破壞,是不容忽視的問題。
我們可以采取各種方法來提高分支機構的安全性。例如,可以通過為分支機構配置只讀域控制器(RODC,以下均簡稱為RODC)的方法,來有效的提高其抗風險等級。對于RODC來說,其只能在域中尋找正常的具有可讀可寫功能的DC(必須是Windows 2008及其以上版本)進行活動目錄數據的復制,而在RODC之間是無法相互復制數據的。RODC不能承擔任何操作主機的角色,因為操作主機必須擁有寫權限,因而不能使用“ntdsutil”命令來為RODC創建完整的活動目錄數據庫快照。
除了本地的賬戶和特定的組之外,RODC在默認的情況下是不保存賬戶密碼的,也就是說RODC并不具備身份驗證功能。使用RDOC的主要目的在于能夠讓分支機構的用戶用盡可能少的密碼登錄域環境,讓域中的重要用戶信息不要暴露在網絡末梢或者邊緣,從而盡可能多地保護網絡核心的安全。當然,域管理員也可以手動將對應的分支機構相關的賬戶和密碼信息傳送給RODC,讓該分支機構中的用戶可以在RODC上進行身份驗證。
這里使用一個簡單的例子,來說明如何使用RODC來保護網絡末梢的安全。例如,在某企業的網絡環境中,在總部所在的站點內存在一臺可讀可寫的DC,其IP假設為172.10.0.10。在某外地分支機構站點中存在一臺RODC,其名稱可假設為“fzdc”,IP 為 192.168.0.10。在兩臺DC安裝的都是Windows Server 2012,站點之間通過專用的鏈路連接,該分支機構員工可以通過該RODC登錄到域環境中,執行各種訪問操作。以域管理員身份登錄企業總部的DC,點擊“Windows+R”組合鍵,執行“dssite.msc”程序,在Active Directory站點和服務窗口左側依次選 擇“Sites”、“Default”、“First”、“Site” 以 及“Name”選項,并將其更名為“CenterDC”。 在“Sites”節點的右鍵菜單上依次點擊“新建”以及“站點”選項,在新建對象窗口中輸入新站點的名稱(例如為“Branch”),選擇默認的站點鏈接對象,然后點擊“確定”按鈕創建新站點。

圖1 創建站點子網
選 擇“Sites”、“Subnets”選項,在其右鍵菜單上點擊“新建”、“子網”選項,在新建對象窗口(如圖1所示)中的“前綴”欄中輸入總部DC所在的網段,例如 172.10.0.0/16。 在“為此前綴選擇站點對象”欄中選擇“Center”選項,點擊“確定”按鈕,完成該子網的創建。按照同樣的方法,針對“Branch”站點創建子網,其網段為192.168.0.0/16。為了便于管理,并依 次 選 擇“Sites”、“Inter”以 及“Site Transports”選 項,在 右 側 選 擇“DEFAULTIPSITELINK”選項,并將其更名為“CentertoBranch”。 當 站點創建完畢后,執行“dsa.msc”程序,在活動目錄和計算機窗口新建一個名為“RODCGL”的OU,在 該OU中創建名為“ROadmin”的組,在該組中添加所需的 賬 戶(例 如“rdocuser1”等)。為了便于分支機構用戶登錄,可以創建名為“branchyh”的 OU,在其中創建一些賬戶(例如“user1”,“user2”等,但要注意這些賬戶的密碼應當設為永不過期),并提供給分支機構使用。
在左側選擇“Domain Controllers”選項,在其右鍵菜單上點擊“預創建只讀域控制器賬戶”選項,在向導窗口中點擊“下一步”按鈕,在指定的計算機名窗口中在“計算機名”欄中輸入目標主機名稱。注意,該機將作為RODC來使用。當檢測到擁有該名稱的主機添加到域中,同時其安裝的是服務器操作系統,擁有了活動目錄域服務角色,而且執行提升為域控操作的話,會強制將其設置為RODC主機。點擊“下一步”按鈕,對該計算機名進行驗證處理,檢測在域中是否存在與之同名的主機。在“請選擇一個站點”窗口中列出之前規劃的所有站點,選擇“Branch”站點,點擊“下一步”按鈕,在用于RODC安裝和管理的委派窗口中點擊“設置”按鈕,導入上述“ROadmin”組。其余參數均保持默認,點擊“完成”按鈕,完成RODC的預規劃操作。
在CMD窗口中執行“ntdsutil” 命 令, 在“ntdsutil:”提示符下執行“Activate Instance ntds”命令,激活活動目錄數據庫。執行“ifm”命令,在IFM媒體創建提示符下執行“create RODC f:db”命令,對活動目錄數據庫拍攝專用快照(如圖2所示),將其中盡可能少的信息導出為獨立的文件,并提供給RODC使用。這樣的主要目的主要就是避免讓RODC接觸到域中的重要數據。執行“gpmc.msc”程序,在組策略窗口左側選擇域名,在“Default Domain Policy”選項的右鍵菜單上點擊“編輯”選項,在編輯界面中依次選擇“計算 機 配 置”、“Windows設置”、“安全設置”、“本地策略”以及“安全選項”分支,在右側雙擊“交互式登錄:之前登錄到緩存的次數(域控制器不可用時)”選項,在其屬性窗口中選擇“定義此策略設置”選項,在“不要緩存登錄次數”欄將其修改為“0”。這樣,當客戶端離開域環境后,禁止利用緩存的數據進行登錄。也就是說每次進行登錄時,必須尋找DC進行身份驗證。

圖2 為活動目錄數據庫創建RODC快照
將導出的文件傳送到上述分支的名為“fzdc”的主機上,以本地管理員身份登錄該機,在服務器管理器中點擊“添加角色和功能”選項,在向導窗口中選擇“Active Directory域服務”角色,點擊“完成”按鈕,安裝該角色。安裝完成后,點擊“將此服務器提升為域控制器”鏈接,在部署配置向導中選擇“將域控制器添加到現有域”選項,在“域”欄中輸入“xxx.cn”,其中的“xxx.cn”表示域名。點擊“更改”按鈕,在Windows安全窗口中輸入“xxx.cn docuser1”賬 戶名及其密碼,點擊“確定”按鈕,表示使用該賬戶向現有域中添加DC。這里并沒有使用域管理員賬戶,而是使用了上述創建的普通賬戶,主要的目的還是為了突出安全性。
此刻,在總部的DC上打 開“Active Directory用戶和計算機”窗口,選擇“Domain Controllers”選項,在右側可以顯示“fzdc”主機名,在“DC類型”列中顯示為“未占用的DC賬戶(只讀,GC)”。點擊“下一步”按鈕,可以選擇“使用現有RODC賬戶”選項,這樣“只讀域控制器(RODC)”已經處于自動選擇狀態,并且站點名稱顯示為分支機構所有,說明上述預先配置在這里發揮了作用。在“鍵入目錄服務還原模式(DSRM)密碼”欄中輸入用于恢復操作的密碼。點擊“下一步”按鈕,在其他選項窗口中選擇“從介質安裝”選項,點擊“瀏覽”按鈕,選擇上述導出的活動目錄數據庫快照文件。點擊“驗證”按鈕,可以對其進行校驗。在“指定其他復制選項”列表中選擇“任何域控制器”選項。其余參數均保持默認值,點擊“完成”按鈕,最終就可以將該機設置為RODC主機。
從以上操作可以看到RODC的一些安全特性。例如,在分支機構登錄DC主機時,使用的本地的Administrator賬 戶,并沒有使用權利很高的域賬戶(例如域管理員等)。在創建RODC主機時,使用的只是活動目錄數據庫中的一部分數據,而且在RODC上沒有包含任何賬戶密碼(包括計算機賬戶密碼)。這樣,即使黑客通過各種方法,控制了RODC主機,其也無法得到什么有價值的數據,對于核心網絡是無法形成任何威脅的。使用Domain Users組中的賬戶就可以操作RODC,說明其操作權限是極低的。對于分支機構的人員來說,只能使用普通域賬戶的身份來管理RODC。操作者只能從RODC上讀取與活動目錄相關的數據,卻無法對其完成寫入數據的操作。
由于RODC主要承擔了身份驗證的功能,當分支機構中的某臺客戶機(應當注意的是其DNS地址必須是指向RODC的)加入到“xxx.cn”域環境中,并以之前預先創建的“user1”名稱之類的賬戶登錄,然后在命令提示符窗口中執行“set”命 令,在 其 中 的“LOGONSERVER”一欄中會顯示公司總部的DC名稱。由此可以看出,RODC只是將客戶端所提交的賬戶名等信息轉發給了總部的DC,并經其驗證通過之后,然后客戶端才可以進入域環境。當然,這樣的配置雖然可以正常運作,不過其安全性方面依然存在著一些問題,而且RODC在此情況下其實沒有發揮什么具體的作用,例如,一旦總部和分支機構之間的鏈路出現了某種問題,分支機構的用戶就無法登錄到域環境中去了。

圖3 查看RODC密碼復制組屬性
為了充分發揮RODC的作用,應該讓其存儲分支機構的賬戶名和密碼等信息,承擔起針對本分支機構的身份驗證操作。實際上,當用戶在登錄域環境時,會提交兩個密碼,即賬戶密碼和計算機密碼。在總部DC上打開“Active Directory用 戶和計算機”窗口,在左側選擇“Users”選項,在右側雙擊“Allow RODC Password Replication Group”組,在其屬性窗口(如圖3所示)中的“成員”面板中點擊“添加”按鈕,將目標分支機構中的用戶添加進來。例如添加“user1”賬戶,對應的還需要添加其使用的計算機賬戶,方法是在選擇用戶窗口中點擊“對象類型”按鈕,在彈出窗口中只選擇“計算機”選項。在“輸入對象名來選擇”欄中輸入分支機構中的對應的計算機名稱(例如“User1”賬戶使用的名為“Windows 7Client1”),并將其添加進來。
按照同樣的方法,將各賬戶及其使用的計算機全部添加進來。在左側選擇“Domain Controllers”選項,在右側選擇“fzdc”主機名,在其屬性窗口中的“密碼復制策略”面板中可以執行密碼復制操作,即允許將指定的賬戶和密碼等信息復制到分支機構的RODC中,為了保證安全,所有權限較高的用戶和組是禁止復制的。點擊“高級”按鈕,在打開窗口中的“結果策略”面板中點擊“添加”按鈕,在選擇用戶或計算機窗口中輸入對應的賬戶名及其使用的計算機名稱,例 如“user1;Windows 7Client1”等。點擊“確定”按鈕,將其添加到策略列表中。并在“策略使用率”面板中點擊“預設密碼”按鈕,再次輸入對應的賬戶名及其使用的計算機名稱,例如之 前 的“user1;Windows 7Client1”等。執行“確定”操作后,就可以將指定的賬戶和密碼信息傳送給分支機構的RODC了。
我們還可以充分發揮RODC的安全方面的功能,由于在默認的情況下,站點之間的復制的時間間隔為180分鐘。為了加快復制速度,可以在“Active Directory站點和服務”窗口 中 依 次 選 擇“Sites”、“Branch”、“Servers”、“總 部的DC名稱”以及“NTDS Setting”選項,在右側的“RODC Connection”選項的右鍵菜單上點擊“立即復制”選項,就可以讓上述復制操作立即執行。為了保證操作地順利進行,可以執行“services.msc”程序,并在服務管理器中重啟名為“Active Directory Domain Services”的服務。這樣,在分支機構中的RODC上就存儲了該機構中所有用戶以及計算機的賬戶和密碼信息。當分支機構中的客戶端登錄時,就可以在RODC上執行身份驗證操作,如果驗證通過,該用戶就可以登錄到域環境中。而對于企業總部的網絡管理員來說,可以在上述在“策略使用率”的面板中的“顯示滿足下列條件的用戶和計算機”列表中選擇“已通過此只讀控制器身份驗證的賬戶”選項,這樣就可以在“用戶和計算機”的列表中顯示在該RODC上曾經登錄過的所有賬戶的信息。
如果網絡管理員在操作過程中發現有較高級別賬戶的登錄痕跡,就應該引起管理員的足夠警惕,因為這很有可能是黑客已經突破了安全防線,甚至盜取了重要用戶的密碼的緣故。如果黑客通過各種手段,控制了分支機構的RODC,為了防止其可能帶來的安全威脅,域管理員可以在Active Directory用戶和計算機窗口左側選擇“Domain Controllers”選 項,在 右側選擇目標分支機構中的RODC,在其右鍵菜單上點擊“刪除”選項,在彈出的警告窗口中點擊“確定”按鈕,在刪除域控制器窗口中選擇“重置此只讀控制器上緩存的用戶賬戶和所有密碼”和“重置此只讀域控制器上緩存的計算機賬戶的所有密碼”選項,點擊“刪除”按鈕,就可以將傳送到該RODC上的所有賬戶和計算機密碼進行隨機更改,并且使其丟失和主域控之間的信任關系。這樣,該分支機構中的任何用戶均無法正常訪問域環境。