今天,我們就沒有那麼奢侈了。幸運的是微軟提供的更新程序品質有了很大提高。
因為DC是非常顯眼的目標,所以您需要密切關注出現的每一個安全更新。
您可以通過訪問位址
http://www.microsoft.com/security/bu...新(Automatic Updates)迅速地對安全更新進行安裝,或者通過微軟的Software Update Services(SUS)在測試後有選項地對其進行安裝。
新增一個保留文件。在Windows Server 2003以前的操作系統中,如果用戶具備在某個容器中新增對象的權限,那麼將無法限制用戶新增對象的數量。
缺乏限制可以導致攻擊者不斷地新增對像以至耗盡DC硬碟空間。
您可以通過在每個DC的硬碟上新增一個10M至20M的保留文件,以便在某種程度上降低這類風險的發生。
如果DC的空間用完了,您可以移除上述保留文件,並在找到解決方案前留下一些解決問題的空間。
執行掃瞄軟體。
在DC上執行病毒掃瞄軟體比在大多數伺服器上執行該軟體更為迫切,因為DC間不僅要複製目錄訊息,還要通過文件複製服務(File Replication Service,以下簡稱FRS)複製文件內容。
不幸的是FRS為病毒提供了在一組伺服器之間進行傳播的簡單途徑。
並且FRS通常還會對登入指令碼進行複製,因此還會潛在地威脅到客戶端的安全。
執行病毒掃瞄軟體可以大幅降低病毒複製到伺服器和客戶端的威脅。
步驟3. 遵循委派方面的最佳做法
錯誤地對保護AD內容的訪問控制列表(ACL)進行組態將會使AD易於受到攻擊。
此外,如果委派實施得越複雜,那麼AD的維護和問題解決工作就越難。因此我喜歡套用簡潔的設計哲學。
委派實施得越簡單,您的麻煩就會越少,在安全方面尤為如此。事實上,上述哲學同樣適用於AD的設計,在附文「設計決定安全」中將進行詳細討論。為了保持委派的簡潔,我強烈建議您閱讀「Best Practices for Delegating Active Directory Administration」一文(
http://tinyurl.com/vzlg)。
不要將權限分配給用戶帳號。
進行委派的基本原則之一就是除非有充分的理由,否則始終將權限分配給組而不是用戶。
當某個被您分配權限的用戶離開公司或工作職能發生改變而再不需要某些訪問權限時,您需要執行哪些操作?
找到某個帳號被賦予的權限,取消這些權限,然後再將它們賦予另外一個用戶,要比將舊帳號從某個組中刪掉,再將一個新帳號加入到該群組中的工作量大得多。
即使您認為賦予特定用戶的權限永遠不會被賦予其他用戶,我還是建議您新增一個組,將用戶加入到這個組中,然後再將權限分配給這個組。
不要將權限分配給單獨的對象。當您直接將權限分配給單獨的對象時(例如一個用戶或一個組對像),事情將會變得複雜起來。上述權限需要更多的維護,並且很容易在隨後被忽視。為了避免問題的發生,您應該將權限盡量多地分配給組織單元或容器。
記錄下使用的模型。在進行權限委派時,您需要完成的重要工作之一就是記錄下使用的模型。
您是否建立了一個關於角色的模型?請求訪問權限的程序是什麼?
模型是否具有特例?所有這些重要問題都應該被記錄,它不僅會使維護工作變得簡單,而且將確保每個人都清楚權限應該如何被分配,並可以識別出沒有按照模型進行分配的權限(它將使AD易於受到攻擊)。
記錄模型的文件格式並不重要,但應能夠方便管理員搜尋。
熟悉Dsrevoke的使用。您可通過Active Directory用戶和電腦程序來執行控制委派嚮導(Delegation of Control wizard),它能夠很好地完成初始的訪問委派工作。
但是使用這個嚮導或其他圖形工具來完成委派取消工作(例如從ACL中移除分配給某個帳號的所有權限)卻非常麻煩。
幸運的是微軟發怖了Dsrevoke工具,它允許您遍歷域中的所有ACL,並能夠移除掉您指定帳號的所有訪問權限。您應該熟悉這個工具,因為它能夠提高委派的效率。
您可以通過網址
http://www.microsoft.com/downloads/d...該工具。
步驟4. 監視並稽核您的AD
因為AD包含許多元件,所以確定何時有人對系統進行破壞比較困難。
目前您僅能夠遵循上述提到的最佳做法,但是您如何知道有人正在偷偷溜進您的系統呢?答案是監視和稽核。
您至少需要監視DC的可用性(availability)。您也許已經在進行主機可用性的監視了,並用它來確保AD基礎設施的可用性。
但是從安全的角度而言,知道DC何時非正常停機更為重要,這樣您就可以立即對原因進行相應的分析。也許遠端站點的一台DC被盜或某個黑客取得了物理訪問權並且正在關閉機器以便安裝一個木馬程序!
除了監視DC的可用性,您還可以使用效能監視器對許多AD的度量(measure)進行監視,這些度量包括輕量目錄訪問傳輸協定(Lightweight Directory Access Protocol,以下簡稱LDAP)查詢的次數和複製資料的數量等內容。您可以為每個感興趣的計數器設定一個閥值,然後對它們進行監視。
如果您注意到,例如每秒鍾LDAP查詢請求次數或身份驗證請求次數在一段時間內明顯上升,這也許就是某種攻擊的一個提示訊息。
為了獲取更廣泛的監視(甚至是警告)訊息,您可以使用Microsoft Operation Manager這類工具。
Windows操作系統和AD提供的稽核功能允許您將某些事件記錄到安全事件日誌中。
您可以記錄從操作系統組態更新到AD內部修改等任何事件。
但是在啟用稽核時您需要謹慎考慮。如果稽核的對象過多,那麼安全日誌中將會充斥過多的訊息以至於很難找到您所需要的內容。
為了獲取稽核對像方面的指導,請參閱「Best Practice Guide for Securing Active Directory Installations」一文(
http://tinyurl.com/3c928)。
步驟5. 做最壞打算
也許安全規劃最重要的方面就是建立一個如何應對成功攻擊的預案。
實施上述最佳做法並不能絕對確保安全。您也許已經建立起一個非常安全的AD基礎設施,但是如果攻擊者進行一次從未見過的AD攻擊,您也許就會束手無策,因為您對它還不瞭解。
這就是為什麼做最壞打算顯得如此重要的原因。
如果您發現正處在這種情形下,您已經知道該如何應對了。
如果您發現整個森林均受到威脅並且需要進行一次徹底的恢復,您將會因為事先考慮過這個程序而節省下寶貴的時間。
執行最佳做法
在本文中我們討論了提高AD安全性的一些基本步驟,而且實施這些步驟的代價也很低。
雖然討論的內容僅僅涉及一些皮毛,但是如果您遵循上述步驟,您的AD將會變得更加安全。
設計決定安全
病毒、蠕蟲、LJ郵件以及拒絕服務攻擊是網際網路用戶每天都需要面對的安全威脅。網際網路之所以很容易受到攻擊,是因為當初設計它的時候並沒有考慮到安全性。它被設計成了一個開放的系統,並鼓勵用戶自由地交流和交換思想。
網際網路的建立者從未想到某一天它會取得商業上的巨大成功。從此網際網路社群一直在設法增強一個不安全設計的安全性。
上述例子說明了某項技術的實現將最終決定如何來增強它的安全性,AD也不例外。
如果您設計了一個開放的委派模型並將用戶不需要的訪問權限也分配給他們,或者您將域控制器佈署到不安全的位置,那麼您將需要花費很多時間用來增強整個實現的安全性。
我喜歡套用簡潔的設計哲學。AD設計得越簡單,您的麻煩就會越少,在安全性方面尤為如此。
複雜的設計往往導致更多需要管理的內容,接下來就是對更多的內容進行安全方面的增強。我喜歡套用的一個基本原則就是「越少越好」。域越少,域控制器就越少。
域控制器越少,管理員就越少。組織單元越少,需要委派的對象就越少。