Tools überwachen das Active Directory, Teil 2

10. Februar 2010

Einige in Administratorkreisen eher weniger bekannte Tools machen die Verwaltung am Active Directory einfacher. Dazu gehören das Sichern und Wiederherstellen von Gruppenrichtlinien-Objekten (GPOs) ebenso wie das Überwachen des File Replication Service (FRS) oder das NTDSUTIL-Skripting. Diese Aspekte sind bereits im ersten Teil dieses Zweiteilers besprochen worden – der allerdings den Abonnenten von www.nt4admins.de vorbehalten ist. Weitere Punkte stellt der Autor in diesem zweiten Teil vor. Es geht dabei vor allem um das Verhindern des unabsichtlichen Löschens von AD-Objekten wie Organisationseinheiten (OUs, Organizational Units). Helfen können dabei Werkzeuge wie der Attribute Editor (siehe Bild) und das Zurückgreifen auf das Tool Repadmin.

Bild 1. Attribute für ein Objekt lassen sich mit dem Attribute-Editor hinzufügen.

Das Wiederherstellen von Gruppenrichtlinienobjekte (Group Policy Objects, GPOs) gilt als eine Pflichtübung für Administratoren, dazu wurde im ersten Teil bereits ein Satz von 32 Skripts vorgestellt, die Microsoft kostenlos zum Download anbietet. Aber auch das Skripting in Kombination mit dem Werkzeug Ntdsutil spielt hier seine Vorteile aus: Der Administrator ist in der Lage, einfache Skripts zu erstellen, in denen Ntdsutil-Aktionen über den Zeitplandienst oder interaktiv ausgeführt werden können.

Ein gutes Beispiel dazu ist die AD-Snapshot-Funktionalität, die es beim Windows Server 2008 gibt. Damit kann man den Volume Shadow Copy Service (VSS) verwenden, um einen Schnappschuss der Domänendaten zu bekommen.

Schutz vor versehentlichem Löschen von OUs

Zum Aufgabenbereich eines Administrators gehört ein wesentliche Aktion: Er muss verhindern, dass Objekte im AD versehentlich gelöscht werden. Je mehr Mitarbeiter über spezielle Rechte in einer Domäne verfügen, umso schwieriger wird die ganze Sache. Daher muss er ein stabiles Sicherheitsmodell für das AD entwerfen, um derartige Risiken einzugrenzen.

Auch wenn sich damit nicht alle Eventualitäten einfangen lassen, so bringt das Prinzip des „Defense In-depth“ mit seinem mehrschichtigen Ansatz doch eine gewisse Sicherheit für die Domäne. Dabei kann man sogar von einem kumulativen Schutz sprechen, denn mehrere Verteidigungslinien sollten hintereinander gezogen werden, so dass beim Wegfall einer Linie das gesamte AD immer noch geschützt ist.

Um nun das unbeabsichtigte Löschen von OUs zu vermeiden, eignet sich die Zugriffskontrolle im Rahmen des AD recht gut. Auch wenn die Sicherheits-Prinzipale (also die Benutzer, Gruppen oder Computer) in einer OU sozusagen kommen und gehen, werden die einzelnen OUs – die ja die Struktur eines Unternehmens widerspiegeln – relativ selten gelöscht.

Ab dem Windows Server 2008 hat es das Directory Services Team von Microsoft die Dinge recht einfach gemacht, die erfahrene AD-Administratoren bislang selbst erledigen mussten: Das Setzen des Verweigern-ACE (Access Control Entry) für Objekte, damit sie gegen versehentliches Löschen gesichert sind. In der MMC (Microsoft Management Console) mit dem Snap-in Active Directory Benutzer und Computer kann man bereits beim Anlegen einer neuen OU im Dialog eine Einstellung setzen, um ein Objekt vor unbeabsichtigten Löschen zu schützen.

Zudem gibt es für eine OU auf der Eigenschaften-Seite den Reiter Objekt – der st allerdings nur dann sichtbar, wenn im Ansicht-Menü der MMC die erweiterte Ansicht vorgegeben ist. Hier ist dann das Verweigern (Deny) für die Berechtigungen Löschen und „Alle untergeordneten Objekte löschen“ (Subtree delete) für die Gruppe Jeder anzuklicken.

Allerdings sollte sich der Administrator bei dieser Eigenschaft über einige Dinge im Klaren sein: Zum einen gilt diese Checkbox nur für die OUs. Man kann in der OU selbst Sicherheits-Prinzipale ohne Einschränkungen erzeugen, ändern oder löschen. Zum zweiten gibt es für diese Eigenschaft keine Vererbung – sprich wenn man diese Einstellung für die oberste Ebene einer OU vorsieht, trifft sie nur auf diese OU zu, nicht aber auf die, die in der Hierarchie weiter unter stehen.

