在Windows網絡環境中,域是核心。其實域的概念,從NT時代就開始提出,並不斷得到完善。在2008的服務器環境中,可以說已經相當的完美。可惜的是,不少系統管理員在設計域結構時,由於種種原因存在一些比較典型的誤區。筆者在這裡做一些總結,希望各位讀者有者改之、無則加勉。
誤區一:混淆功能級別無法發揮最大的效能。
在Windows2008服務器環境中,與2003一樣,也采取了功能級別的設計。采取功能級別,主要是為了確保與傳統域版本向後的兼容性。在新的網絡環境中,2008也有它自己的功能級別以用來維護兼容性。
現在2008支持如下幾種功能級別。2000本地功能級別(允許控制器采用2008、2003和2000SP3的版本,注意如果是2000的域控制器, 要打上SP3的補丁)、2003功能級別(允許2003和2008的域控制器共存,並將額外的功能添加到森林中包括可傳遞信任能力)、2008功能級別 (所有的域控制器所采用的服務器版本必須為2008)。可見這個功能級別,主要是針對域控制器而言,而跟其他的服務器或者客戶端的版本無關。在默認情況 下,服務器采用的是一種降級模式的兼容性來執行操作的。
如果采用比較低的功能級別,將無法使用2008所帶來的全新功能。如采用的是 2003的功能級別,將無法采用精細粒度的口令策略,而無法完全實現域DS的能力。可見,不同的功能級別其實限制了系統管理員可以采用哪些功能。為此在域 設計時,系統分析師需要先確認2008的新功能,並確認這些新功能至少需要在那個級別上運行。然後根據企業的實際情況,判斷自己是否需要使用這些功能。最 終確定所需要采用的功能級別。而不是先介紹使用某個功能級別,再來考慮不能夠使用哪些功能。如此的話,就本末倒置了。
誤區二:為不同的辦事處設置不同的域。
如現在有一家企業,其在上海、廣州各有一個辦事處,其本部在北京。在這種情形下,需要為上海和廣州各設一個域嗎?以前有不少系統設計師是這麼做的。其實沒有這個必要。特別是微軟在2008中提出了只讀域控制器之後,沒有必要為一些辦事處設置單獨的域。否則的話,只會額外的增加系統管理人員的工作量。
其實域是微軟網絡環境的一個初始的邏輯邊界或者說最小的邏輯邊界。系統工程師均從域的邊界內管理和存儲用戶和計算機。包括打印機、用戶的帳號信息、權限等內容。從安全的角度講,域同時還充當對象的管理安全性邊界,並會包含它們自己的安全策略。簡單的說,就是指域是對象的邏輯結構,並且可以方便的跨越多個物理位置。這就說明在設計域結構時時,物理位置並不是主要因素(當然有時候也需要考慮),其主要還是要看企業應用環境的邏輯結構。
所以在實際工作中,並不需要為不同地理位置的辦事處設置多個單獨的域。這種老命傷財的行為我們要盡量的避免。在2008應用環境中,系統管理員盡可以利用只讀域控制器來解決辦事處或者分支機構的安全問題。
筆者認為,如果企業的分支機構或者辦事處規模不大,如只有幾十人,那麼沒有必要為其單獨的設置一個域。相反如果企業的分支機構是一個單獨的法人,或者其規模有上百人,此時企業往往需要在這個分支機構配有專業的系統管理人員。此時出於管理靈活性的考慮,可以為這個分支機構設置單獨的域。總之,不管三七二十一,由於地理位置的原因,為辦事處設置單獨的域,這種做法是不合理的。
誤區三:將信任傳遞與訪問權限混為一談。
多個域構成一顆域樹。或者說域樹是由多個通過雙向可傳遞的信任連接的域構成的。在這個定義中,有一個核心的關鍵字叫做信任的雙向可傳遞。如現在有一顆域數,A.com是信任根域,B.A.COM和C.A.COM是其兩個平行的子域。現在根據雙向可傳遞的信任規則,A域如果信任B,那麼B域也相信 A域。C域如果相信A域,那麼A域也信任B域。而根據傳遞規則,B信任A,而A信任C,則B域也信任C域。
現在筆者要問的問題時,如果現在A域的管理員可以管理B域與C域,那麼是否說明B域的管理員也可以管理C域呢?因為B相信A,而A相信C,為此 B可以管理C?其實這裡就犯了一個概念性的錯誤。將信任與訪問的權限混為一談。這就好像你有一個朋友,非常的信任他。但是不等於他可以來管理你的家事。
為此系統管理員需要牢記,雖然在域樹環境中,信任是雙向的,並且是可以傳遞的。但是這並不意味著所有用戶都可以完全的獲得訪問權。即便是域之間的管理員,信任僅僅提供從一個域到另外一個於的一條路徑。或者說,信任是可以管理的一個前提條件。只有在信任的基礎之上,才能夠對其進行授權管理。而在默認情況下,系統並不允許訪問權限從一個域傳遞到另外一個域。域的管理員必須為另一個域的用戶或者管理員下發權限後才能夠訪問其域中的資源。
不過需要注意的是,域樹中的每一個域都共享一個公共的模式和全局目錄。一顆樹內的所有域共享相同的名稱空間。根據默認的安全機制,某個子域的管理員在其整個域上有相對的控制權。另外一個子域甚至根域如果沒有經過授權,是無法訪問其域中的資源。從這裡也可以看出,不信任與訪問權根本是兩碼事。當然在有信任的基礎之上,系統管理員可以根據需要,授予其他域或者根域用戶一定的權限,讓其能夠有這個權力訪問自己域的特定資源。
總之,系統管理員需要分清楚信任與訪問權之間的聯系與區別,不能夠將兩者混為一談。然後在這基礎之上,考慮是否需要為其他域的用戶設置合適的訪問權限。
誤區四:采用默認的域認證模式。
在2008網絡環境中,其支持兩種默認的域認證模式,分別為NTLM和Kerberos認證方式。NTLM是NT局域網管理器的簡稱。從這個名字就可以看出,其沿用的是微軟早期NT網絡環境的認證系統。這種認證方是采用散列的形式跨網絡哦傳遞加密的口令。雖然對網絡中傳輸的命令采取了加密的措施,但是仍然存在一定的安全隱患。如任何人都可以監視網絡中傳遞的散列信息、並收集這些信息然後再使用第三方的解密工具進行破解。其破解的難度就要看加密的復雜程度。通產情況下,攻擊者可以利用字典或者蠻力攻擊技術在破譯口令,其破解只是一個時間問題。
而Kerberos認證方法則不同。簡單的說,這種認證方法並不會在網絡上發送口令信息,並且其本身采用的加密措施要比NT局域網絡認證系統要安全。不過可惜的是,出於向前兼容的考慮,即使到了2008環境中,微軟還是默認采用了相對不安全的NTLM認證方式。有些系統管理員在這方面可能並不是很熟悉,在一些對應用安全要求比較高的場合之下,采用了這個默認的安全機制,引發了不少的安全事件。
筆者建議,系統管理員需要了解這兩種認證模式的差異。然後根據企業的實際情況,如果對於安全級別要求比較高,那麼就需要對所采取的認證模式進行切換,選擇更加安全的Kerberos認證方式。