帳戶資料庫
Active Directory 提供 金鑰發佈中心 (KDC) 用來取得網域中 安全性主體 相關資訊的帳戶資料庫。 每個主體都是以目錄中的帳戶物件來表示。 用來與使用者、電腦或服務通訊的 加密金鑰 會儲存為該安全性主體帳戶物件的屬性。
只有網域控制站是 Active Directory 伺服器。 每個網域控制站都會保留目錄的可寫入複本,因此可以在任何網域控制站上建立、密碼重設和群組成員資格修改。 對目錄的一個複本所做的變更會自動傳播至所有其他複本。 Windows 會使用專屬的多宿主複寫通訊協定來複寫 Active Directory 的資訊存放區,該通訊協定使用複寫夥伴之間的安全遠端程序呼叫連線。 連線會使用 Kerberos 驗證通訊協定 來提供相互 驗證 和加密。
帳戶資料的實體儲存體是由 目錄服務代理程式所管理,這是與網域控制站上本機 安全性授權單位 (LSA) 整合的受保護程式。 目錄服務的用戶端永遠不會直接存取資料存放區。 任何想要存取目錄資訊的用戶端都必須連線到目錄服務代理程式,然後搜尋、讀取和寫入目錄物件及其屬性。
存取目錄中物件或屬性的要求受限於 Windows 存取控制機制的驗證。 就像 NTFS 檔案系統中的檔案和資料夾物件一樣,Active Directory 中的物件受到 存取控制清單 (ACL 所保護,) 指定誰可以存取物件及以何種方式存取。 不過,不同于檔案和資料夾,Active Directory 物件會針對其每個屬性都有 ACL。 因此,敏感性帳戶資訊的屬性可以受到比針對帳戶其他屬性授與的許可權更嚴格的許可權保護。
帳戶最敏感的資訊當然是其密碼。 雖然帳戶物件的 password 屬性會儲存衍生自密碼的加密金鑰,而不是密碼本身,但此金鑰組入侵者而言相當有用。 因此,帳戶物件的密碼屬性存取權只會授與帳戶持有者,絕不會授與任何其他人,甚至是系統管理員。 只有具有信賴運算基底許可權的進程—在 LSA 的安全性 內容 中執行的進程,才能讀取或變更密碼資訊。
為了防止具有網域控制站備份磁帶存取權的人員進行離線攻擊,帳戶物件的密碼屬性會使用系統金鑰進一步受到第二個加密的保護。 此加密金鑰可以儲存在卸載式媒體上,以便分開保護,也可以儲存在網域控制站上,但受到分散機制保護。 系統管理員可以選擇儲存系統金鑰的位置,以及使用哪一種演算法來加密密碼屬性。