Sicherheitsberechtigungen in Active Directory können eine komplizierte Angelegenheit sein. Standardmäßig sind diese Berechtigungen unter Users and Computers ausgeblendet und es gibt darüber hinaus kein integriertes Tools, mit dem man sich einen allgemeinen Überblick verschaffen könnte, wie Berechtigungen in Active Directory vergeben wurden.
In diesem Artikel geht es um die Grundlagen der Delegierung und Aufhebung von Berechtigungen. Es wird gezeigt, wie Sie mit integrierten Tools nach Berechtigungen suchen, die delegiert wurden, und Active Directory mit einem benutzerdefinierten PowerShell-Skript durchsuchen.
Warum werden Berechtigungen delegiert?
Stellen Sie sich vor, Sie wären Chef eines großen Unternehmens mit verschiedenen Abteilungen: Finanzwesen, Personalabteilung, Vertrieb und Geschäftsführung. Müsste jeder Benutzer, der sein Kennwort vergessen hat, beim IT-Helpdesk anrufen, hätte das Helpdesk bald nichts anderes mehr zu tun, als diese Anfragen zu bearbeiten.
Stattdessen können Sie die entsprechenden Berechtigungen an die Leiter der einzelnen Abteilungen delegieren, die dann Kennwörter für ihre Teams zurücksetzen können.
Ein weiteres klassisches Anwendungsbeispiel für die Delegierung ist die Möglichkeit, dass Mitarbeiter stellvertretend für Kollegen E-Mails versenden – indem etwa ein freigegebenes Postfach genutzt wird oder ein Mitarbeiter im Namen seines Vorgesetzten E-Mails sendet.
Domänenadministrator-Berechtigungen für alle?
Vielleicht war Ihr erster Gedanke, dass man ja einfach allen Abteilungsleitern die Berechtigungen eines Domänenadministrators erteilen könnte, damit sie bei Bedarf Kennwörter zurücksetzen können.
Das ist zwar aus technischer Sicht richtig, doch hätten sie dann noch viel weiter reichende Rechte, beispielsweise für den Zugriff auf Benutzerdaten. Damit öffnen Sie Datenschutzverletzungen Tür und Tor!
So delegieren Sie Berechtigungen in Active Directory
Die richtige Vorgehensweise ist natürlich die Delegierung. Damit können Sie individuell die Berechtigungen auswählen, die Sie einer anderen Person übertragen möchten.
-
- Öffnen Sie Active Directory Users and Computers und stellen Sie eine Verbindung zu einer Testdomäne her.
- Klicken Sie mit der rechten Maustaste auf die Organisationseinheit, der Sie die Berechtigung zum Zurücksetzen von Kennwörtern erteilen möchten.
- Suchen Sie die Option „Delegate Control“ (sie sollte an erster Stelle in der Liste stehen). Klicken Sie auf diese Option und dann auf „Next“.
- Sie werden nun aufgefordert, die Benutzer oder Gruppen auszuwählen, denen Sie die Aufgabe der Objektverwaltung zuweisen möchten. Dies sind die Personen, die eine bestimmte Aufgabe ausführen sollen.
Es wird dringend empfohlen, eine Sicherheitsgruppe für jeden Berechtigungssatz zu erstellen, den Sie delegieren (z. B. eine Gruppe für „Vertrieb – Zurücksetzen von Kennwörtern“ oder für „Personalabteilung – Zurücksetzen von Kennwörtern“). So können Sie zukünftig ganz einfach Benutzer zu diesen Gruppen hinzufügen bzw. daraus entfernen, statt direkte Änderungen an den Berechtigungen vornehmen zu müssen. - Fahren Sie fort und fügen Sie Benutzer zur Gruppe hinzu. (In der Abbildung unten habe ich unser Senior Management Team hinzugefügt.)
- Klicken Sie auf „Next“ und wählen Sie die Option „Reset user passwords and force password change at next logon“.
- Klicken Sie auf „Next“ und dann auf „Finish“ – das war‘s auch schon!
Entfernen delegierter Berechtigungen in Active Directory
Sie haben den Assistenten beendet und fragen sich nun vielleicht, wie Sie überprüfen können, ob die Berechtigungen tatsächlich delegiert wurden, und wie Sie die delegierten Berechtigungen wieder aufheben.
-
- Öffnen Sie unter Users and Computers das Menü „View“ und aktivieren Sie die Option „Advanced Features“.
- Durch Aktivieren dieser Option können Sie die Registerkarte „Security“ anzeigen, wenn Sie die Eigenschaften für Objekte in Active Directory auswählen.
Klicken Sie mit der rechten Maustaste auf die Organisationseinheit, an die Sie Berechtigungen delegiert haben, und wählen Sie „Properties“. Klicken Sie anschließend auf die Registerkarte „Security“. - Wählen Sie die Option „Advanced“ und blättern Sie nach oben und unten, bis Sie die Gruppe sehen, der Sie soeben Berechtigungen erteilt haben. Unter „Access“ sollte die Berechtigung „Reset Password“ aufgeführt sein.
- Zur Aufhebung dieser Berechtigung würden Sie diese einfach auswählen und auf „Remove“ klicken. Heben Sie die Berechtigung jedoch vorerst nicht auf und klicken Sie auf „Cancel“.
- Öffnen Sie unter Users and Computers das Menü „View“ und aktivieren Sie die Option „Advanced Features“.
Wie Sie sehen können, ist es relativ schwierig, delegierte Berechtigungen zu finden – insbesondere vor dem Hintergrund, dass Berechtigungen nicht nur an Organisationseinheiten, sondern auch an Sicherheitsgruppen und sogar an Benutzerobjekte delegiert werden können.
Suche nach Berechtigungen mit DSACLS
Die Suche nach Berechtigungen kann zum Albtraum werden, wenn ein Mitarbeiter das Kennwort des Chefs zurückgesetzt hat und Sie herausfinden müssen, wer dazu berechtigt ist. (Hätten Sie Netwrix Auditor installiert, könnten Sie ganz einfach dort nachschauen, doch für diese Übung gehen wir davon aus, dass dies nicht der Fall ist.)
-
- Navigieren Sie unter Users and Computers zu dem Benutzerobjekt, dessen Berechtigungen Sie überprüfen möchten.
- Klicken Sie mit der rechten Maustaste und wählen Sie „Choose Properties“ und anschließend „Attribute Editor“.
- Blättern Sie nach unten und doppelklicken Sie auf „distinguishedName“. Kopieren Sie diese Zeichenfolge, um sie später zu verwenden.
- Öffnen Sie die Eingabeaufforderung und geben Sie in Anführungszeichen „dsacls“ gefolgt von der kopierten Zeichenfolge ein:
- Drücken Sie die Eingabetaste.
- An diesem Punkt werden Sie vermutlich feststellen, dass auf dem Bildschirm zu viele Berechtigungen angezeigt werden. Sie haben zwei Möglichkeiten:
- Fügen Sie „|more„ an das Ende des Befehls an, um jeweils einen Bildschirm vollständig anzuzeigen.
- Speichern Sie die Ausgabe in einer Textdatei und zeigen Sie diese mit dem Befehl „> dateiname.txt“ an.
- Ich habe mich für die zweite Option entschieden und die Datei in Notepad geöffnet. So konnte ich schließlich feststellen, dass die Gruppe „Senior Management“ berechtigt ist, das Kennwort des Chefs zurückzusetzen!
Suche nach Berechtigungen mit PowerShell
Nachdem Sie nun die Delegierung kennengelernt haben, fragen Sie sich vielleicht, ob bereits Delegierungen vorhanden sind, von denen Sie nichts wissen – weil sie z. B. von ehemaligen Mitarbeitern oder von Administratoren mit böswilliger Absicht eingerichtet wurden.
Ich habe ein kurzes PowerShell-Skript erstellt, das nach den einzelnen delegierbaren Objekttypen sucht und zwei häufig verwendete Berechtigungsdelegierungen (das Zurücksetzen des Kennworts und den Befehl „Senden als“ in Exchange) auflistet.
Hier ist ein Beispiel für die Ausführung des Skripts in einer Domäne:
So verwenden Sie das Skript in Ihrer eigenen Domäne:
- Öffnen Sie Active Directory Users and Computers und navigieren Sie zu der Domäne (oder Organisationseinheit), die Sie untersuchen möchten.
- Klicken Sie mit der rechten Maustaste darauf und wählen Sie „Properties“.
- Suchen Sie auf der Registerkarte „Attribute Editor“ nach der Eigenschaft „distinguishedName“.
- Wählen Sie die Eigenschaft aus und klicken Sie auf „View“. Kopieren Sie anschließend den Eintrag unter LDAP Path. Sie benötigen diesen später.
- Laden Sie eine Kopie des Skripts von GitHub herunter:
https://raw.githubusercontent.com/thephoton/activedirectory-delegation-searcher/master/search.ps1
- Klicken Sie mit der rechten Maustaste und bearbeiten Sie das Skript mit PowerShell ISE.
- Bearbeiten Sie Zeile 6 ($bSearch = …), indem Sie DOMAINCONTROLLER durch den Namen eines Domänencontrollers in Ihrer Domäne ersetzen.
- Bearbeiten Sie Zeile 6, indem Sie LDAP durch den in Schritt 4 kopierten Pfad ersetzen.
- Speichern Sie das Skript und führen Sie es aus.
- Lassen Sie das Skript Ihr Active Directory durchsuchen. In der Konsole wird der Fortschritt angezeigt und nach Abschluss des Skripts erscheint eine Meldung mit einer Liste der Objekte, an die Berechtigungen delegiert wurden. Die Ergebnisse könnten eine Überraschung für Sie sein!
Wenn Sie wissen möchten, wie Sie feststellen können, wer Berechtigungen in Active Directory geändert hat, lesen Sie auch unsere Anleitung. Es gibt außerdem ein kostenloses Tool von Netwrix, das detaillierte Informationen dazu bereitstellt, welche Benutzer welche Berechtigungen für welche Active Directory-Objekte und Dateifreigaben haben.
Viel Spaß damit!