Active Directory

AdminSDHolder、受保護的群組和 SDPROP

John Policelli

 

?賡ㄩ

  • AdminSDHolder 受保護的群組和 SDPROP 的概觀
  • 受到 AdminSDHolder 的控制群組
  • 安全性描述元傳播程式

目錄

AdminSDHolder 物件
預設 ACL
受保護的群組
受到 AdminSDHolder 的控制群組
決定安全性主體是否受保護的 AdminSDHolder
孤兒的 AdminSDHolder 物件
安全性描述元傳播程式
修改 SDPROP 執行的頻率
若要執行的強制 SDPROP
結論

使用中的目錄網域服務使用 AdminSDHolder 受保護的群組及傳播安全性描述元程式 (SD 傳播程式或簡稱為 SDPROP) 安全性特殊權限的使用者及群組從意外的修改。 這項功能以後開始引進 inaugural 發行的 Active Directory 在 Windows 2000 Server 中,而且很相當已知。 不過,幾乎所有的 IT 系統管理員已負面影響的這項功能,而且,將會繼續執行,除非它們完全瞭解 AdminSDHolder、 受保護的群組和 SDPROP 如何。

每個 Active Directory 網域都有一個稱為 [AdminSDHolder 的所在的網域系統容器的物件。 AdminSDHolder 物件有一個唯一存取控制清單 (ACL),用來控制成員的內建 (我想要什麼呼叫保護 」 的特殊權限 Active Directory 群組的安全性原則的權限群組)。 每小時,稱為 SDPROP 背景處理程序會在具有 PDC 模擬器操作主機角色在網域控制站上執行。 它會比較在所有安全性主體 (使用者、 群組及電腦帳戶) 屬於受保護群組在 AdminSDHolder 物件 ACL ACL。 如果 [ACL] 清單中不相同,安全性主體上的 ACL 是覆寫從 Admin–SDHolder 物件 ACL。 在就另外繼承已停用安全性主體上。

如您見多個層級的安全性會納入這項功能。 首先,套用至屬於受保護群組的使用者權限是比預設權限套用到其他使用者帳戶更嚴格。 接下來,這項功能會停用這些特殊權限帳戶確保受保護物件的不論它們的所在位置的值並非繼承父層級套用權限的繼承。 最後,SDPROP 處理程序執行每 60 分鐘識別手動修改 ACL,並使 ACL 符合 AdminSDHolder 物件上的,將 ACL 反轉它們。

請參閱資訊看板 「 AdminSDHolder,受保護的群組,SDPROP 的影響的常見範例"真實世界看一下這項功能。

AdminSDHolder 物件

正如所提到的每個 Active Directory 網域會包含 AdminSDHolder 物件所在網域的系統磁碟分割。 AdminSDHolder 物件的辨別的名稱是 「 CN = AdminSDHolder,CN = 系統,DC = DC 的網域 = 通訊,"在 DC = DC 的網域 = 通訊是網域的辨別的名稱。 圖 1 顯示 Windows Server 2008 R2 網域 AdminSDHolder 物件。

policellifigure1_hi.gif

圖 1 的 AdminSDHolder 物件 (按一下影像以放大圖片)

預設 ACL

因為 AdminSDHolder 物件用在處理程序中,來保護特殊權限的帳戶,預設 ACL AdminSDHolder 物件上的就會是比其他物件,如網域、 OU 和容器 ACL 更嚴格。

在預設 ACL AdminSDHolder 的預設擁有者會為 「 網域系統管理員 」] 群組是相當不尋常。 大部分的 Active Directory 物件會擁有系統管理員群組,做為預設值擁有者。 這是重要的因為的擁有者可以取得物件的控制權,和重設權限。

AdminSDHolder 物件的另一個重要的設計因素是繼承已停用,可確保沒有父層級權限繼承。

最後,[系統管理員、 網域系統管理員] 和 [企業系統管理員] 群組是具有寫入權限屬性在 AdminSDHolder,也就是比預設權限套用至其他 Active Directory 物件更嚴格的群組。

受保護的群組

為先前是注意 AdminSDHolder 的權限套屬於受保護群組的安全性原則。 受保護群組的清單已經展開後 inaugural Active Directory 在 Windows 2000 Server 的發行。 圖 2 顯示預設的群組和使用者從保護 Windows 2000 Server 到 Windows Server 2008 R2。

