Vergabe von Listrechten – Windows Tokencount Problem

Um zu Berechtigungsendpunkten in unteren Verzeichnissen zu gelangen, benötigen die berechtigten Nutzer Listrechte. Dafür können zwei Gruppenarten genutzt werden, einerseits spezielle Listgruppen, andererseits die Berechtigungsgruppen, die für den Berechtigungsendpunkt gebildet werden.

Hier soll gezeigt werden, wie beide Gruppenarten zusammenspielen und dass sich ihre Vor- und Nachteile bei gemeinsamer Nutzung ausgleichen.

Token Count – Token Size Probleme bei der Kerberos Authentifizierung unter Windows

Achtung: Tiefe Verzeichnisstrukturen mit expliziten Berechtigungen führen zwangsweise zum Token-Count-Problem von Kerberos. Dies ist der Fall, wenn ein User in mehr als 1015 Gruppen effektiv Mitglied ist. Dabei spielt der Gruppentyp keine Rolle. Anders als bei der Token-Size, die man über GPO erweitern kann, ist dies bei dem Token-Count Wert nicht möglich!

Angeheizt wird das Problem noch mal, wenn Gruppen noch Einträge in der SID-History habe. Jede weitere SID erhöht den Zähler.

Deswegen ist es wichtig genau darauf zu achten, wie tief man überhaupt Berechtigungen vergibt. Wir empfehlen die Rechte so flach wie möglich aufzusetzen. Das wäre eigentlich ausschließlich die erste Ebene.

1. Die Verwendung von List- und Berechtigungsgruppen zur Vergabe von Listrechten

1.1. Warum Listrechte?

Bei Windows-Servern besteht das Problem, dass ein Nutzer, der auf Unterverzeichnisse (in tieferen Ebenen) Rechte besitzt, das Probleme hat, diese Verzeichnisse zu finden. Ohne ABE sieht er alle Verzeichnisse, erkennt aber nicht, auf welche er Rechte hat, schon gar nicht in tieferen Ebenen.
Mit ABE („zugriffsbasierte Auflistung“ oder besser „berechtigungsgesteuerte Auflistung“) sieht er von seinem aktuellen Standort nur die Unterverzeichnisse, auf die er Rechte hat. Besitzt er darunter Rechte, wird das zu durchquerende Verzeichnis nicht angezeigt. Der Weg ist versperrt.
Auf die zu durchquerenden Verzeichnisse, auf die die Nutzer eigentlich keine Rechte haben, werden den Nutzern Listrechte vergeben.

1.2. Listrechte

Listrechte sind Berechtigungen, die vergeben werden,um den Usern das Browsen durch die Verzeichnisse zu ermöglichen.
Listrechte beinhalten die Rechte:
  • Ordner durchsuchen / Dateien ausführen
  • Ordner auflisten/ Daten lesen
  • Attibute lesen
  • Erweiterte Attribute lesen
  • Berechtigungen lesen
Sie entsprechen den Read & Execute-Rechten aber mit der Einschränkung: nur für diesen Ordner. Listrechte werden also nicht vererbt.

1.3. Zwei Gruppen-Arten zur Vergabe von Listrechten

In anderen Artikeln wurde schon darauf hingewiesen, dass zur Vergabe von Listrechten

  • Listgruppen und
  • Berechtigungsgruppen

verwendet werden können. Dazu stellen sich Fragen, wie:

  • „Kann ich auch nur Listgruppen verwenden?“ oder
  • „Kann ich auch nur Berechtigungsgruppen zur Vergabe von Listrechten nutzen?“ oder
  • „Kann ich oben Berechtigungsgruppen verwenden und unten Listgruppen?“ und
  • „Bis zu welcher Ebene können Listgruppen verwendet werden und ab welcher Berechtigungsgruppen?“

Mit folgendem stark vereinfachten Beispiel soll das anschaulich dargestellt werden.

1.4. Beispiel

Zur Vereinfachung nehmen wir Berechtigungsendpunkte in der Ebene 7 an. Weiterhin legen wir einen Wert für die durchschnittliche Anzahl von Unterverzeichnissen pro Verzeichnis fest. Wir nehmen an, dass in der 7. Ebene auf alle diese Verzeichnisse explizite Rechte vergeben werden. Und schließlich brauchen wir einen durchschnittlichen Wert für die Anzahl der Berechtigungsgruppen pro Berechtigungsendpunkt (BEP).
Wir legen fest, dass jedes Verzeichnis 2 Unterverzeichnisse hat.
In der 7.Ebene hat jedes Verzeichnis eine explizite Berechtigungsgruppe. Das sind die Berechtigungsendpunkte (BEP).

