Sicherheitsmanagement im Active Directory

05.02.2007 von Martin Kuppinger
Die wichtigste Maßnahme für mehr Sicherheit im Windows Active Directory ist die gezielte Vergabe von Zugriffsberechtigungen. Dabei kann man wahlweise mit einem Assistenten arbeiten oder Berechtigungen direkt vergeben.

Das Active Directory ist das zentrale Element der Sicherheitsinfrastruktur in Windows-Umgebungen. Es wird standardmäßig so eingerichtet, dass nur der zunächst definierte Administrator volle Zugriffsberechtigungen hat und Änderungen vornehmen kann. Je größer das Netzwerk wird, desto differenziertere Berechtigungen sind aber erforderlich, um beispielsweise Operatoren nur die Änderung von Benutzerkonten in bestimmten organisatorischen Einheiten zu erlauben oder um ausgewählten Benutzern einzelner Organisationsbereiche die Möglichkeit zu geben, Kennwörter zurückzusetzen.

Wer was im Active Directory machen darf, lässt sich über drei Mechanismen steuern. Der erste und einfachste ist die Zuordnung von Benutzern zu den vordefinierten Gruppen mit spezifischen administrativen Berechtigungen. Der zweite ist die Vergabe von zusätzlichen Berechtigungen über einen Assistenten. Alternativ dazu kann man, als dritte Möglichkeit, die Zugriffsberechtigungen im Active Directory auch direkt bearbeiten.

Vordefinierte Gruppen

Die meisten vordefinierten Gruppen mit administrativen Berechtigungen finden sich im Container Users. In einer Forest-Root-Domäne – also der ersten in einem Forest eingerichteten Domäne – gibt es zunächst drei besonders wichtige administrative Gruppen:

Vorkonfiguriert: Im Container „Users“ des Active Directory finden sich mehrere vordefinierte Sicherheitsgruppen, die in Sicherheitskonzepten für das Active Directory genutzt werden können.

Grundsätzlich gilt, dass man bei allen Gruppen sehr restriktiv bezüglich der Zuordnung von Benutzern sein sollte, da die Gruppen standardmäßig umfassende Zugriffsrechte besitzen.

Weitere Gruppen

Im Container Users finden sich aber auch weitere Gruppen mit administrativen Berechtigungen. Dazu zählen die DHCP-Administratoren und DNSAdmins mit den administrativen Berechtigungen für diese beiden Infrastrukturdienste und die Richtlinien-Ersteller-Besitzer, die Gruppenrichtlinien in einer Domäne modifizieren dürfen. Hier wird schon deutlich, dass durchaus eine Trennung verschiedener administrativer Aufgaben angedacht ist.

Altlasten: Im Container „Builtin“ finden sich Operatorengruppen, die aus Gründen der Kompatibilität zu Windows-NT-Domänen definiert wurden. Diese Gruppen können für die Sicherheitsadministration genutzt werden.

Neben dem Container Users gibt es auch noch den Container Builtin mit vordefinierten Gruppen. Hier gibt es Gruppen wie Konten-Operatoren oder Server-Operatoren, die bestimmte administrative Aufgaben übernehmen dürfen. Ursprünglich wurden der Container und die darin enthaltenen Gruppen aus Kompatibilitätsgründen zu Windows-NT-Domänen definiert. Sie können aber auch im Active Directory weiter genutzt werden. So hat die Gruppe der Konten-Operatoren beispielsweise die Berechtigung zur Verwaltung von Benutzer- und Computerkonten, kann aber keine anderen administrativen Aufgaben übernehmen. Statt eigene operative Gruppen zu erstellen, bietet es sich an, mit diesen vordefinierten Gruppen zu arbeiten.

Dass die Gruppen im Container Builtin nicht nur historische Relevanz haben, zeigt sich auch daran, dass es dort spezielle Gruppen für das Active Directory wie die Erstellungen eingehender Gesamtstrukturvertrauensstellung gibt. Damit können so genannte Cross-Forest-Trusts erstellt werden, die erst mit dem Windows Server 2003 eingeführt wurden.

Der Vorteil der Nutzung vordefinierter Gruppen liegt darin, dass man die Sicherheitsadministration mit sehr wenig Aufwand durchführen kann. Statt Berechtigungen anzupassen, muss man nur Benutzer oder bereits vorhandene Gruppen in diese speziellen Sicherheitsgruppen aufnehmen.

Die Delegation von Berechtigungen