圖 2 預設受保護群組
Windows 2000 Server RTM
Windows 2000 Server,有了 SP1 之後
SP2 的 Windows 2000 Server
Windows 2000 Server SP3
安裝有 SP4 的 Windows 2000 Server
Windows Server 2003 RTM
安裝有 SP1 的 Windows Server 2003
Windows Server 2003 SP2
Windows Server 2008 RTM
Windows Server 2008 R2
管理員 帳戶操作員 帳戶操作員 帳戶操作員
網域管理員 Administrator Administrator Administrator
企業系統管理員 管理員 管理員 管理員
結構描述系統管理員 備份操作員 備份操作員 備份操作員
  憑證發行者 網域管理員 網域管理員
  網域管理員 網域控制站 網域控制站
  網域控制站 企業系統管理員 企業系統管理員
  企業系統管理員 Krbtgt Krbtgt
  Krbtgt 列印操作員 列印操作員
  列印操作員 複寫者 (Replicator) 唯讀網域控制站
  複寫者 (Replicator) 結構描述系統管理員 複寫者 (Replicator)
  結構描述系統管理員 伺服器操作員 (Server Operator) 結構描述系統管理員
  伺服器操作員 (Server Operator)   伺服器操作員 (Server Operator)

常見範例 AdminSDHolder 受保護的群組和 SDPROP 的影響

