Filtern von Sicherheitsprotokollen nach Benutzer und Anmeldetyp


17

Ich wurde gebeten, herauszufinden, wann sich ein Benutzer in der letzten Woche am System angemeldet hat. Jetzt sollten die Überwachungsprotokolle in Windows alle Informationen enthalten, die ich benötige. Ich denke, wenn ich nach der Ereignis-ID 4624 (Anmeldeerfolg) mit einem bestimmten AD-Benutzer und dem Anmeldetyp 2 (Interaktive Anmeldung) suche, sollte sie mir die Informationen liefern, die ich benötige, aber während meines Lebens kann ich nicht herausfinden, wie ich tatsächlich filtern soll Das Ereignisprotokoll, um diese Informationen abzurufen. Ist es innerhalb der Ereignisanzeige möglich oder müssen Sie ein externes Tool verwenden, um es auf diese Ebene zu analysieren?

Ich fand http://nerdsknowbest.blogspot.com.au/2013/03/filter-security-event-logs-by-user-in.html, was Teil dessen zu sein schien, was ich brauchte. Ich habe es leicht modifiziert, um mir nur die letzten 7 Tage zu geben. Unten ist das XML, das ich ausprobiert habe.

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">*[System[(EventID=4624) and TimeCreated[timediff(@SystemTime) &lt;= 604800000]]]</Select>
    <Select Path="Security">*[EventData[Data[@Name='Logon Type']='2']]</Select>
    <Select Path="Security">*[EventData[Data[@Name='subjectUsername']='Domain\Username']]</Select>
  </Query>
</QueryList>

Es gab mir nur die letzten 7 Tage, aber der Rest hat nicht funktioniert.

Kann mir jemand dabei helfen?

BEARBEITEN

Dank den Vorschlägen von Lucky Luke habe ich Fortschritte gemacht. Das Folgende ist meine aktuelle Abfrage, obwohl sie, wie ich noch erläutern werde, keine Ergebnisse liefert.

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
     *[System[(EventID='4624')]
     and
     System[TimeCreated[timediff(@SystemTime) &lt;= 604800000]]
     and
     EventData[Data[@Name='TargetUserName']='john.doe']
     and
     EventData[Data[@Name='LogonType']='2']
     ] 
    </Select>
  </Query>
</QueryList>

Wie ich bereits erwähnte, lieferte es keine Ergebnisse, also habe ich ein bisschen damit rumgespielt. Ich kann die Ergebnisse korrekt ausgeben, bis ich sie in die LogonType-Zeile einfüge. Danach werden keine Ergebnisse zurückgegeben. Irgendeine Idee, warum das sein könnte?

BEARBEITEN 2

Ich habe die LogonType-Zeile folgendermaßen aktualisiert:

EventData[Data[@Name='LogonType'] and (Data='2' or Data='7')]

Dies sollte sowohl Workstation-Anmeldungen als auch Workstation-Entsperrungen erfassen, aber ich erhalte immer noch nichts. Ich ändere es dann, um nach anderen Anmeldetypen wie 3 oder 8 zu suchen, von denen es reichlich findet. Dies lässt mich glauben, dass die Abfrage korrekt funktioniert, aber aus irgendeinem Grund sind in den Ereignisprotokollen keine Einträge mit dem Anmeldetyp 2 vorhanden, und dies macht für mich keinen Sinn. Ist es möglich, dies auszuschalten?


Ihre Abfrage scheint zu funktionieren, wenn Sie Ergebnisse mit anderen Anmeldetypen erhalten. Möglicherweise müssen Sie sich andere Anmeldetypen ansehen, insbesondere Anmeldetyp 11, der unter Vista und höher häufig anstelle von Anmeldetyp 2 verwendet wird. Sie können alle Anmeldetypen hier sehen: myeventlog.com/search/show/799 . Ich wette, Ihre Anmeldungen sind vom Typ 11. Lassen Sie es mich wissen.
Lucky Luke

