Passwortrichtlinien im Active Directory
In Active Directory regeln die Standard-Domänenrichtlinieneinstellungen die Einstellungen der Kennwortrichtlinien für alle Benutzerkonten. Es kann jedoch sein, dass eine Organisation für verschiedene Benutzer oder Gruppen unterschiedliche Richtlinien festlegen muss, die sogenannten fine-grained password policies .
Die Bedeutung von Kennwortrichtlinien
Kennwortrichtlinien sind ein wichtiger Aspekt der Sicherheitsarchitektur eines Unternehmens. Sie tragen dazu bei, Sicherheitsrisiken wie Brute-Force-Angriffe und die Kompromittierung von Unternehmenspasswörtern zu verringern, indem sie Anforderungen wie Mindestlänge des Passworts, maximales Passwortalter und Passwortverlauf vorschreiben.
Endbenutzer neigen dazu, schwache Passwörter zu erstellen, die normalerweise leicht zu erraten sind und von Hackern mit Brute-Force-Angriffen kompromittiert werden können. Noch schlimmer ist, dass hochrangige Domänenadministratorkonten schwache Passwörter oder sogar mehrere Konten mit demselben Passwort enthalten können.
Die Verwaltung von Passwortrichtlinien in Active Directory
Die Einstellungen der Active Directory-Kennwortrichtlinien werden in der Regel über die Group Policy Management Console (GPMC) konfiguriert. Die Default Domain Policy in Microsoft Active Directory enthält eine Standard-Kennwortrichtlinie, die an die Bedürfnisse des Unternehmens angepasst werden kann. In nachfolgender Abbildung findet sich eine Ansicht der Standarddomänenrichtlinie, die im Group Policy Management Editor angezeigt wird.
Darstellung der Default Passwort Policy in Active Directory in der Group Policy Management Console
Bedeutung der Einstellungsmöglichkeiten für die Default Kennwortrichtlinie
Administratoren können die Default-Einstellungen der Domänenrichtlinien in der Group Policy Management Console (GPMC) einsehen. Nach dem Start von gpmc.msc über eine Ausführungs- oder Cmd-Eingabeaufforderung finden sich diese Einstellungen unter:
Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Account Policies -> Password Policy
Die Einstellungsmöglichkeiten für die Kennwortrichtlinie umfassen Folgendes:
Kennwortverlauf aktivieren (Enforce password history) : Definieren Sie eine bestimmte Anzahl von Kennwörtern, die gespeichert werden, und verhindern Sie, dass der Benutzer ein Kennwort festlegt, das er kürzlich verwendet hat. Dadurch wird AD in die Lage versetzt, Hashes von Kennwörtern zu speichern, um festzustellen, ob das Kennwort schon einmal verwendet wurde.
Maximales Kennwortalter (Maximum password age) : Legen Sie das maximale Kennwortalter fest, um Ihre Kennwortablaufrichtlinien durchzusetzen.
Mindestalter des Kennworts (Minimum password age) : Legen Sie ein Mindestalter für das Kennwort fest, das bestimmt, wie lange ein Kennwort verwendet werden muss, bevor der Benutzer es ändern kann.
Mindestlänge des Kennworts (Minimum password length) : Legen Sie die Mindestlänge des Kennworts fest, um zu verhindern, dass sehr kurze Kennwörter verwendet werden.
Kennwörter müssen Komplexitätsanforderungen erfüllen: Diese Einstellung legt fest, ob Kennwörter Komplexitätsanforderungen erfüllen müssen. Wenn diese Richtlinie aktiviert ist, müssen Passwörter die folgenden Mindestanforderungen erfüllen:
Passwörter dürfen nicht den Kontonamen des Benutzers oder Teile des vollständigen Namens des Benutzers enthalten, die aus mehr als zwei aufeinander folgenden Zeichen bestehen.
Müssen mindestens sechs Zeichen lang sein
Müssen Zeichen aus drei der vier Kategorien enthalten:
Großbuchstaben aus dem Lateinischen Alphabet (A through Z)
Kleinbuchstaben aus dem Lateinischen Alphabet (a through z)
Zahlen von 0-9
Sonderzeichen (Zum Beispiel:, !, $, #, %)
Komplexitätsanforderungen werden erst dann erzwungen, wenn Passwörter geändert oder neu erstellt werden.
Speichern von Kennwörtern mit umkehrbarer Verschlüsselung (reversible encryption) : Bietet Unterstützung für Anwendungen, die Protokolle verwenden, die die Kenntnis des Kennworts des Benutzers zu Authentifizierungszwecken erfordern.
Anmerkung: Das Speichern von Kennwörtern mit umkehrbarer Verschlüsselung ist bezüglich des Sicherheitsrisikos beinahe gleichbedeutend mit dem Speichern von Klartextversionen der Kennwörter. Aus diesem Grund sollte diese oben zuletzt genannte Richtlinie niemals aktiviert werden, es sei denn, die Anforderungen der Anwendung überwiegen die Notwendigkeit, die Kennwortdaten zu wirkungsvoll zu schützen.
PowerShell-Befehle für die Verwaltung von Active Directory-Kennwortrichtlinien
Wie bereits erwähnt, ist PowerShell ein hervorragendes Tool, um die Verwaltung und Konfiguration von Active Directory-Kennwortrichtlinien zu automatisieren. Im Folgenden finden Sie einige Beispiele für PowerShell-Befehle zur Verwaltung gängiger AD-Kennwortrichtlinieneinstellungen.
Beispiel 1: Abrufen der Default Domain Passwortrichtlinie
Mit nachfolgenden PowerShell-Befehlen lässt sich die Default Domain Passwortrichtlinie anzeigen.
Import-Module ActiveDirectory
Get-ADDefaultDomainPasswordPolicy
Beispiel 2: Mindestlänge für Passwörter festlegen
Administratoren können PowerShell verwenden, um die Mindestlänge für Kennwörter wie folgt festzulegen:
Set-ADDefaultDomainPasswordPolicy -Identity "domain.com" -MinPasswordLength 10
Beispiel 3: Mindestalter für Passwörter festlegen
Mit dem nachfolgenden Befehl lässt sich das Mindestalter für Passwörter mithilfe der PowerShell festlegen:
Set-ADDefaultDomainPasswordPolicy -Identity "domain.com" -MinPasswordAge 2.00:00:00
Beispiel 4: Neue Fine Grained Password Policies erstellen
Mit den neueren Versionen der Microsoft Active Directory-Domain Services können Administratoren jetzt mehrere Kennworteinstellungsobjekte (PSOs) erstellen, um unterschiedliche Kennwortrichtlinien für verschiedene Benutzer, Computer, Standorte usw. anzuwenden. Zum Beispiel:
# Import the necessary Active Directory module
Import-Module ActiveDirectory
# Create a new PSO
New-ADFineGrainedPasswordPolicy -Name "TestPasswordPolicy" -Precedence 500 -ComplexityEnabled $true -ReversibleEncryptionEnabled $false -MinPasswordLength 8 -PasswordHistoryCount 24 -MaxPasswordAge (New-TimeSpan -Days 60) -MinPasswordAge (New-TimeSpan -Days 1) -LockoutThreshold 5 -LockoutObservationWindow (New-TimeSpan -Minutes 30) -LockoutDuration (New-TimeSpan -Minutes 30)
Nachfolgende Abbildung zeigt Sie einen ähnlichen Befehl, um ein neues PSO-Object zu erstellen.
Befehl zu Erstellung einer neuen Fine-Grained Password Policy
Dieser Befehl erstellt ein neues PSO mit den folgenden Einstellungen:
Name : TestPasswordPolicy
Precedence : 500
Password complexity : Enabled
Reversible encryption : Disabled
Minimum password length : 8 characters
Password history count : The last 24 passwords
Maximum password age : 60 days
Minimum password age : 1 day
Account lockout threshold : 5 failed logon attempts
Lockout observation window : 30 minutes
Lockout duration : 30 minutes
Bitte daran denken, den Parameter „TestPasswordPolicy “ durch einen Namen Ihrer Wahl zu ersetzen und die anderen Parameter entsprechend den Anforderungen der eigenen Organisation an die Passwortrichtlinie anzupassen.
Nachdem die PSO erstellt wurde, muss diese auf einen Benutzer oder eine Gruppe angewandt werden. Beispielsweise ließe sich diese neue Richtlinie auf eine Gruppe namens „TestGroup “ anwenden:
# Anwenden der PSO auf eine Gruppe
Add-ADFineGrainedPasswordPolicySubject "TestPasswordPolicy " -Subjects "TestGroup"
Hinweis: Fein abgestufte Kennwortrichtlinien und die zugehörigen Cmdlets für deren Verwaltung (wie New-ADFineGrainedPasswordPolicy) erfordern mindestens Windows Server 2008.
Wichtige Aspekte für die Automatisierung von Kennwortrichtlinien in Active Directory mit PowerShell
1. Fine Grained-Kennwortrichtlinien
Die oft vergessenen fine-grained password policies in Active Directory bieten eine granulare Kontrolle über die Domänenkennwortrichtlinie. Da sie die Erstellung mehrerer Kennwortrichtlinien innerhalb derselben Domäne ermöglichen, eignen sie sich perfekt für Situationen, in denen besondere Kennwortanforderungen für bestimmte Benutzerkonten oder Gruppen erforderlich sind, für andere jedoch nicht.
2. Schutz vor Brute-Force-Angriffen mithilfe von Lockout-Richtlinien
Brute-Force-Angriffe auf Benutzerkonten sind eine reale Bedrohung. Der effektive Einsatz der Parameter LockoutThreshold, LockoutObservationWindow und LockoutDuration in der Active-Directory-Passwortrichtlinie kann eine erste Verteidigung gegen solche Versuche sein. Administratoren sollten daran denken, dass jeder fehlgeschlagene Anmeldeversuch eine mögliche Gefahr für die Passwörter der Mitarbeiter darstellt.
3. Gleichgewicht zwischen Sicherheit und Benutzerfreundlichkeit wahren
Die Durchsetzung einer soliden Kennwortrichtlinie verhindert schwache Kennwörter und erhöht die Kennwortsicherheit. Zu strenge Richtlinien können jedoch zu häufigen Passwortwechseln führen, die Unannehmlichkeiten verursachen und möglicherweise unsichere Praktiken wie das Aufschreiben von Passwörtern zur Folge haben.
Verwenden die PowerShell-Befehle, um ein ausgewogenes Verhältnis zu finden, und konzentriere dich dabei auf Parameter wie MinPasswordLength, MaxPasswordAge und PasswordHistoryCoun t . Ihr Ziel sollte es sein, die Sicherheit zu maximieren, ohne die Benutzerfreundlichkeit wesentlich zu beeinträchtigen.