Auch wenn mit Hilfe des Dotnet-Frameworks es möglich ist, ein Skript zu erstellen, das diese Eigenschaft auch bei anderen OUs einstellt, wird sich diese Art der Automatisierung nicht rentieren – es sei denn, man muss diese Aktionen in einer sehr weitläufig angelegten OU-Struktur erledigen. Das Anklicken der Checkbox wird sich dabei als die schnellere Version entpuppen – zumal man ein ausgiebiges Testen beim Skript-Schreiben nicht vergessen sollte. Da man mit dieser Funktionalität den ACE für Verweigern setzt, lässt sich dieser Schutz für alle Objekte im AD angeben. Doch nur der neue OU-Assistent bietet diese einfache Möglichkeit mit der Checkbox.

Zugriff auf die Attribute

Ein der Herausforderungen vor allem bei kleineren und mittleren Unternehmen ist das korrekte Eintragen von Daten, ohne dass man teure Zusatzwerkzeuge verwendet. Das AD ist mit Attributen für fast alle möglichen – aber auch undenkbare – Dinge ausgestattet. Es gibt welche für die Mitarbeiternummer im Unternehmen oder seine Telefonnummer – aber auch eines für Dinge wie eine Telex-Nummer.

Allerdings gibt es keine Stelle im Snap-in Active Directory Benutzer und Computer, an der dieses Attribut zugängig ist. Anders ausgedrückt: Ein Mitglied aus der Personalabteilung oder ein Konten-Administrator, der einen neuen Mitarbeiter hinzufügen muss, hat Kommandozeilen-Tools wie dsmod oder admod (von Joeware) zu benutzen.

Doch viele Konten-Administratoren kommen mit den DNs (Distingushed Names) nicht gut klar. Daher wäre eine grafische Schnittstelle eine nützliche Sache. Glücklicherweise bringt das Update zu Active Directory Benutzer und Computer für Windows 7 und Windows Vista hier eine Besserung. Die RSAT (Remote Server Administration Tools) für Vista oder für Windows 7 enthalten eine aktuellere Version des Snap-in Active Directory Benutzer und Computer (dsa.msc) mit einer neuen Funktion: dem Attribut Editor.

Er bietet eine gewisse Funktionalität, wie sie Adsiedit oder der LDP-Editor enthalten sind, nicht aber im gewöhnlichen Active Directory Benutzer und Computer. Es lassen sich beliebige AD-Objekt-Attribute damit editieren, nicht nur die, die beim Snap-in Active Directory Benutzer und Computer üblicherweise zugängig sind.

Denkt man an das vorherige Szenario, zeigt die Abbildung 1 (auf einem englischsprachigen System) wie für den neuen Mitarbeiter namens Sosumi Areti eine Mitarbeiter-Nummer hinzugefügt wird. Standardmäßig zeigt der Attribut-Editor nur eine Untermenge aller Attribute für das Objekt. Die Attribute-Liste lässt sich filtern, etwa ob Werte für das Attribut gesetzt sind, ob sie beschreibbar sind, ob es sich um Backlinks handelt oder nur um systemrelevante Attribute.

Die Möglichkeit, auf ein konstruiertes Attribut zugreifen zu können, kann sich als sehr nützlich erweisen. Angenommen man verwendet strenge Kennwort-Richtlinien im Umfeld des Windows Server 2008, kann man sich die effektiven Kennwort-Einstellungen für einen Benutzer anzeigen lassen. Das entspricht in etwa der Blickweise auf die RSOP (Resultant Set of Policies) für einen Benutzer, wen man sehen möchte, welche GPOs auf einen Benutzer Auswirkungen haben.
Außer der Voraussetzung – es muss auf Windows 7 oder Vista installiert sein – muss man das Schema der Gesamtstruktur von Server 2003 auf Server 2008 hochstellen. Dazu gibt es im Web auch einen händischen Workaround.

Es bleibt noch darauf hinzuweisen, dass RSAT unter Windows 7 und Vista anders arbeitet als bei Windows XP und Server 2003. Wenn man das Toolset installiert, ändert sich das Start-Menü nicht – es sieht so aus, als wäre nichts installiert worden.

Damit diese Tools erscheinen, muss man das Systemsteuerung und dort das Applet mit Programmen und Funktionen öffnen, hier den Punkt „Windows-Funktionen ein- oder ausschalten“ angeben. Dann sind die RSAT auszuwählen, dann die „Role Administration Tools“ und dort zu den „Active Directory Domain Services“ (AD DS) zu verzweigen. Im Bereich mit der erweiterten Darstellung ist dann der Attribut-Editor zu sehen.

Bild 2. Die Replikation zwischen Standorten lässt sich über diesen Dialog unterbinden.

Kontrolle über die Replikation

