Skip to content

AD-Cleanup: adminSDHolder

by Simon Altenbokum on April 8th, 2015

Im Rahmen der AD-Administration kommt es immer wieder vor, dass Accounts nicht vom Service-Desk oder anderen technischen Mitarbeitern administriert werden können, trotzdem der Account in einer OU liegt, die durch den Administrator verwaltet werden kann. Die Ursache dafür ist häufig, dass diese Accounts einmal Mitglied der geschützten Gruppen waren (Domain Admins, Enterprise Admins, Account Operators, …) oder es noch sind.

Für diese Gruppen gibt es einen besonderen Sicherungsmechanismus, den sogenannten „adminSDHolder“. Dieser Mechanismus sorgt dafür, dass Accounts die direkt oder mittels Verschachtelungen Mitglied dieser Gruppen sind, eine Vererbungsunterbrechung erfahren. Für sie gelten die Berechtigungen, welche auf der OU „adminSDHolder“ hinterlegt wurden. Weiterhin wird für diese Accounts das AD-Attribut „adminCount“ auf „1“ gesetzt(auf diesem Wege kann man sie auch über eine LDAP-Query recht simpel identifizieren). Die OU „adminSDHolder“ enthält selbst keine Objekte, sondern dient einfach nur als Aufhänger für die Berechtigungssteuerung der geschützten Objekte (Pfad: \\my.domain\System\adminSDHolder).

Diese Zuordnung erfolgt automatisch und wird standardmäßig alle 60 Minuten überprüft. Dabei ist es egal wo der Account im AD liegt. Leider wird diese Zuordnung nicht aufgehoben, wenn man aus den entsprechenden Gruppen entfernt wird. Für diesen Zweck empfiehlt es sich einen Prozess zu schaffen oder eine Automatisierung bspw. mittels eines Scripts. Den Scriptansatz habe ich kürzlich einfach mal umgesetzt und als Scheduled Task etabliert.

Das Script setzt das Attribut “adminCount” zurück und stellt die Berechtigungsvererbung für sämtliche AD-Objekte (User, Gruppe) wieder her, die nicht mehr Mitglied der geschützten Gruppen sind und das Attribut „adminCount“ auf „1“ gesetzt haben. Anschließend lässt sich der Account wieder entsprechend den Berechtigungen der OU, in der er sich befindet, verwalten und wie jeder normale Account behandeln.

Kurze Anmerkung:

Derzeit ist das Script noch gegen ein versehentliches Schreiben geschützt. Für einen schreibenden Durchlauf bitte die Variable $just_logging auf $false setzen.

Weiterhin wird eine Logdatei geschrieben, derzeit im Ausführungspfad – sollte für Scheduled Tasks auf einen entsprechenden Ordner gesetzt werden. Dazu die Variable $logpath auf den entsprechenden Wert setzen.

Skript: remove_from_adminSDHolder

Weiterführende Infos unter:

http://technet.microsoft.com/en-us/magazine/2009.09.sdadminholder.aspx

From → Microsoft, Sicherheit

Comments are closed.