
Ich verstehe, dass sowohl NTFS-Ordner als auch AD-Objekte Sicherheitsdeskriptoren und DACLs verwenden, um den Benutzer-/Prozesszugriff zu überprüfen MS Learn - So funktioniert die Zugriffsprüfung
Doch wie löst die Zugriffsprüfung ACEs für verschachtelte AD-Gruppen auf? Beispiel:
- AD-Gruppe
AD-Parent
erhält Änderungsrechte fürF:\Restrict
- Die AD-Gruppe
AD-VIPs
ist ein Kind vonAD-Parent
- Benutzer
vip
ist Mitglied vonAD-VIPs
Mein Verständnis ist, dass
vip
Der Sicherheitsdeskriptor verfügt über einen ACE,AD-VIPs
der aufF:Restrict
DACL wird einen ACE haben, der sich bezieht aufAD-Parent
Wie und welcher Prozess in Windows findet die Kette „Vip -> AD-VIPs -> AD-Parent“ und gewährt Zugriff?
Antwort1
Bei der Anmeldung/Authentifizierung/Autorisierungsprüfung wird derSicherheitGruppenmitgliedschaften werden dem PAC-Teil (Privilege Access Certificate) des Kerberos-Tokens hinzugefügt. Dies schließt verschachtelte Gruppen ein.
Beim Zugriff auf einen Ordner vergleicht der Host mit der Ressource (in diesem Fall der Dateiserver) die SecurityIdentifiers in der ACL mit den SecurityIdentifiers im PAC des Kerberos-Tokens. Bei einer Übereinstimmung wird der Zugriff gewährt.
https://learn.microsoft.com/en-us/windows/win32/adschema/a-tokengroups
„Ein berechnetes Attribut, das die Liste der SIDs aufgrund einer transitiven Gruppenmitgliedschaftserweiterungsoperation bei einem bestimmten Benutzer oder Computer enthält. Token-Gruppen können nicht abgerufen werden, wenn kein globaler Katalog zum Abrufen der transitiven umgekehrten Mitgliedschaften vorhanden ist.“
Antwort2
Beginnen wir mit dem Link, den Sie angegeben haben (Hervorhebung von mir):
Das System vergleicht den Treuhänder in jedem ACE mit den im Zugriffstoken des Threads identifizierten Treuhändern.Ein Zugriffstoken enthält Sicherheitskennungen (SIDs), die den Benutzer und die Gruppenkonten identifizieren, zu denen der Benutzer gehört.
Tatsächlich werden „die Gruppenkonten, zu denen der Benutzer gehört“ dem Kerberos-Ticket entnommen, das der Benutzer bei der Anmeldung erhalten hat. Das Ticket enthält die SIDs aller Gruppen, zu denen der Benutzer gehört, unabhängig davon, ob die Gruppe in einer anderen Gruppe verschachtelt ist oder nicht.
Um Ihre Frage konkret zu beantworten:
Wie und welcher Prozess in Windows findet die Kette „Vip -> AD-VIPs -> AD-Parent“ und gewährt Zugriff?
Diese Aufgabe wird vom Domänencontroller ausgeführt, wenn ein Ticket-Granting Ticket (TGT) generiert wird (normalerweise, wenn sich der Benutzer anmeldet). Das TGT enthält die SIDs aller Gruppen, zu denen der Benutzer gehört.
Sie können ein Experiment durchführen und sich ein wenig davon ansehen mitProcess Explorer: Starten Sie Process Explorer, doppelklicken Sie auf einen von einem Domänenbenutzer gestarteten Prozess (z. B. notepad.exe), klicken Sie auf die Registerkarte „Sicherheit“. Hier können Sie die Gruppenmitgliedschaft sehen, auch wenn die Gruppen verschachtelt sind.