Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
Active Directory-Attribute: Letzte Anmeldung

Active Directory-Attribute: Letzte Anmeldung

Nov 3, 2022

Active Directory Benutzerobjekte besitzen eine Reihe von Anmelde-Metadatenattributen, die für die Active Directory Audit-Berichterstattung und Verwaltung wertvoll sind. Sie werden beispielsweise häufig verwendet, um Benutzerkonten zu identifizieren, die über einen längeren Zeitraum inaktiv waren, oder als „veraltete“ Konten.

Allerdings weist jedes Anmelde-Metadatenattribut einige einzigartige Verhaltensweisen auf, die verstanden werden müssen. Andernfalls können Organisationen Berichte erhalten, die im besten Fall verwirrend und im schlimmsten Fall ungenau oder irreführend sind.

Letztes Anmelde-AD-Attribut

Das Last-Logon-Attribut enthält eine Windows FileTime-Darstellung des letzten Zeitpunkts, zu dem ein Domänencontroller den Benutzer erfolgreich authentifiziert hat. Es ist der Urvater der Benutzeranmeldemetadaten und existiert bereits seit der ersten Version von Active Directory.

Mit dem untenstehenden PowerShell-Befehl können Sie die letzte Anmeldezeit und andere Benutzereigenschaften auf einem Domänencontroller abrufen:

      Get-ADUser -Filter * -Properties lastLogon | Select samaccountname, @{Name="lastLogon";Expression={[datetime]::FromFileTime($_.'lastLogon')}}
      

Das Attribut Last-Logon wird jedes Mal aktualisiert, wenn ein Domänencontroller eine Anmeldeanforderung erfolgreich verarbeitet, sodass es scheinen könnte, dass es den perfekten Weg bietet, um inaktive Benutzerkonten genau zu identifizieren. Es gibt jedoch einen großen Vorbehalt, der berücksichtigt werden muss.

AD Last-Logon ist kein repliziertes Attribut; jeder Domänencontroller (DCs) verwaltet seine eigene Version des Attributs für einen bestimmten Benutzer. Dieses Verhalten ist beabsichtigt — der Anstieg des Replikationsverkehrs, der notwendig wäre, um dieses Attribut über die Domänencontroller eines Netzwerks synchron zu halten, wäre überwältigend gewesen, insbesondere zu seiner Einführungszeit vor zwanzig Jahren. Aber genau dieses Verhalten ist auch der Grund dafür, dass man vorsichtig sein muss, wenn man dieses Attribut verwendet, um über veraltete Benutzerkonten zu berichten.

Da Last-Logon nicht repliziert wird (Domänencontroller tauschen diese Information nicht aus), können Attributwerte nur im Kontext des abgefragten Domänencontrollers interpretiert werden. Das bedeutet, der Wert des Attributs ist nicht notwendigerweise das letzte Mal, dass der Benutzer sich angemeldet hat, sondern vielmehr das letzte Mal, dass der Benutzer sich erfolgreich über den überprüften Domänencontroller authentifiziert hat. Ebenso bedeutet ein Attributwert von Null nicht unbedingt, dass der Benutzer sich nie angemeldet hat; es kann bedeuten, dass der Domänencontroller, der den Wert zurückgegeben hat, nie eine Anmeldeanforderung von diesem Benutzer verarbeitet hat.

Kurz gesagt, obwohl das Last-Logon-Attribut für die Überwachung von Anmeldevorgängen verwendet werden kann, erfordert eine genaue Berichterstattung das Abfragen jedes Domain-Controllers, der Anmeldeanfragen verarbeiten kann, um den zuletzt aktualisierten Wert für ein bestimmtes Benutzerkonto zu identifizieren. Alternativ können Sie eine Drittanbieter-Berichtslösung verwenden, wie später in diesem Artikel besprochen.

Last-Logon-Timestamp

Der Last-Logon-Timestamp enthält eine Windows FileTime-Darstellung eines kürzlichen Zeitpunkts, zu dem sich der Benutzer an einer Domäne angemeldet hat. Dieses Benutzerattribut wurde mit Microsoft Windows Server 2003 eingeführt. Im Gegensatz zum älteren Last-Logon-Attribut ist das Last-Logon-Timestamp-Attribut ein repliziertes Attribut; sein Wert für einen bestimmten Benutzer wird mit jedem Domänencontroller synchronisiert. Das ist eine große Verbesserung gegenüber dem Last-Logon-Attribut. Das bedeutet, der beste Weg, um inaktive Benutzerkonten zu identifizieren, ist die Verwendung des Last-Logon-Timestamp, richtig? Nun, die Verwendung dieses Attributs kommt mit einer eigenen Warnung.

Das Problem mit dem Last-Logon-Timestamp-Attribut ist, dass es nicht immer aktualisiert wird, wenn ein Domain-Controller eine Anmeldeanforderung erfolgreich verarbeitet. Stattdessen hat das Attribut eine dynamische Aktualisierungsfrequenz, die durch den Wert des ms-DS-Logon-Time-Sync-Interval-Attributs begrenzt ist, welches standardmäßig auf NICHT GESETZT steht und als 14 Tage behandelt wird. Es ist nicht üblich, dass dieses Attribut geändert wurde, aber wenn Sie neugierig sind, können Sie seinen tatsächlichen Wert leicht mit folgendem PowerShell-Skript identifizieren:

      $lastLogonReplicationInterval = (Get-ADDomain).LastLogonReplicationInterval