Ein Nachteil davon, sich auf die genannten vordefinierten Gruppen zu beschränken, liegt darin, dass die zugewiesenen administrativen Berechtigungen dieser Gruppen jeweils für die gesamte Domäne gelten. Wenn man nun aber die Administration einzelner Bereiche einer Domäne bestimmten Benutzergruppen zuordnen möchte, reichen diese Gruppen nicht aus. Gleiches gilt auch, wenn man einer Gruppe zwar das Recht zugestehen möchte, beispielsweise die Telefonnummern und Adressen von Benutzern, die ja auch im Active Directory gespeichert werden können, zu ändern, aber zum Beispiel keine Kennwörter oder Gruppenzuordnungen.

Ein typischer Fall ist die Delegation der Erstellung von neuen Benutzern in einer organisatorischen Einheit an lokale Operatoren. Man kann aber auch einzelne Berechtigungen wie das Ändern von Adressdaten oder das Zurücksetzen von Kennwörtern delegieren.

In diesem Fall kommt der Assistent zum Zuweisen von Objektberechtigungen ins Spiel, mit dem administrative Berechtigungen delegiert werden können. Der Assistent kann im Kontextmenü von Domänen und organisatorischen Einheiten aufgerufen werden. Dort findet sich jeweils der Befehl Objektverwaltung zuweisen.

Im ersten Schritt müssen eine oder mehrere Benutzergruppen ausgewählt werden, denen die neuen Rechte gegeben werden sollen. Man kann zwar theoretisch auch einzelne Benutzer wählen. Davon ist aber unbedingt abzuraten, da es die Administration unübersichtlich und aufwändig macht. Wenn man mit einer Gruppe arbeitet, führt man die Zuweisung der Objektberechtigungen einmal durch. Anschließend kann man sich darauf beschränken, Benutzer in die Gruppe aufzunehmen oder aus der Gruppe zu entfernen.

Würde man dagegen individuelle Benutzer auswählen, dann müsste man bei jeder Änderung dem entsprechenden Benutzer die Berechtigungen wieder manuell entziehen oder sie zusätzlichen Benutzern über den Assistenten geben. Es ist ohnehin eine der „goldenen Regeln“ der Windows-Administration, dass man Berechtigungen generell nur an Gruppen vergibt.

Die vordefinierten Tasks

Der einfachste Ansatz für die Administration ist die Zuweisung vordefinierter Tasks. Eine solche Liste wird bei Nutzung des Assistenten im nächsten Schritt angezeigt. Die Liste unterscheidet sich zwischen Domänen und organisatorischen Einheiten kaum.

Bei einer Domäne gibt es die folgenden Tasks:

Bei organisatorischen Einheiten fehlt die Aufgabe Fügt einen Computer einer Domäne hinzu. Dafür gibt es die Aufgabe Erstellt, löscht und verwaltet Gruppen. Die meisten dieser Aufgaben sind selbsterklärend. Die Richtlinienergebnissätze sind spezielle Analysefunktionen bei Gruppenrichtlinien. In der Planung kann analysiert werden, wie sich eine Gruppenrichtlinie wohl auswirken würde. Bei der Protokollierung kann ermittelt werden, welche tatsächlichen Änderungen durch eine Gruppenrichtlinie verursacht werden.

Gut gefüllt: Die Liste mit den Aufgaben, die über den Assistenten für die Objektverwaltung bei organisatorischen Einheiten delegiert werden können.

Die Aufgaben zur inetOrgPerson beziehen sich auf spezielle Benutzerobjekte. Die inetOrgPerson ist eine Objektklasse, die in vielen LDAP-Verzeichnissen für Benutzerobjekte verwendet wird. Da es sich dabei um eine zweite Variante von Benutzerkonten handelt, können dafür auch gesondert Zugriffsberechtigungen konfiguriert werden.

Nach der Auswahl eines oder mehrerer Tasks werden die entsprechenden Berechtigungen vergeben. Abschließend wird ein Dialogfeld angezeigt, in dem man seine Änderungen noch einmal kontrollieren kann.

Benutzerdefinierte Tasks

Falls die standardmäßigen Tasks nicht die Anforderungen abdecken, kann man auch eigene Tasks erstellen. Ein Beispiel ist die Erteilung von Änderungsberechtigungen nur für einen Teil der Attribute von Benutzerobjekten, wie sie beispielsweise erforderlich ist, wenn ausgewählte Mitarbeiter in Fachbereichen bestimmte Informationen wie Adressen und Telefonnummern von anderen Mitarbeitern ändern dürfen. Da die Berechtigungen ja unabhängig von der gewählten Schnittstelle gelten, sind solche Anpassungen oft auch für Self-Service-Portale erforderlich.

Mit der Option Benutzerdefinierte Tasks zum Zuweisen erstellen lassen sich solche Tasks erzeugen. Die Option findet sich in dem Dialogfeld, in dem oben die allgemeinen (vorgegebenen) Tasks zu sehen sind.

Individuell: Über die Auswahl der Objekte werden eigene Berechtigungen vergeben.

