Teil 2 - Password Policies unter Windows Server 2008 - Anlegen der Policies
Autor: olc, MCSEboard.de
Wählt man etwa in ADSIEdit auf dem „Password Settings Container“ über einen Rechtsklick den Menüpunkt „New“ „Object“, kann man ausschließlich ein neues Objekt namens „msDS-PasswordSettings“ wählen. In den folgenden Dialogen klickt man sich dann durch die Definition des neuen „Password Setting Object“ (PSO) durch.
Beispielhaft soll in diesem HowTo nicht die graphische Variante gewählt werden, sondern die Variante mit LDIFDE. Somit können die Attribute im LDIF-Beispiel kommentiert werden. Es sollte beachtet werden, dass es sich nur um ein Testscript handelt, die Kommentare vor dem Einsatz entfernt werden müssen und es ggf. mit eigenen Attributwerten angepasst werden muss.
Wer über ADSIEdit in einer MMC arbeiten möchte, findet die gleichen Attribute in den Dialogen beim Anlegen der Policy ebenfalls wieder.
‘ Datei: C:\PSO-Enhanced-Security.ldf ‘ Es folgt die Definition des Namens für die neue Password Policy: DN:CN=PSO-Enhanced-Security,CN=Password Settings Container,CN=System,DC=,DC= ‘ Es soll eine neue Policy angelegt werden: changetype:add ‘ Die Objektklasse lautet wie beschrieben wie folgt: objectClass:msDS-PasswordSettings ‘ Das maximale Kennwortalter beträgt (Beispiel 30 Tage): msDS-MaximumPasswordAge:-25920000000000 ‘ Das minimale Kennwortalter vor einer möglichen Änderung lautet (Beispiel 3 Tage): msDS-MinimumPasswordAge:-2592000000000 ‘ Die minimale Kennwortlänge lautet: msDS-MinimumPasswordLength:10 ‘ Als Passwort Historie wählen wir 20 Kennwörter: msDS-PasswordHistoryLength:20 ‘ Kennwortkomplexität aktiv oder inaktiv: msDS-PasswordComplexityEnabled:true ‘ Wie lang ist die Zeit, bis der Counter für falsche Logon-Versuche zurückgesetzt wird (Beispiel 1 Stunde): msDS-LockoutObservationWindow: -36000000000 ‘ Wie lange gilt eine Sperrung, bis der Benutzer sich wieder anmelden kann (Beispiel 30 Minuten): msDS-LockoutDuration: -18000000000 ‘ Wie viele falsche Logon-Versuche können bis zu einer Sperrung durchgeführt werden: msDS-LockoutTreshold: 5 ‘ Es folgt die oben genannte Priorität des Password Setting Objects: msDS-PasswordSettingsPrecedence: 50 ‘ Sollen die Kennwörter mit umkehrbarer Verschlüsselung gespeichert werden? msDS-PasswordReversibleEncryptionEnabled: false ‘ Auf welches Objekt soll die Policy verlinkt werden: MsDS-PSOAppliesTo: CN= ,CN=Users,DC= ,DC=
Erledigt schon - aber was bedeuten die Zahlenkolonnen, die wir im LDIF-File angegeben haben?
Hier lauert Microsofts Geschenk an alle Mathematiker: Die Werte sind als 100 Nanosekunden Intervalle angegeben – und dazu noch „negativ“. Hintergrund ist das sogenannte "I8" Format, welches als Datentyp für das Attribut verwendet wird.
Als kleine Stütze zur Berechnung dieser Werte folgen anbei die Formeln dafür. Für alle, die mit 10^7 oder dem Windows Rechner in der wissenschaftlichen Ansicht nichts anfangen können folgt der Hinweis, dass es sich dabei um eine „1“ mit 7 „Nullen“ handelt, also „10.000.000“.
- Minuten = -(Anzahl) * 60 * 10^7
- Stunden = -(Anzahl) * 60 * 60 * 10^7
- Tage = -(Anzahl) * 24 * 60 * 60 *10^7
Das maximale Kennwortalter kann also beispielhaft wie folgt berechnet werden, sollten 30 Tage gewünscht sein: -30 * 24 * 60 * 60 *10.000.000 = -25920000000000
HINWEIS: Gibt man die Daten über ADSIEdit ein, kann zwei Varianten für die Zeitwerte verwenden: Einerseits in Nanosekunden, anderseits direkt im Zeitformat DD:HH:MM:SS. In der GUI wird das Format nach beiden Eingabe in diesem „lesbaren“ Format angezeigt.
Nutzt man die graphische Variante, müssen die Policies jedoch nach dem Anlegen der Policy noch auf die gewünschten Benutzer- oder Gruppenobjekte verlinkt werden – ADSIEdit bietet hierfür im Dialog zum Anlegen der Policy keine Möglichkeiten. Die Verlinkung kann entweder über die Policy erfolgen (Attribut „msDS-PSOAppliesTo“) oder über das Gruppen- bzw. Benutzerobjekt als Backlink (Attribut „msDS-PSOApplied“).
Welche Policy letztendlich auf dem Objekt greift, kann wie beschrieben z.B. mittels RSOP oder GPRESULT angezeigt werden - es handelt sich dabei um das Attribut "msDS-ResultantPSO", welches ein "Constructed" Attribut auf dem jeweiligen Benutzerobjekt ist, d.h. zur Laufzeit bei Auswertung der PSOs erzeugt wird. Dieser Wert ist also nicht statisch eingetragen, sondern wird bei jedem Zugriff berechnet.
Delegierung
In den Standardeinstellungen ist es ausschließlich Domänen- bzw. Enterprise-Admins erlaubt, die Policies anzulegen. Auch die Bearbeitung der Objekte kann nur Mitgliedern dieser Benutzergruppe erfolgen.
Möchte man diese Aufgabe „delegieren“, müssen die ACLs des entsprechenden Password Setting Objects angepasst werden oder (bei Bedarf) der gesamte Password Settings Container. Hierzu kann beispielsweise wieder ADSIEdit herangezogen (siehe Abbildung 2) werden oder DSACLS.EXE verwendet werden.
© MCSEboard.de, olc