Interessanterweise erhalte ich nur 8 Nicht-3-Ergebnisse, die ich identifiziert habe. Aus irgendeinem Grund gibt es keine 2, 7 oder 11, die ich erwarten würde, zu sehen.
Trido

Haben Sie Ihre Überwachungseinstellungen in der lokalen Sicherheitsrichtlinie (oder in der Domänenrichtlinie, wenn diese Teil einer Domäne ist) überprüft, um sicherzustellen, dass alle Anmeldungen überwacht werden? Lassen Sie mich wissen, wenn Sie weitere Informationen benötigen.
Lucky Luke

Das war in der Tat das Problem. Ich habe die Gruppenrichtlinie aktiviert und sie wurde deaktiviert.
Trido

Interessant. Welche genaue Einstellung haben Sie am Ende aktiviert? Was ein bisschen seltsam ist, ist, dass Sie andere Anmeldeereignisse gesehen haben, aber nicht die Konsolenanmeldungen. Ich hatte den Eindruck, dass sie alle mit der gleichen Einstellung konfiguriert sind.
Lucky Luke

Antworten:


17

Sie sind auf dem richtigen Weg - einer der Fehler in Ihrer Abfrage ist das Leerzeichen in "Anmeldetyp". Es sollte nur "Anmeldetyp" sein.

Ich habe eine Abfrage eingefügt, die ich gerade überprüft habe. Es ist ein bisschen vereinfacht, aber Sie bekommen die Idee. Es zeigt Ihnen alle 4624 Ereignisse mit Anmeldetyp 2 von Benutzer 'john.doe'.

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
      *[
        EventData[Data[@Name='LogonType']='2']
        and
        EventData[Data[@Name='TargetUserName']='john.doe']
        and
        System[(EventID='4624')]
      ] 
    </Select>
  </Query>
</QueryList>

Weitere Informationen zu XML-Abfragen in der Ereignisanzeige finden Sie hier: http://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filtering-in-the-windows-event- viewer.aspx .

Sie können Ereignisse über die Befehlszeile mit wevtutil.exe abfragen: http://technet.microsoft.com/en-us/magazine/dd310329.aspx .


Hmm, das ist merkwürdig. Wenn ich es ausführte, erhalte ich 0 zurückgegebene Ergebnisse. Auch wenn ich die Abfrage auf den Anmeldetyp vereinfache. Ich verstehe nicht wirklich, warum es nicht funktioniert.
Trido

Ich habe meine Frage mit meiner aktuellen Abfrage und meinem aktuellen Problem aktualisiert.
Trido

Dies ist genau das, was ich brauchte, um herauszufinden, wer über RDP mit einem meiner Server verbunden war. Ich musste nur den LogonType auf '10' ändern (und das Bit über den Benutzernamen entfernen).
Charles Burge

1

Ich fand diese Frage und musste ein wenig arbeiten, um Inhalte aus den akzeptierten Antworten und Fragenaktualisierungen zusammenzuführen, um eine funktionierende Lösung zu erhalten. Ich dachte, ich würde hier eine vollständige funktionierende Abfragesyntax veröffentlichen, um später darauf zurückgreifen zu können:

<QueryList>
  <Query Id="0" Path="Security">
    <Select Path="Security">
    *[System[(EventID=4624)
    and
    TimeCreated[timediff(@SystemTime) &lt;= 2592000000]]
    and
    EventData[Data[@Name='TargetUserName'] and (Data='john.doe')]
    and
    EventData[Data[@Name='LogonType'] and (Data='10')]]
    </Select>
  </Query>
</QueryList>

Die obige Abfrage sollte funktionieren, um die Ereignisse anhand der folgenden Parameter einzugrenzen:

  • Ereignisse im Sicherheitsprotokoll.
  • Mit Ereignis-ID 6424
  • Vorkommen in den letzten 30 Tagen.
  • Verbunden mit Benutzer john.doe.
  • Mit LogonType 10.

Sie können die LogonTypes im Filter ändern, indem Sie (Data='10')den obigen Code ändern . Zum Beispiel möchten Sie vielleicht (Data='2')oder (Data='10' or Data='2').

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.