Zurück zur Startseite

ACL in Active Directory: ACE-Typen und Steuerrechte

Der Artikel zerlegt 22 ACE-Typen in Active Directory, ihre Gruppierung, ACCESS_MASK-Betrieb und Steuerzugriffsrechte. Erklärt das Fehlen von GENERIC-Rechten, Vererbung und AllExtendedRights-Beschränkungen für RBCD.

Detaillierte Analyse von ACL und ACE in Active Directory
Advertisement 728x90

# Tiefer Einblick in ACLs in Active Directory: ACE-Typen, ACCESS_MASK und Control Access Rights

Active Directory verwendet 22 ACE-Typen, die in 4 Kategorien für das Zugriffsmanagement gruppiert sind. Der erste Typ umfasst ACCESS_ALLOWED_ACE_TYPE, ACCESS_DENIED_ACE_TYPE, SYSTEM_AUDIT_ACE_TYPE, SYSTEM_MANDATORY_LABEL_ACE_TYPE und SYSTEM_SCOPED_POLICY_ID_ACE_TYPE. Diese ACEs arbeiten mit ACCESS_MASK und der SID des Subjekts und wenden grundlegende Berechtigungen und Verweigerungen an.

Der zweite Typ – ACCESS_ALLOWED_OBJECT_ACE_TYPE und ACCESS_DENIED_OBJECT_ACE_TYPE – erweitert die Möglichkeiten. Er unterstützt ACCESS_MASK, GUIDs für erweiterte Rechte sowie Vererbung an untergeordnete Objekte. Dieser Typ dominiert in AD aufgrund seiner Flexibilität.

Der dritte Typ (ACCESS_ALLOWED_CALLBACK_ACE_TYPE, ACCESS_DENIED_CALLBACK_ACE_TYPE, SYSTEM_AUDIT_CALLBACK_ACE_TYPE, SYSTEM_RESOURCE_ATTRIBUTE_ACE_TYPE) fügt bedingte Ausdrücke zu ACCESS_MASK und SID hinzu. Logische Regeln bewerten das Access Token – etwa um den Zugriff basierend auf Device Claims einzuschränken.

Google AdInline article slot

Der vierte Typ kombiniert Object-ACEs mit bedingten Ausdrücken: ACCESS_ALLOWED_CALLBACK_OBJECT_ACE, ACCESS_DENIED_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_CALLBACK_OBJECT_ACE, SYSTEM_AUDIT_OBJECT_ACE_TYPE. Allerdings werden bedingte Ausdrücke hier von den Verifizierungsmechanismen ignoriert.

Fehlen von GENERIC-Rechten in Sicherheitsdeskriptoren

ACCESS_MASK ist ein 32-Bit-Feld, in dem einzelne Bits Rechte definieren. Standardzuordnungen umfassen GENERIC_READ, GENERIC_WRITE und GENERIC_ALL, doch diese Bits sind in Sicherheitsdeskriptoren verboten. Ihre Setzung führt zu unvorhersehbarem Verhalten, und sie werden vom Autorisierungsalgorithmus ignoriert.

GENERIC-Bits spielen bei Zugriffsprüfungen via AccessCheckByTypeResultListAndAuditAlarmByHandle mit GenericMapping eine Rolle. Dieser Parameter ordnet GENERIC-Rechte objektbezogenen Rechten zu. AD definiert eigene Zuordnungen, die von denen für Dateisysteme oder Dienste abweichen.

Google AdInline article slot

Beim Erstellen eines ACE werden GENERIC-Bits blockiert. In der Praxis ist GENERIC_ALL lediglich eine Kombination aus objektbezogenen Bits basierend auf der Standardzuordnung von AD.

ACCESS_MASK-Flags und Control Access Rights

Wichtige Flags:

  • RIGHT_DS_CREATE_CHILD / RIGHT_DS_DELETE_CHILD: objectGUID ist die schemaID des Kind-Typs (z. B. Computer in OU=Computers). Ohne GUID – gilt für alle Typen.
  • RIGHT_DS_LIST_CONTENTS: Lesen von Kindern; objectGUID ignoriert.
  • RIGHT_DS_WRITE_PROPERTY_EXTENDED: objectGUID für validierte Schreibvorgänge, aber Prüfung per Attributname.
  • RIGHT_DS_READ_PROPERTY / RIGHT_DS_WRITE_PROPERTY: objectGUID ist ein Property Set oder schemaID. Ohne GUID – alle Eigenschaften.
  • RIGHT_DS_DELETE_TREE: Löschen von Objektbäumen.
  • RIGHT_DS_LIST_OBJECT: Objekt-Sichtbarkeit im List Object-Modus (dSHeuristics).
  • RIGHT_DS_CONTROL_ACCESS: objectGUID für erweiterte Rechte. Ohne GUID – alle.

Control Access Rights: Erweiterte Rechte, Validated Writes, Property Sets

Control Access Rights gliedern sich in drei Kategorien:

Google AdInline article slot
  • Erweiterte Rechte – Rechte zur Ausführung von Aktionen (z. B. Domain-Synchronisation).
  • Validated Writes – Änderung spezifischer Attribute mit Validierungsprüfungen.
  • Property Sets – Zugriff auf Attributgruppen für kompaktere ACLs.

AllExtendedRights auf einem Computer-Objekt gewährt keinen Schreibzugriff auf msDS-AllowedToActOnBehalfOfOtherIdentity (RBCD). Dies ist ein Validated Write aus dem User-Account-Restrictions-Property Set (GUID=4c164200-20c0-11d0-a768-00aa006e0529). Es erfordert separate WRITE_PROPERTY- oder Property-Set-Rechte.

ACE-Vererbung in der AD-Hierarchie

ACEs mit Flags wie OBJECT_INHERIT_ACE, CONTAINER_INHERIT_ACE, NO_PROPAGATE_INHERIT_ACE, INHERIT_ONLY_ACE und INHERITED_ACE werden an Kinder weitervererbt. Einfache Typen vererben an alle Container. Object-ACEs (mit GUID) werden durch InheritedObjectType eingeschränkt.

Wichtige Erkenntnisse

  • 22 ACE-Typen in 4 Kategorien: basic, object, callback und object callback.
  • GENERIC-*-Bits werden nicht im SD gespeichert; sie dienen nur der Zuordnung bei Prüfungen.
  • Control Access Rights umfassen erweiterte Rechte (Aktionen), Validated Writes (Attribute) und Property Sets (Gruppen).
  • RBCD erfordert Validated-Write-Rechte, die nicht durch AllExtendedRights abgedeckt sind.
  • ACE-Vererbung wird durch Flags und InheritedObjectType präzise gesteuert.

— Editorial Team

Advertisement 728x90

Weiterlesen