Ebenen unter
dem Share
Anzahl der
Verzeichnisse
Listgruppen
pro Ebene
Berechtigungsgruppen
pro Verzeichnis
Ebene 1:2264
Ebene 2:4432
Ebene 3:8816
Ebene 4:16168
Ebene 5:32324
Ebene 6:64642
Ebene7, BEP:1281

Um die Frage zu beantworten, wo Listgruppen geeignet sind und wo Berechtigungsgruppen, negiert man die Frage am besten:

Wo sind Listgruppen bzw. Berechtigungsgruppen ungeeignet?

Das beantworten die Beispielzahlen anschaulich:

  • In den unteren Ebenen belasten viele Listgruppen den Kerberos-Token für die berechtigten Nutzer.
  • In den oberen Ebenen belasten viele Berechtigungsgruppen die ACL und verlangsamen den Zugang zum Verzeichnis.

Und das umso mehr, je größer die angenommenen Werte sind.

2. Gegenüberstellung beider Verfahren

2.1. Listgruppen

Listgruppen werden zusätzlich angelegt, pro Verzeichnis eine Gruppe.

Problem:

Je Listgruppe vergrößert sich der Kerberos-Token um 8 bzw. 40 Byte, abhängig vom Gruppentyp. Überschreitet die Größe des Kerberos-Tokens einen bestimmten serverabhängigen Wert, ist eine Anmeldung durch den betroffenen Benutzer nicht mehr möglich. Dies führt zum Tokencount Problem.

Schlussfolgerung:

In unserem Beispiel verdoppelt sich die Anzahl der Listgruppen von Ebene zu Ebene. Ab Ebene 4 oder 5 kann die Anzahl der Listgruppen schon erheblich sein. In diesen Ebenen sollten keine Listgruppen mehr verwendet werden. Bei Problemen mit dem Kerberos-Token sollte die Grenze zwischen List- und Berechtigungsgruppen eher nach oben verschoben werden.

2.2. Berechtigungsgruppen mit Listrechten

Diese Gruppen werden nicht zusätzlich angelegt. Es werden die für den Berechtigungsendpunkt (BEP) angelegten Gruppen wiederverwendet. Wichtig ist zu betonen, das diese Berechtigungsgruppen auf die zu durchquerenden Verzeichnisse nur mit Listrechten berechtigt werden.

Problem:

Jede in irgend einer Art berechtigte Gruppe belegt einen Eintrag in der Access Control Liste (ACL) des Verzeichnisses. In unserem Beispiel verdoppelt sich die Anzahl der Berechtigungsgruppen pro Verzeichnis von Ebene zu Ebene, allerdings von unten beginnend. In der obersten Ebene sind alle darunterliegenden Berechtigungsgruppen mit Listrechten berechtigt, das können sehr viele sein. Wollen Sie dieses Verzeichnis einsehen, muss Windows prüfen, ob Sie überhaupt das Recht dazu haben. Windows vergleicht den Inhalt Ihres Anmelde-Tokens mit den ACL-Einträgen dieses Verzeichnisses. Umso mehr Einträge sich in der ACL befinden, desto länger dauert es, bis der Inhalt des Verzeichnisses dem Nutzer angezeigt wird.

Berechtigungsgruppen haben einen Suffix, der dem Recht auf dem Berechtigungsendpunkt entspricht. Davon darf man sich nicht irritieren lassen. In den darüber liegenden Verzeichnissen, in denen diese Gruppe als Listgruppe verwendet wird, hat sie natürlich den gleichen Suffix wie beim BEP, allerdings Listrechte, das ist etwas verwirrend.

Schlussfolgerung:

In den oberen Ebenen sollten daher keine Berechtigungsgruppen direkt auf die Verzeichnisse berechtigt werden. Dafür sollte eine Listgruppe verwendet werden, die nur einen ACL-Eintrag belegt. Die Berechtigungsgruppen werden in diese Listgruppe verschachtelt.

2.3. Fazit

So bilden Listgruppen und Berechtigungsgruppen mit Listrechten eine perfekte Ergänzung zueinander. Die Grenze zwischen beiden müssen Sie entsprechend Ihren Gegebenheiten festlegen. Eine allgemeingültige Regel kann man nicht nennen.

An dem Beispiel ist zu erkennen, welche Parameter die Probleme verursachen und die man daher vermeiden sollte:

  • die Anzahl der Unterverzeichnisse mit expliziten Rechten,
  • die Anzahl der Berechtigungsgruppen pro Berechtigungsendpunkt in Unterverzeichnissen

Permanentlink zu diesem Beitrag: https://help.migraven.com/vergabe-von-listrechten/

Schreibe einen Kommentar

Deine Email-Adresse wird nicht veröffentlicht.