大部分的 Active Directory 系統管理員會變得注意 AdminSDHolder,保護群組] 和 [SDPROP 透過類似的案例:

您要委派權限上的組織單位 (OU)。 您稍後要通知的使用權限是否可供大部分 (但並非全部) 在 OU 中的使用者帳戶。 您決定在受影響的帳戶上,將 ACL 是不同於您的委派,而且不會啟用繼承,所以啟用繼承,如果要解決這個問題。 一開始,這似乎工作,但稍後問題 resurfaces。 您一次決定 ACL 不同,且繼承已被停用。

我看過一再瀏覽此 seeming 永無止盡循環的個人。

這種情況實際上發生設計,不過。 因 AdminSDHolder 受保護的群組和 SDPROP。

帳戶受此問題屬於受保護群組。 結果從的網域中 AdminSDHolder 物件繼承過來這些帳戶 ACL,是的而且繼承已停用。 這就是為什麼您所委派的權限不會套用到受影響的使用者帳戶。 當您以手動方式啟用這些帳戶的繼承時,委派的權限會加入 ACL。

但是,SDPROP 程序執行時存放 PDC 模擬器操作主機角色的網域控制站上,每隔 60 分鐘預設 — ACL 會覆寫以符合 [AdminSDHolder 物件上的 ACL,並且繼承已停用。

受保護群組的清單是由 Windows 2000 Server RTM 中的四個安全性群組所組成。 在 Windows 2000 Server SP4 和 Windows Server 2003,已加入數個其他群組,包括系統管理員 」 和 「 Krbtgt 帳戶。 在 SP1 與更新版本的 Windows Server 2003,Microsoft 從預設受保護的群組中移除憑證發行者] 群組。 在 Windows Server 2008 中, Microsoft 展開若要將唯讀網域控制站群組此清單。 受保護群組的清單尚未變更的 Windows Server 2008 R2 發行候選組建中。

受到 AdminSDHolder 的控制群組

我的經驗這些預設的子集保護群組原因 AdminSDHolder 的問題。 就例如許多組織會使用 [列印操作員] 群組用於列印服務管理而不是用於 Active Directory 管理。 但是,[列印操作員] 群組是受保護的群組,因為它已提升權限網域控制站上依預設值。 最佳的作法是要刪除這個群組具有在網域控制站上提高權限。 如果您執行遵循此最佳作法 (而且您應該!),您可能不需要保護 AdminSDHolder 此群組。

您可以排除預設值的子集合群組防止 AdminSDHolder 處理程序包括:

  • 帳戶操作員
  • 伺服器操作員 (Server Operator)
  • 列印操作員
  • 備份操作員

這項能力受到 AdminSDHolder 的控制項群組引進透過 Windows 2000 Server] 和 [Windows Server 2003,RTM 版本的 Hotfix,包含在 Windows Server 2003 的最新的 Service Pack 和 Windows Server 2008 和 Windows Server 2008 R2 的 RTM 版本。 如需 Hotfix,相關資訊請為 委派權限無法使用而繼承已自動停用的

藉由修改 dsHeuristic 旗標來啟用受 AdminSDHolder 的控制群組能夠。 這是 Unicode 字串中每個字元會包含單一的全網域的設定值。 字元位置 16 會解譯為十六進位值其中最左邊的字元是位置 1。 因此,只有效值為"0"透過 「 f 」。 每個操作員群組都在 圖 3 所示,有一個特定的位元。

圖 3 dsHeuristic 運算子的位元
位元 若要排除的群組 二進位值 十六進位值
0 帳戶操作員 0001 1
1 伺服器操作員 (Server Operator) 0010 2
2 列印操作員 0100 4
3 備份操作員 1000 8

當您想要一個以上的群組排除 AdminSDHolder,尤其是因為您可以有多個組合的排除項目時,這種情況下就甚至更複雜 (例如,[帳戶操作員] 和 [伺服器操作員,或 [帳戶操作員,[備份操作員。 若要處理這個問題,只新增每個群組的二進位值],並再將結果轉換成十六進位值]。 就例如若要排除列印操作員和備份操作員群組,取得二進位值的 [列印操作員群組 (0100),並加入 [備份操作員的二進位值群組 (1000),這等於 1100年。 您再將二進位加總 (1100) 轉換為十六進位值 (C)。

若要簡化這項工作有點,的圖 4 會列出所有可能的組合,二進位和十六進位的格式。

圖 4 dsHeuristic 值不包括組成群組
若要排除的群組 二進位值 十六進位值
無 (預設值) 0 0
帳戶操作員 1 1
伺服器操作員 (Server Operator) 10 2
帳戶操作員
伺服器操作員 (Server Operator)
0001 + 0010 = 0011 3
列印操作員 100 4
帳戶操作員
列印操作員
0001 + 0100 = 0101 5
伺服器操作員 (Server Operator)
列印操作員
0010 + 0100 = 0110 6
帳戶操作員
伺服器操作員 (Server Operator)
列印操作員
0001 + 0010 + 0100 = 0111 7
備份操作員 1000 8
帳戶操作員
備份操作員
0001 + 1000 = 1001 9
伺服器操作員 (Server Operator)
備份操作員
0010 + 1000 = 1010 A
帳戶操作員伺服器操作員
備份操作員
0001 + 0010 + 1000 = 1011 B
列印操作員
備份操作員
0100 + 1000 = 1100 C
帳戶操作員
列印操作員
備份操作員
0001 + 0100 + 1000 = 1101 D
伺服器操作員 (Server Operator)
列印操作員
備份操作員
0010 + 0100 + 1000 = 1110 E
帳戶操作員
伺服器操作員 (Server Operator)
列印操作員備份操作員
0001 + 0010 + 0100 + 1000 = 1111 F

決定您想要排除的群組之後, 您準備好修改 dsHeuristics 屬性。 請該處理程序的詳細資料,參閱資訊看板 「 如何使用 dsHeuristics 屬性,以排除群組從 AdminSDHolder 」。

決定安全性主體是否受保護的 AdminSDHolder

相當大量的預設使用者和群組受到 AdminSDHolder。 要牢記在心是使用者受到 AdminSDHolder 如果它們有安全性或發佈群組中的直接或可轉移的成員資格。 因為通訊群組可以轉換為安全性群組,會包含通訊群組。

讓我們假設使用者屬於稱為加拿大 IT 通訊群組清單。 加拿大的 IT DL 屬於他們的美國 IT 安全性小組 ;他們的美國 IT 安全性小組是系統管理員群組的成員。 因為使用者的可轉移群組成員資格包含系統管理員群組 (指定的群組巢狀),使用者帳戶受 AdminSDHolder。

有更簡單的方法來決定哪些使用者和群組 AdminSDHolder 保護您的網域中。 您可以查詢 adminCount 屬性來決定是否受保護 AdminSDHolder 物件的物件。 下面範例使用 [ADFind.exe] 工具可從 joeware 下載。 網路。

  • 若要尋找在受到 AdminSDHolder 網域中的所有物件,鍵入:
Adfind.exe -b DC=domain,DC=com -f "adminCount=1" DN
  • 若要尋找 [受到 AdminSDHolder 的網域中的 [所有使用者物件],鍵入:
Adfind.exe -b DC=domain,DC=com -f "(&(objectcategory=person)(objectclass=user)(admincount=1))" DN
  • 若要將所有群組在一個網域中都尋找,受到 AdminSDHolder,在鍵入:
Adfind.exe -b DC=domain,DC=com -f "(&(objectclass=group)(admincount=1))" DN

請注意:在上述的範例取代 DC = DC 的網域 = COM 辨別您的網域名稱。

孤兒的 AdminSDHolder 物件

當使用者從受保護群組中移除時,該使用者帳戶上的 adminCount 屬性變更為 0。 不過,繼承並不會將使用者帳戶上重新啟用。 結果不會再 AdminSDHolder object 接收其 ACL 的使用者帳戶,但它也不會繼承任何權限自父物件。 這個問題的一般項目是 「 被遺棄的 AdminSDHolder 物件 」。若要修正繼承不再屬於受保護群組 ; 的物件上沒有自動機制您必須以手動方式處理孤兒 AdminSDHolder 物件。 Microsoft 已開發,並可將協助您在先前的受保護群組成員的使用者帳戶的 re-enabling 繼承的 VB 指令碼。 若要到 [VB 指令碼移至 委派權限無法使用而繼承已自動停用的

安全性描述元傳播程式

SDPROP 是背景的程序存放 PDC 模擬器操作主機角色的網域控制站上執行。 根據預設值,SDPROP 會執行每 60 分鐘。 SDPROP 被設計來比較使用者和群組成員的受保護群組,將 ACL。 如果 ACL 相同,SDPROP 並不會碰觸 ACL。 但是,如果 ACL 不同,它的覆寫從 AdminSDHolder 物件 ACL。

修改 SDPROP 執行的頻率

如果執行 SDPROP 60 分鐘的預設頻率不足夠,您可以建立或修改 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NTDS\Parameters 子機碼 AdminSDProtectFrequency 項目] 來變更它。

如果此機碼不存在時,會使用預設的頻率 (60 分鐘)。

您可以設定到一分鐘之間,以及從兩個小時頻率。 您必須輸入的秒數建立或修改登錄項目時。 下列命令會設定 SDPROP 執行每隔 10 分鐘 (也就是 600 秒):

REG ADD HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters /V AdminSDProtectFrequency /T REG_DWORD /F /D 600

不過,請注意,修改這個子機碼並不建議,因為這麼做可以增加 LSA (本機安全性授權) 處理負荷。

若要執行的強制 SDPROP

您也可以強制 SDPROP 情況下,您正在測試變更,或您無法等候已設定的間隔中執行。 強制執行 SDPROP 牽涉到以手動方式初始化 SDPROP 執行緒來評估在 Active Directory 中的物件繼承的權限。 這個處理程序可以藉由採取下列步驟存放 PDC 模擬器操作主機角色的網域控制站上達成:

  1. 到 [開始]。 按一下 [執行]。 型別 LDP.exe。 «\u246 o¤@¤U [½T©w]¡C
  2. 在 [連線] 功能表 LDP 主控台中上, 按一下 [連線]。
  3. 在 [連接] 對話方塊輸入 [您要在 [伺服器] 欄位中連接,並確定 389 列出在 [連接埠] 欄位中的伺服器名稱]。 «\u246 o¤@¤U [½T©w]¡C
  4. 在 [連線] 功能表中上, 按一下 [連結]。
  5. 在 [連結] 視窗 [目前登入的使用者] 選項選取繫結,或選取憑證] 選項的繫結]。 如果您選取後者的請輸入您想要繫結認證。 «\u246 o¤@¤U [½T©w]¡C
  6. 在 [瀏覽] 功能表上, 選取 [修改]。
  7. 在 [修改] 對話框保留 [DN] 欄位空白。 在 [屬性欄位的型別 FixUpInheritance。 輸入 [值] 欄位中的 [是]。 選取 [加入] 作業中,然後按一下 [輸入]。 圖 5 會顯示 [修改] 視窗應該的外觀。
  8. 在 [修改] 對話框按一下 [執行]。 詳細資料] 窗格會類似的圖 6] 中反白顯示的文字。

policellinewfigure5_hi.gif

圖 5 的修改視窗。當在 [修改] 對話框中執行的強迫 SDPROP 按一下執行。詳細資料] 窗格會類似 [圖 6] 中反白顯示的文字。(按一下影像以放大圖片)

policellinewfigure6_hi.gif

圖 6呼叫修改 LDP.exe 作業。(按一下影像以放大圖片)

這個時候 SDPROP 應該初始化。 SDPROP 程序所花費的時間量是根據 Active Directory 環境的大小而定。 越大環境]、 [在長可能需要執行此程序。 您可以在 [NTDS 效能物件來判斷何時完成 SDPROP,其由 0 的計數器值會指出 DS 安全性傳播事件計數器來監視。

結論

AdminSDHolder 是在 Active Directory 中重要的安全性功能。 AdminSDHolder,保護群組和安全性描述元傳播程式說明安全使用者帳戶包含更高的 Active Directory 權限。 AdminSDHolder 功能已從 Windows 2000 Server 發展,到 Windows Server 2008。 在此發展,Microsoft 已經展開 AdminSDHolder 會受到保護,引進了 [Admin–SDHolder 中排除特定群組功能,並新增能夠控制 SDPROP 的執行頻率的物件數目。

有意或無意 AdminSDHolder,有被介紹大部分的 Active Directory 系統管理員。 我試著為您提供清楚瞭解 AdminSDHolder 是什麼、 它的運作方式和哪些清除時,需要將使用者從一些有用的更多內容一起的一個受保護群組移除。 我希望這項資訊將有助於避免您正在被關閉守衛 AdminSDHolder 功能下一次您委派,或移除 Active Directory 的權限。

如何使用群組排除 AdminSDHolder dsHeuristics 屬性

dsHeuristics 屬性可用來從受保護的 AdminSDHolder 排除特定群組。 下列指示大綱步驟修改在 Windows Server 2008 R2 dsHeuristics 屬性:

  1. 登入網域控制站或成員電腦上具有 [遠端伺服器管理員工具 (RSAT) 安裝。

  2. 到 [開始]。 按一下 [執行]。 輸入 adsiedit.msc,然後按一下 [確定]。

  3. 在 [[ADSI 編輯器] 主控台上按一下滑鼠右鍵 ADSI 在主控台樹狀目錄中。 選取連線至]。

  4. 在 [連線設定] 視窗中,請從 [選取熟知的命名內容下拉式清單中選取設定。 «\u246 o¤@¤U [½T©w]¡C

  5. 在 [[主控台] 樹狀目錄依序展開 [設定],展開 [服務],展開 Windows NT]。 以滑鼠右鍵按一下 [目錄服務] 節點,然後選取 [內容]。

  6. 在 [CN = [目錄服務屬性] 視窗,選取 dsHeuristics]。 按一下 [編輯]。

  7. 如果設定,請在 [字串屬性編輯器] 視窗複製 dsHeuristics 現有值。

  8. 在 [字串屬性編輯器] 視窗中取代 dsHeuristics 值想要設定例如 000000000100000f 排除帳戶操作員、 伺服器操作員、 列印操作員和備份操作員群組。 圖 A 顯示 [字串屬性編輯器] 視窗。

    請注意: 取代在值的第一部分零什麼您可能已經有 dsHeuristics 中。 請確定您有到 「 f 」 的數字的正確計數或者您想要設定任何位元。

  9. 在 [字串屬性編輯器] 視窗按一下 [確定]。 按一下 [確定] 在 [CN = 目錄服務屬性] 視窗。

policellifigurea_hi.gif

圖 A字串屬性編輯器視窗(Click the image for a larger view)

John Policelli,目錄服務、 MCTS、 MCSA、 ITSM、 iNet +,網路 + 和 A + 的 Microsoft MVP 是解決方案為主 IT 顧問與以上一個十年的架構、 安全性、 策略計劃和嚴重損壞修復規劃的結合成功。 在過去九年他的重點身分識別與存取管理,並提供以為領導加拿大的最大的安裝 Active Directory 的部分。 Policelli 是 Active Directory 網域服務 2008 How-To (Sams 發行,2009年) 的作者。