Im nächsten Schritt müssen der oder die Active-Directory-Objekttypen ausgewählt werden, für die Berechtigungen angepasst werden sollen. Eine Option ist die Zuweisung der Berechtigungen für alle Objekte in diesem Ordner und untergeordneten Ordnern. In den meisten Fällen sollen die Berechtigungen aber auf bestimmte Objektklassen wie „Benutzer“-Objekte beschränkt sein, so dass man entsprechende Objekte auswählen wird. Mit den beiden Optionen Gewählte Objekte in diesem Ordner erstellen und Gewählte Objekte in diesem Ordner löschen wird gesteuert, ob Objekte auch angelegt und gelöscht oder nur gelesen und geändert werden dürfen.

Da es im Active Directory sehr viele Objektklassen gibt, ist die Liste entsprechend lang. Die wichtigsten Objektklassen sind aber einfach identifizierbar, weil sie mit einem Großbuchstaben beginnen. Diese werden vom System sozusagen „erkannt“ und mit einem sprechenden Namen angezeigt, während bei den anderen Objektklassen der generell mit einem Kleinbuchstaben beginnende Name der Objektklasse aus dem Active Directory angezeigt wird.

Die Berechtigungen

Nachdem das oder die Objekte ausgewählt wurden, müssen noch die Berechtigungen konfiguriert werden. Im entsprechenden Dialogfeld des Assistenten werden standardmäßig allgemeine Berechtigungen angezeigt. Dabei handelt es sich um Berechtigungen wie den Vollzugriff, aber auch um vordefinierte, aggregierte Berechtigungen wie Kennwort ändern oder Lesen und Schreiben Telefon- und Postoptionen. In vielen Fällen wird man damit auskommen.

Granular: Nach der Auswahl der Objekte müssen die Berechtigungen definiert werden. Diese können bis auf die Ebene einzelner Attribute hinunter gesteuert werden.

Solche aggregierten Berechtigungen finden sich aber nur bei den bereits oben erwähnten Objekten, die vom System speziell behandelt werden. Bei anderen Objekten kann man nur allgemeine Berechtigungen wie Vollzugriff setzen oder auf Attributebene steuern, welche Attribute gelesen und welche geändert werden dürfen.

Um Berechtigungen auf der Ebene von einzelnen Attributen vergeben zu können, muss man die Option Eigenschaftenspezifisch auswählen. Danach wird die vollständige Liste aller Attribute angezeigt. Jedes Attribut erscheint zweimal, einmal in der Form accountExpires lesen und einmal in der Art von accountExpires schreiben.

Von der Vergabe von Berechtigungen auf Attributebene ist grundsätzlich eher abzuraten. Das Problem dabei ist, dass man schnell den Überblick verliert. Solange man mit den vordefinierten Aufgaben oder mit den genannten aggregierten Berechtigungen auskommt, sollte man diese nutzen. Falls sie nicht reichen, muss man natürlich auf der Ebene einzelner Eigenschaften arbeiten.

Spätestens dann gilt aber auch, dass man jede Zuweisung von Objektrechten ganz genau dokumentieren sollte, um auch nach einiger Zeit noch nachvollziehen zu können, wer welche Berechtigungen im Active Directory hat.

Standorte und Dienste

Berechtigungen lassen sich übrigens nicht nur für Domänen und organisatorische Einheiten über den Assistenten setzen, sondern auch für Standorte, Dienste und die Kommunikation zwischen Standorten (Inter-Site Transports). Im Verwaltungsprogramm Active Directory-Standorte und -Dienste findet sich im Kontextmenü ebenfalls jeweils der Befehl Objektverwaltung zuweisen.

Allerdings beschränkt sich die Konfiguration hier in der Praxis darauf, dass man einerseits einer ausgewählten Operatorengruppe die Standort- und Transportverwaltung zuweist und andererseits einer Gruppe die Dienstverwaltung. Mehr Anpassungen sind hier normalerweise nicht erforderlich. Allenfalls in sehr großen Infrastrukturen könnte eine regionale Trennung noch Sinn machen.

Mit dem Assistenten für die Zuweisung der Objektverwaltung lassen sich aber in erfreulich einfacher Weise Berechtigungen im Active Directory setzen und damit Benutzergruppen Zugriffsrechte zuordnen. In der englischen Version wird auch von Delegation gesprochen – und genau darum geht es: Die gezielte Delegation ausgewählter Verwaltungsaufgaben an spezielle Gruppen im Active Directory. Denn diese gezielte und beschränkte Delegation ist die Basis für die Sicherheit des Active Directory. Wenn viele alles oder zumindest sehr viel dürfen, ist diese nicht zu gewährleisten – bei einer gezielten, eingeschränkten Delegation dagegen schon. (ala)