if( $lastLogonReplicationInterval )
{
    Write-Host "ms-DS-Logon-Time-Sync-Interval is set to $($lastLogonReplicationInterval) days"
}
else {
    Write-Host "ms-DS-Logon-Time-Sync-Interval is not set and will be treated as 14 days"
      

In einem Domänenkontext mit der standardmäßigen maximalen Aktualisierungsgrenze von 14 Tagen wird das Last-Logon-Timestamp nur aktualisiert, wenn ein Domänencontroller eine Anmeldeanforderung erfolgreich verarbeitet und der Zeitraum seit der letzten Aktualisierung des Attributs größer als irgendwo zwischen 9 und 14 Tagen ist. Die Variation dieses Zeitraums ist das Ergebnis eines zufälligen Prozentsatzes, der in die Logik einbezogen wird, die die Aktualisierungshäufigkeit steuert. Dieses Verhalten spiegelt einen Kompromiss wider zwischen der Begrenzung des Replikationsverkehrs, der notwendig ist, um dieses Attribut über die Domänencontroller eines Netzwerks hinweg synchron zu halten, und der Begrenzung der Wahrscheinlichkeit, dass eine signifikante Anzahl von Benutzern, deren Last-Logon-Timestamp ungefähr zur gleichen Zeit aktualisiert wurde, repliziert werden muss.

Hier ist ein vereinfachtes Beispiel der Logik, die die Aktualisierungshäufigkeit des Last-Logon-Timestamp-Attributs steuert:

      (Current Datetime – Last-Logon-Timestamp) ? (ms-DS-Logon-Time-Sync-Interval – (Random % * 5 days))
      

In der Praxis wird das Attribut Last-Logon-Timestamp die Überwachung und Berichterstattung im Zusammenhang mit Anmeldungen vereinfachen. Das einzige bedeutende potenzielle Problem betrifft die Berichterstattung über inaktive Benutzer. Wenn es zur Identifizierung inaktiver Benutzer verwendet wird, muss der Schwellenwert für die Stagnation den Wert des Domänenattributs ms-DS-Logon-Time-Sync-Interval um genügend Zeit überschreiten, um sicherzustellen, dass die Replikation alle bedeutenden Updates verbreiten konnte.

LastLogonDate (PowerShell)

Diejenigen, die mit PowerShell vertraut sind, erkennen vielleicht LastLogonDate, aber Sie werden es nirgendwo im Active Directory global catalog Schema finden. Das liegt daran, dass LastLogonDate tatsächlich ein lokal berechneter Wert ist, der den replizierten Wert des Last-Logon-Timestamp-Attributs in einem benutzerfreundlichen Format anzeigt. Wie nicht anders zu erwarten, hat LastLogonDate alle Vorteile und alle Nachteile des Last-Logon-Timestamp-Attributs. Da es jedoch keine Umwandlung von Windows DateTime erfordert, ist es die beste Option für die meisten benutzerbezogenen Anmelde-Auditberichte.

Attribut für das letzte erfolgreiche interaktive Anmelden bei Active Directory

Das Attribut ms-DS-Last-Successful-Interactive-Logon-Time wurde in Windows Server 2008 eingeführt, aber viele Menschen kennen es nicht, da es standardmäßig deaktiviert ist. Wenn aktiviert, enthält es das Datum und die Uhrzeit des letzten erfolgreichen interaktiven Anmeldevorgangs eines Benutzers. Obwohl es scheint, als wäre es unglaublich nützlich, dies zu aktivieren, gibt es einige überzeugende Gründe, es deaktiviert zu lassen, auf die ich gleich zu sprechen komme.

Wenn Sie eine Laborumgebung haben und mit dem ms-DS-Last-Successful-Interactive-Logon-Time-Attribut herumspielen möchten, können Sie folgendes aktivieren: Computerkonfiguration ? Richtlinien ? Administrative Vorlagen ? Windows-Komponenten ? Windows-Anmeldeoptionen ? Informationen über vorherige Anmeldungen bei der Benutzeranmeldung GPO anzeigen. Dann erzwingen Sie ein Gruppenrichtlinienupdate. Aktivieren Sie diese Einstellung nicht in einer Produktionsdomäne zum Spaß; es wird Ihnen keine Freude bereiten.

Das erste Problem mit dem ms-DS-Last-Successful-Interactive-Logon-Time-Attribut ist, dass sein Wert nur aktualisiert wird, wenn eine interaktive Anmeldung authentifiziert wird (denken Sie an „Strg-Alt-Entf“-Anmeldungen). Das bedeutet, dass wichtige Authentifizierungsaktivitäten wie Netzwerkfreigabe-Anmeldungen und LDAP-Authentifizierungen keine Aktualisierung auslösen. Dementsprechend, wenn Sie dieses Attribut verwenden, um Anmeldebezogene Audit-Berichte zu erstellen, werden Sie wahrscheinlich einige ungenaue Ergebnisse erhalten. Zum Beispiel werden Berichte, die inaktive Benutzerkonten identifizieren, wahrscheinlich Domänendienstkonten auflisten, die im Allgemeinen sehr aktiv sind — nur auf nicht-interaktive Weise. Kurz gesagt, dieses Attribut macht die Berichterstattung über veraltete Benutzer wirklich einfach und zuverlässig, aber nur für Benutzerkonten, die für interaktive Sitzungen verwendet werden.

Zusammenfassung

Wenn Sie Active Directory login Audit-Berichte erstellen müssen, ist der beste Ansatz wahrscheinlich, Ihre Domain-Controller-Ereignisprotokolle zu aggregieren und zu verarbeiten. Obwohl Ereignisprotokolle unglaublich viel Lärm verursachen, sind sie auch unglaublich zuverlässig und liefern historische Informationen, die Active Directory nicht kann.

Wenn das nicht machbar ist, verwenden Sie LastLogonDate. Oder noch besser, nutzen Sie das Search-ADAccount Cmdlet, das im Active Directory PowerShell-Modul integriert ist, um die notwendigen Informationen zu erhalten und sie in eine CSV-Datei zu exportieren:

      Search-ADAccount -AccountInactive -DateTime ((Get-Date).AddDays(-30)) -UsersOnly | Select Name,LastLogonDate,DistinguishedName| Export-CSV c:psinactive_users.csv
      

Das Cmdlet Search-ADAccount nutzt tatsächlich LastLogonDate im Hintergrund. Der Standardwert für den Inaktivitätszeitraum beträgt 15 Tage, was in den meisten Umgebungen ausreichend sein sollte. Das obige Beispiel enthält die Syntax, die notwendig ist, um den Inaktivitätszeitraum mit einem Wert von 30 Tagen zu überschreiben. Für diejenigen, die einen systematisierten Ansatz bevorzugen, gibt es hilfreiche kostenlose Tools wie Netwrix Inactive User Tracker, um diese Informationen abzurufen, ohne Werte konvertieren und csv-Dateien analysieren zu müssen.

Wie kann Netwrix helfen?

Das regelmäßige Überprüfen des letzten Anmeldezeitpunkts jedes Benutzers in Active Directory kann Ihrem Domain-Administrator dabei helfen, veraltete Konten zu erkennen und zu entfernen, die Angreifer gerne kompromittieren und missbrauchen würden. Aber das ist nur ein kleiner Teil einer umfassenden Cybersicherheitsstrategie.

Die Netwrix Active Directory Security Solution bietet detaillierte Informationen nicht nur über die letzte Anmeldezeit jedes Active Directory-Benutzerkontos, sondern über alle Aktivitäten im Active Directory. Ihre umfassenden vordefinierten Berichte vereinfachen das logon monitoring. Insbesondere listet der Bericht 'Benutzerkonten – Letzte Anmeldezeit' alle Benutzerkonten, sowohl aktivierte als auch deaktivierte, mit der letzten Anmeldezeit für jedes Konto auf. Durch die Verwendung der Berichtsabonnementfunktion können IT-Administratoren den Bericht automatisch per E-Mail nach ihrem Zeitplan erhalten, was eine regelmäßige Überprüfung gemäß den besten Praktiken erleichtert und es ihnen ermöglicht, Systemanfälligkeiten effizienter zu beseitigen.

Netwrix Directory Manager

Vereinfachen und sichern Sie AD mit automatisierter Gruppenverwaltung

FAQ

Was ist der Unterschied zwischen Lastlogon und lastLogonTimeStamp?

Im Gegensatz zum Last-Logon-Attribut ist das Last-Logon-Timestamp-Attribut ein repliziertes Attribut; sein Wert für einen bestimmten Benutzer wird mit jedem Domänencontroller synchronisiert.

Wie wird lastLogonTimeStamp berechnet?

Last-Logon-Timestamp (oder lastLogonTimeStamp) wird vom DC bei der Benutzeranmeldung registriert; jedoch wird dieses Attribut nicht immer auf allen DCs aktualisiert, wenn ein Domain-Controller eine Anmeldeanforderung erfolgreich verarbeitet.

Was ist interaktive Authentifizierung?

Interaktive Authentifizierung ist ein Prozess, bei dem ein Benutzer aufgefordert wird, seine Benutzer-ID und sein Passwort einzugeben, um sich an einem Gerät anzumelden. Die häufigsten Orte, an denen eine interaktive Anmeldung stattfindet, sind der Windows-Anmeldebildschirm und der Windows-Sperrbildschirm.



Teilen auf

Erfahren Sie mehr

Über den Autor

Asset Not Found

Joe Dibley

Sicherheitsforscher

Security Researcher bei Netwrix und Mitglied des Netwrix Security Research Teams. Joe ist ein Experte für Active Directory, Windows und eine Vielzahl von Unternehmenssoftwareplattformen und -technologien. Joe erforscht neue Sicherheitsrisiken, komplexe Angriffstechniken sowie zugehörige Milderungs- und Erkennungsmaßnahmen.