Automatisierung der Sicherheit in Active Directory Kennwortrichtlinien in Active Directory mit der PowerShell verwalten

Autor / Redakteur: Thomas Joos / Peter Schmitz

Um die Sicherheit von Kennwörtern in Active Directory zu steuern, kann auch die PowerShell genutzt werden. Dadurch lässt sich schnell einen Überblick gewinnen. Auch das Anpassen der Richtlinien ist möglich.

Firma zum Thema

Mit der Powershell können Administratoren die Kennwortrichtlinien in ihrem Active Directory automatisiert verwalten.
Mit der Powershell können Administratoren die Kennwortrichtlinien in ihrem Active Directory automatisiert verwalten.
(© jariyawat - stock.adobe.com)

Über lokale Richtlinien und Gruppenrichtlinien kann zentral festgelegt werden, dass Anwender keine unsicheren Kennwörter verwenden dürfen und wie oft ein Kennwort falsch eingegeben werden darf, bevor ein Konto gesperrt ist. Diese Aufgaben können aber auch über die PowerShell gesteuert werden. Sinnvoll ist das, wenn Administratoren, in der PowerShell Verwaltungsaufgaben durchführen und sich schnell einen Überblick verschaffen oder Einstellungen ändern wollen.

Bildergalerie
Bildergalerie mit 6 Bildern

Kennwortrichtlinie anzeigen und filtern

Um sich einen Überblick zu den gesetzten Richtlinien zu verschaffen, kann in der PowerShell mit „Get-ADDefaultDomainPasswordPolicy“ die aktuelle Richtlinie für Kennwörter in Active Directory angezeigt werden. Hilfreich ist das zum Beispiel, wenn Benutzer Probleme bei der Anmeldung oder dem Ändern von Kennwörtern haben. Durch das Cmdlet können die hinterlegten Einstellungen überprüft werden.

Sind in Active Directory mehrere Richtlinien hinterlegt, kann das Cmdlet auch die Richtlinie anzeigen, die für den angemeldeten Benutzer verwendet werden. Dazu wird der Parameter „-Current LoggedOnUser“ genutzt. Auch die Richtlinie für den lokalen Computer kann angezeigt werden. Hierfür steht der Parameter „-Current LocalComputer“.

Sind in Active Directory mehrere Domänen im Einsatz können die Richtlinien für alle Domänen in der Gesamtstruktur angezeigt werden:

(Get-ADForest -Current LoggedOnUser).Domains | %{ Get-ADDefaultDomainPasswordPolicy -Identity $_ }

Alternativ kann das Cmdlet „Get-ADDefaultDomainPasswordPolicy“ auch zusammen mit der Domäne aufgerufen werden, für welche die Einstellungen der Kennwortrichtlinien angezeigt werden sollten:

Get-ADDefaultDomainPasswordPolicy joos.int

Richtlinieneinstellungen für Kennwörter bearbeiten

Die Bearbeitung der Richtlinien erfolgt mit dem Cmdlet „Set-ADDefaultDomainPasswordPolicy“. Das Anpassen erfolgt wie bei anderen Einstellungsmöglichkeiten der PowerShell. Die einzelnen Optionen, die mit „Get-ADDefaultDomainPasswordPolicy“ angezeigt werden, können wiederum mit „Set-ADDefaultDomainPasswordPolicy“ angepasst werden. Hier stehen folgende Optionen zur Verfügung:

ComplexityEnabled DistinguishedNameLockoutDurationLockoutObservationWindowLockoutThreshold MaxPasswordAge MinPasswordAgeMinPasswordLengthobjectClass objectGuidPasswordHistoryCount ReversibleEncryptionEnabled

Anpassen lassen sich natürlich nur Optionen, die dafür vorgesehen sind, und die auch in den Richtlinien angepasst werden können. Dazu wird das Cmdlet „Set-ADDefaultDomainPasswordPolicy“ mit dem Parameter „-Identity <Domäne>“ aufgerufen und die Optionen angepasst, ebenfalls über das Angeben des Parameters und des gewünschten Wertes. Beispiel:

Set-ADDefaultDomainPasswordPolicy -Identity joos.int -ComplexityEnabled $True

Werte die aktiviert oder deaktiviert werden können, wie zum Beispiel die Anforderungen der Komplexitätseinstellungen (ComplexityEnabled), werden durch Setzen des Wertes auf „$True“ oder „$False“ angepasst. Die Syntax der anderen Werte entspricht der Anzeige in „Get-ADDefaultDomainPasswordPolicy.

Andere Werte, bei denen spezielle Werte genutzt werden könne, ermöglichen auch das Setzen dieses Wertes, zum Beispiel die vorgeschriebene Länge des Kennwortes (MinPasswordLength). Folgende Werte können gesteuert werden:

ComplexityEnabled - Wird diese Option auf „$True“ gesetzt, müssen Kennwörter Groß- und Kleinbuchstaben und zusätzlich Ziffern enthalten. Mit „$False“ wird die Einstellung deaktiviert.

LockoutDuration - Dauer der Kontosperrung, wenn der Wert bei „LockoutThreshold“ innerhalb des Zeitraums von „LockoutObservationWindow“ erreicht wird.

LockoutObservationWindow - Zeit innerhalb der Anmeldeversuche für „LockoutDuration“ und „LockoutThreshold“ gezählt werden.

LockoutThreshold - Legt fest, nach wie vielen Anmeldeversuchen ein Konto gesperrt wird.

MaxPasswordAge - Nach diesem Zeitraum laufen Kennwörter ab und müssen geändert werden.

MinPasswordAge - Erst nach Ablauf dieser Frist dürfen Benutzer ihr Kennwort wieder ändern.

MinPasswordLength - Mindestlänge für Kennwörter

PasswordHistoryCount - Anzahl der letzten Kennwörter von Anwendern, die diese nicht verwenden dürfen.

ReversibleEncryptionEnabled - Mit dieser Sicherheitseinstellung wird festgelegt, ob Kennwörter mit umkehrbarer Verschlüsselung gespeichert werden sollen. Diese Richtlinie bietet Unterstützung für Anwendungen, die Protokolle verwenden, denen zu Authentifizierungszwecken das Kennwort des Benutzers bekannt sein muss.

Fine-Grained Password Policy - Richtlinien auf Basis von Benutzern und Gruppen

Neben den Standard-Richtlinien in Active Directory, die für alle Benutzerkonten in der Domäne gelten, können auch „Fine-Grained Password-Policies“ verwendet werden. Hier besteht die Möglichkeit Richtlinien für Kennwörter nicht für die ganze Domänen festzulegen, sondern für einzelne Benutzergruppen. Dadurch können Anwender, die mit besonders heiklen Daten arbeiten besser abgesichert werden.

Um die Richtlinien anzuzeigen, wird „Get-ADFineGrainedPasswordPolicy“ verwendet. Mit dem Parameter „-Filter *“ können die einzelnen Richtlinien auch gefiltert werden. Um die Einstellungen einer Richtlinie anzuzeigen, wird deren Namen dem Cmdlet „Get-ADFineGrainedPasswordPolicy“ angehängt. Bei der Verwendung von „Set-ADFineGrainedPasswordPolicy“ können auch gleich die Einstellungen geändert werden, genauso wie bei anderen Richtlinien. Die Richtlinien können auf diesem Weg auch erstellt werden. Dazu steht das Cmdlet „New-ADFineGrained­PasswordPolicy“ zur Verfügung. Löschen lassen sich die Richtlinien mit „Remove-ADFineGrained­PasswordPolicy“. Die Einstellungen können bei der Erstellung mit „New-ADFineGrained­PasswordPolicy“ genauso angegeben werden, wie bei „Set-ADFineGrainedPasswordPolicy“. Die Vorgehensweise entspricht der von Anpassungen mit „Set-ADDefaultDomainPasswordPolicy“.

(ID:47277932)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist