Freigeben über


Prüfen Sie regelmäßig auf inaktive Benutzerkonten im Active Directory und entfernen Sie diese

Warum sollte man dies in Betracht ziehen?

Mehr als 10 Prozent der Benutzerkonten in Active Directory wurden, basierend auf der letzten Passwortänderung oder dem Zeitstempel der letzten Anmeldung des Benutzers, als inaktiv (veraltet) erkannt. Veraltete Benutzerkonten in Active Directory stellen ein erhebliches Sicherheitsrisiko dar, da sie von Angreifenden oder ehemaligen Mitarbeitenden missbraucht werden können. Diese inaktiven Konten verbrauchen außerdem nutzbaren Speicherplatz in der Datenbank.

Schauen Sie einem Customer Engineer zu, der das Problem erklärt

Kontext und bewährte Vorgehensweisen

Active Directory enthält ein Konto für jede Benutzerin und jeden Benutzer. Im Lauf der Zeit werden Konten von Benutzenden, die die Organisation verlassen, möglicherweise nicht aus Active Directory entfernt. Veraltete Benutzerkonten sind ein gravierendes Sicherheitsrisiko, da ehemalige Mitarbeitenden und externe Angreifenden diese Konten verwenden können, um die Organisation anzugreifen. Veraltete Computerkonten verbrauchen außerdem Speicherplatz in der Verzeichnisdatenbank, der freigegeben werden kann.

Benutzerkonten enthalten das Attribut „PasswordLastSet“. Dieses Attribut enthält das Datum, an dem das Passwort der Benutzenden zuletzt geändert wurde. Da „PasswordLastSet“ ein repliziertes Attribut ist, muss nur ein Domänencontroller pro Domäne abgefragt werden.

Windows Server 2003 hat ein neues Attribut eingeführt, welches lastLogonTimeStamp genannt wird und bei der Identifizierung potentiell veralteter Konten helfen soll. Dieses Attribut wird in der Domäne mit der Funktionsebene Windows Server 2003, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012 oder Windows Server 2012 R2 aktiviert. Anders als beim Attribut lastLogon, welches seit Windows NT 4.0 verfügbar war, wird lastLogonTimeStamp bei jeder Aktualisierung repliziert. Es ist praktischer, dieses Attribut abzufragen, da nur ein Domänencontroller in jeder Domäne abgefragt werden muss.

Um Konten zu suchen, führen Sie ein Skript aus, das Active Directory nach inaktiven Benutzerkonten durchsucht. Im Active Directory-Modul für Windows PowerShell zeigt der Befehl Search-ADAccount -AccountInactive -UsersOnly alle inaktiven Benutzerkonten an. Verwenden Sie die Switches -DateTime oder -TimeSpan, um das Datum einzugrenzen, an dem der Computer sich zum letzten Mal angemeldet hat.

Hinweis: „Lastlogontimestamp“ wird nicht jedes Mal repliziert, wenn sich ein Benutzer anmeldet. Siehe Verstehen der AD-Kontoattribute – LastLogon, LastLogonTimeStamp und LastLogonDate unter https://social.technet.microsoft.com/wiki/contents/articles/22461.understanding-the-ad-account-attributes-lastlogon-lastlogontimestamp-and-lastlogondate.aspx.

Die Handhabung von veralteten Benutzerkonten erfordert letztendlich ein Einführung effektiver Verfahren zur Bereitstellungsaufhebung. Dabei kann es jedoch vorkommen, dass Benutzende nicht arbeiten können und sich daher für einen längeren Zeitraum nicht anmelden. Dienstkonten melden sich möglicherweise ebenfalls für längere Zeit nicht an. Verwenden Sie daher mehrere Überprüfungen sowie die notwendigen Sicherheitsvorkehrungen, damit Konten, die noch verwendet werden, nicht deaktiviert oder gelöscht werden.

Empfohlene Maßnahmen

Suchen Sie regelmäßig nach Computerkonten, deren Kennwörter in den letzten sechs Monaten nicht geändert wurden. Deaktivieren Sie diese Konten, und entfernen Sie sie aus Active Directory.

Führen Sie ein Skript in den einzelnen Domänen aus, das Active Directory nach Benutzerkonten durchsucht, deren Kennwortalter einen bestimmten Wert überschreitet. Führen Sie das folgende Skript im Active Directory-Modul für Windows PowerShell aus, um die Benutzerkonten aufzulisten, deren Kennwort in den letzten sechs Monaten nicht geändert wurde.

$d = [DateTime]::Today.AddDays(-180)

Get-ADUser -Filter '(PasswordLastSet -lt $d) -or (LastLogonTimestamp -lt $d)' -Properties PasswordLastSet,LastLogonTimestamp | ft Name,PasswordLastSet,@{N="LastLogonTimestamp";E={[datetime]::FromFileTime($_.LastLogonTimestamp)}}

Nachdem veraltete Konten identifiziert wurden, wird empfohlen, diese Benutzerkonten zunächst zu deaktivieren und einige Wochen zu warten. Wenn in diesem Zeitraum keine Probleme gemeldet werden, können die Konten gelöscht werden.