Auch wenn die AD-Replikation ohne Eingriff des Administrators gut funktionieren sollte, so kennt es jeder Systembetreuer doch aus der Praxis, dass man wissen muss, wie diese Kontrolle – sozusagen händisch – ausgeübt werden soll. Angenommen man löscht aus Versehen ein Objekt und bemerkt es nicht sofort. Um die Replikation schnell außerhalb des Standorts zu stoppen, so dass im Zuge der Replikation sich dieses Löschen nicht auswirkt. Dazu gibt es mehrere Methodiken, um die Replikation zu kontrollieren.

Die bestgekannte Vorgehensweise ist der Einsatz von „Active Directory -Standorte und -Dienste“ (Active Directory Sites and Services; dssite.msc) um die Standorte im AD und deren Verbindungen zu verwalten. Bei den Verbindungen zwischen den Standorten handelt es sich um die Datenpfade, über die die Informationen repliziert werden. Dazu ist dieses Snap-in zu starten und dann zu den Standorten, „Inter-Site Transports“, IP zu gehen.
Hier sind dann die Eigenschaften der Site Links zu öffnen, an denen die Replikation deaktiviert werden soll (siehe Abbildung 2).

Dann ist auf Zeitplan ändern (Change Schedule) zu klicken, dann den Bereich der Tage und Stunden zu wählen und dann Replikation nicht verfügbar (Replication Not Available) selektieren. Diese Aktion deaktiviert die Replikation zwischen allen Standorten, die diese Verbindung benutzen.

Mit dem Einsatz von Active Directory Standorte und Dienste wird die Replikation nur auf der Ebene der Standorte deaktiviert. Doch es wird mitunter auch nötig sein, dass man die Replikation auf der DC-Ebene unterbinden muss, etwa um Schema-Änderungen oder zufällige Löschaktionen zu isolieren – wenn man schnell genug reagieren kann und über die passenden Skripts verfügt. Um die Replikation auf DC-Ebene zu deaktivieren, muss man das Tool Repadmin nehmen.

Dieses Programm verfügt um so viele Kommandozeile-Schalter, über untergeordnete Optionen und Komplexitäten, dass man ein ganzes Buch dazu schreiben könnte. In diesem Beitrag soll der Fokus auf dem Schalter /options liegen. Mit dem üblichen Schalter /? – um die Hilfedatei von Repadmin anzusehen – wird man den Schalter /options nicht sehen.

Daher muss man /experthelp verwenden, mit der die mächtigeren Schalter aufgeführt werden, über die Microsoft allerdings selbst sagt: Damit könne es dazu kommen, dass die aktuelle AD-Installation zerschossen werde. Setzt man Windows Server 2008 ein, ist der Einsatz von /options sogar noch komplizierter – da muss man eingeben:

repadmin /?:options

Wer sich mit der Syntax von Repadmin erst einmal auskennt, wird sehen, dass sie für Windows Server 2008 und 2003 identisch sind. Auch wenn die Replikation immer eine Pull-Operation darstellt – das bedeutet dass ein DC immer eine Replikation anfordert und nicht eine in eine andere Richtung ausgibt. Daher wird man üblicherweise die auswärts gerichtete Replikation deaktivieren, denn sie bezieht sich auf das Schema und das Löschen von Objekten. Um die ausgehende Replikation auf einem einzelnen DC zu deaktivieren, ist einzugeben:

repadmin /options <DC name> +disable_outbound_repl

Will man die ausgehende Replikation für mehrere DC deaktivieren, muss man ein einfaches Skript schreiben. Um die Replikation dann erneut zu aktivieren, ist das + mit einem + zu ersetzen und dann das Kommando erneut einzugeben.
Die einzige Ausnahme bei den Repadmin-/option-Kommandos ist beim Windows Server 2008, dass man die ausgehende Replikation für einen kompletten Standort deaktivieren kann. Das erweist sich im Falle eines zufälligen Löschens als recht nützlich:

repadmin /options site: <Site name> disable_outbound_repl

Es gibt einige andere erweiterte Methoden, um die Kontrolle der Replikation zwischen einzelnen DCs oder Gruppen von DCs auszuüben. Doch aus Administrator-Sicht kann sich das zu einem wahren Albtraum auswachsen. Denn diese Einstellungen liegen so weit weg von den Ansatzpunkten, an denen ein AD-Administrator normalerweise hantieren würde, um ein Replikationsproblem zu lösen.

Wenn man diese Aktionen nicht genauestens dokumentiert, kann es sogar dazu kommen, den kompletten DC komplett neu aufsetzen. Selbst die Methode mit den /options ist für den seltenen Problemlöser nicht leicht zu finden. Hier ist auf alle Fälle ein stabiler produktions-Änderungs-Kontroll-Prozess extrem wichtig.

Sean Deuby/rhh

Lesen Sie auch