Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Neben der Default Domain Policy die standardmäßig zum Einsatz kommt, um die
allgemeingültige Kennwortrichtlinie auszurollen, können wir eine weitere Methode
umsetzen, um eine oder mehrere Kennwortrichtlinien zu erstellen und Benutzern zu
zuweisen. Die Fine-Grained Password Policy ist ein Instrument seit Server 2008 und
erlaubt den Einzel- oder parallelbetrieb zur Default Password Policy.
Ich persönlich setze die FGPP gerne dafür ein, um technische Accounts vor einer
Kontosperrung zu bewahren.
Auf den nachfolgenden Seiten zeige ich lediglich Konfigurationsbeispiele. Wie die
Richtlinie dann später eingesetzt wird bleibt jedem selbst überlassen.
Dazu öffnen wir den ADSI_Editor und legen unter dem Standard Namenskontext
folgende neue Werte an.
Navigieren zu System > Pasword Settings Container und bestimmen zuerst eine
neue Klasse.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Klasse bestimmen:
Name der neuen Policy.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Rangfolge = 1
Klartext = false
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Historie = 14 Tage
Komplexität = true
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Minimale Passwortlänge = 8 oder z.B. 12
Minimum Passwortalter = 1 Tag oder (Keine) = kann so oft geändert werden wie
man will aber das deaktiviert die Historie (Kennwortchronik)
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Maximales Passwortalter = 90 Tage oder (nie) = läuft nicht ab
Sperren nach Fehlversuchen = 10 oder 0; 0=nie
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Für Sekunden im Verzeichnis gesperrt bleiben = 5 : Tage:Std:Min:Sek
Automatische Entsperrung nach Sekunden = 5 : Tage:Std:Min:Sek
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Fertig. Die Policy ist angelegt.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Verknüpfe die Policy mit einer Security Group in der die technischen User enthalten sind:
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Info: Dieses Feld ist ein Multiple Value. Es kann mehrere User und Gruppen aufnehmen.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Mein Test-User ist Mitglied der SG FineGrainedPolicy-TechnischeUser:
Abfragen ob mein Test-User tatsächlich dem PSO Objekt zugeordnet ist:
dsget <DN> -effectivePSO
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Aktuelle Eigenschaften des Users Test: Kennwort läuft nie ab
Die letzte Anmeldung war vor über 80 Tagen.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Melde mich jetzt an Server SRV01 an und prüfe die aktuelle Kennwortrichtlinie der DDP:
Melde mich bewusst 20 Mal falsch an, der BAD Counter zählt immer hoch auf 3 und bei
der nächsten Falscheingabe oder 5 Sekunden später fällt er zurück auf = 1
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Melde mich jetzt wieder mit dem wahren Kennwort an und der BAD Counter fällt zurück
auf = 0; und der Account ist nicht gesperrt 😉
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Als Gegenbeweis mit einem Account der nicht der TechPolicy unterliegt.
Aktuelle Einstellungen des User NDS.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Nach 3 Fehlversuchen gesperrt.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Jetzt werde ich versuchen das Passwort zu ändern und belegen, dass die PSO TechPolicy
die Nase gegenüber der Default Domain Policy vorn hat.
Aktuelle Passwortlänge 9 Zeichen. Versuche es mit einem 10-stelligen Passwort.
Keine Chance!
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Dann mit 14 Zeichen.
Die FGPP gewinnt das Spiel.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Eine weitere Möglichkeit zum Anlegen wäre die über das Verwaltungscenter.
Bei der Vergabe von Werten über das Verwaltungscenter gibt es Einschränkungen.
Hier können wir keine Sekunden angeben. Die Werte fangen erst mit Minuten an.
Genauso wie beim minimalen Kennwortalter, mindestens 1 tag.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Über die Powershell können wir die Passwort Policy benutzerbezogen abfragen.
Get-ADUserResultantPasswordPolicy Test
Erlaubte Grenzwerte:
Attribute Beschreibung Akzeptierte Werte Beispiel
msDS-PasswordSettingsPrecedence Password Settings Precedence Greater than 0 5
msDS-PasswordReversibleEncryptionEnabled Password reversible encryption status for user accounts FALSE / TRUE (Recommended: FALSE) FALSE
msDS-PasswordHistoryLength Password History Length for user accounts 0 through 1024 3
msDS-PasswordComplexityEnabled Password complexity status for user accounts FALSE / TRUE (Recommended: TRUE) TRUE
msDS-MinimumPasswordLength Minimum Password Length for user accounts 0 through 255 6
(None)
00:00:00:00 through msDS-MaximumPasswordAgevalue
(Never)To set the time to (never), set the value to -
9223372036854775808.
msDS-MinimumPasswordAgevalue through (Never)
msDS-MaximumPasswordAgecannot be set to zero
msDS-LockoutThreshold Lockout threshold for lockout of user accounts 0 through 65535 10
(None)
00:00:00:01 through msDS-LockoutDuration value
(None)
(Never)
msDS-LockoutObservationWindowvalue through (Never)
msDS-PSOAppliesToLinks to objects that this password settings object
applies to (forward link)0 or more DNs of users or global security groups
CN=Test,OU=User
Accounts,OU=User,OU=
ORG,DC=ndsedv,DC=de
msDS-LockoutObservationWindow Observation Window for lockout of user accounts0:00:15:00 (15
minutes)
msDS-LockoutDuration Lockout duration for locked out user accounts0:00:10:00 (10
minutes)
msDS-MinimumPasswordAge Minimum Password Age for user accounts 2:00:00:00 (2 day)
msDS-MaximumPasswordAge Maximum Password Age for user accounts 60:00:00:00 (60 days)
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Folgende Werte können gesetzt werden:
Attribute Werte
msDS-PasswortSettingsPrecedence, Integer Das ist der Wert für Rangfolge
msDS-
PasswordReversibleEncryptionEnabled,
Boolean
Hier stellen wir ein, ob das Passwort
entschlüsselt (Klartext) werden darf.
"false" und "true"
msDS-PasswordHistoryLength, Integer Passwort Historie
msDS-PasswordComplexityEnabled, Boolean Komplexität. "false" oder "true" angeben."
msDS-MinimumPasswortLength, Integer Passwortlänge. 0-255 Zeichen
msDS-MinimumPasswordAge, Duration Für 5 Tage: 05:00:00:00. Ohne Angabe gibt
es kein Minimumalter.
msDS-MaximumPasswordAge, Duration Die Dauer, wie lange das Passwort gültig ist,
bevor es endgültig geändert werden muss.
Soll das Passwort nie ablaufen, kann ich
"(nie)" eingeben.
msDS-LockoutThreshold, Integer Erlaubte Fehlversuche bevor der Account
gesperrt wird. 0 - 65535 ist möglich, 0 ist
unendlich
msDS-LockoutObservationWindow, Duration Wie lange sollen Fehlversuche
zwischengespeichert werden, bevor der
"Bad Counter" auf 0 zurückgesetzt wird?
Hier muss ich wieder eine Duration
angeben. Ich nehme 5 Sekunden, also:
00:00::05
msDS-LockoutDuration, Duration Zeitspanne angeben, wie lange die Accounts
gesperrt werden: Ich nehme 5 Sekunden,
also: 00:00::05
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Das Ganze können wir natürlich auch über die Kommandozeile LDIF einstellen:
ldifde –i –f TechPolicy2.ldf
dn:CN=TechPolicy2,CN=Password Settings Container,CN=System,DC=ndsedv,DC=de
changetype: add
objectClass: msDS-PasswordSettings
msDS-MaximumPasswordAge:-1728000000000
msDS-MinimumPasswordAge:-864000000000
msDS-MinimumPasswordLength:12
msDS-PasswordHistoryLength:10
msDS-PasswordComplexityEnabled:TRUE
msDS-PasswordReversibleEncryptionEnabled:FALSE
msDS-LockoutObservationWindow:-300000000
msDS-LockoutDuration:-300000000
msDS-LockoutThreshold:0
msDS-PasswordSettingsPrecedence:3
msDS-PSOAppliesTo:CN=TechPolicy2,OU=Groups,OU=ORG,DC=ndsedv,DC=de
und wieder löschen:
dn:CN=TechPolicy2,CN=Password Settings Container,CN=System,DC=ndsedv,DC=de
changetype: delete
ldifde –i –f TechPolicy2.ldf
Die Negative PSO Attribute werden wie folgt berechnet:
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Oder per Powershell:
New-ADFineGrainedPasswordPolicy -Name „TechPolicy3“ -Precedence 2 -
ComplexityEnabled $true -Description “Nur fuer technische User” -DisplayName
“TechPolicy” -LockoutDuration “0.00:00:30” -LockoutObservationWindow “0.00:00:30” -
LockoutThreshold 10 -MaxPasswordAge “2.00:00:00” -MinPasswordAge “1.00:00:00” -
MinPasswordLength 12 -PasswordHistoryCount 10 -ReversibleEncryptionEnabled $false
Einer SG zuweisen:
Add-ADFineGrainedPasswordPolicySubject TechPolicy3 -Subjects TechPolicy
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Weitere Powershell Befehle:
Get-ADFineGrainedPasswordPolicy TechPolicy3
Get-ADFineGrainedPasswordPolicy -Filter {name -like "*Tech*"}
Get-ADFineGrainedPasswordPolicy -Filter {Name -like "*"} | format-table Name,
Precedence,MaxPasswordAge,MinPasswordLength
Get-ADFineGrainedPasswordPolicy 'CN=TechPolicy3,CN=Password Settings
Container,CN=System,DC=ndsedv,DC=de' -Properties *
Löschschutz der PSO aktiv beim Versuch diese zu löschen:
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Meine persönlichen Einstellungen für technische User in einer geschlossenen
Umgebung:
Wie wir sehen kann sich der User so oft falsch anmelden wie er will und wird nicht
gesperrt. In produktiven Umgebungen natürlich nicht immer empfehlenswert.
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
In einer produktiven Umgebung schon eher so:
10 Falscheingaben und der Account wird für 1 Minute gesperrt:
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Server 2016 - Fine-Grained Password Policy
Erstellt von Jörn Walter www.der-windows-papst.de – 03.02.2017
Nach 1 Minute wieder entsperrt: