Automatische Eventlogauswertung mit Filterung
Moin Kollegen.
Ich möchte die Machbarkeit von folgendem prüfen: kann ich per Skript das Sicherheitseventlog auf Vorhandensein von Events mit folgenden Kriterien prüfen:
Source: Microsoft Windows security auditing
Task category: Removable storage
Process name: C:\Windows\explorer.exe
Accesses: WriteData
Wie geht das? Kann ich per Powershell all diese Merkmale abfragen?
Sinn und Zweck: mit Win8 kann man ja Auditing auf USB-Sticks machen. Ich möchte gerne feststellen, ob unsere Verschlüsselung, die wir den Nutzern für USB-Sticks anbieten, auch genutzt wird, oder ob verbotenerweise Dateien per Explorer (und somit unverschlüsselt) drauf geschrieben werden.
PS: Nein, den Stick komplett zu verschlüsseln ist nicht möglich, da Kundensysteme diesen nicht lesen könnten.
Ich möchte die Machbarkeit von folgendem prüfen: kann ich per Skript das Sicherheitseventlog auf Vorhandensein von Events mit folgenden Kriterien prüfen:
Source: Microsoft Windows security auditing
Task category: Removable storage
Process name: C:\Windows\explorer.exe
Accesses: WriteData
Wie geht das? Kann ich per Powershell all diese Merkmale abfragen?
Sinn und Zweck: mit Win8 kann man ja Auditing auf USB-Sticks machen. Ich möchte gerne feststellen, ob unsere Verschlüsselung, die wir den Nutzern für USB-Sticks anbieten, auch genutzt wird, oder ob verbotenerweise Dateien per Explorer (und somit unverschlüsselt) drauf geschrieben werden.
PS: Nein, den Stick komplett zu verschlüsseln ist nicht möglich, da Kundensysteme diesen nicht lesen könnten.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 237154
Url: https://administrator.de/contentid/237154
Ausgedruckt am: 16.11.2024 um 17:11 Uhr
12 Kommentare
Neuester Kommentar
Hi dww,
das lässt sich machen:
http://blogs.technet.com/b/ashleymcglone/archive/2013/08/28/powershell- ...
hier ein rudimentäres Beispiel (ungetestet, habe hier keine Beispieldaten zur Verfügung):
Die weiteren Eigenschaften muss man dann noch mit -and anhängen und mit Regex filtern.
Wäre super wenn du mal den XML-Result oder die vollständige Powershell-Ausgabe eines Events posten könntest, den du filtern willst.
Grüße Uwe
das lässt sich machen:
http://blogs.technet.com/b/ashleymcglone/archive/2013/08/28/powershell- ...
hier ein rudimentäres Beispiel (ungetestet, habe hier keine Beispieldaten zur Verfügung):
Get-WinEvent -LogName Security | ?{$_.ProviderName -eq "Microsoft-Windows-Security-Auditing" -and $_.ID -eq 4656 -and $_.Message -match "Prozessname:\s+C:\\Windows\\explorer.exe"}
Wäre super wenn du mal den XML-Result oder die vollständige Powershell-Ausgabe eines Events posten könntest, den du filtern willst.
Grüße Uwe
habe das ganze mal mit einer zuverlässigen XPATH Query abgekürzt ... hatte ich ganz vergessen... im Oberstübchen ist halt langsam kein Speicherplatz mehr frei , da muss ich wohl mal meine "Garbage Collection" drüber laufen lassen
Viel Erfolg und schönen Abend
Grüße Uwe
Get-WinEvent -LogName Security -FilterXPath 'Event[System[Provider[@Name="Microsoft-Windows-Security-Auditing"] and Task="12812"] and EventData[Data[@Name="ProcessName"]="C:\Windows\explorer.exe" and Data[@Name="AccessMask"]="0x2"]]'
Viel Erfolg und schönen Abend
Grüße Uwe
Das ist die Konstante für die Task Category "Removable storage" oder in Deutsch "Wechselmedien" ; durch die Konstante ist es sprachunabhängiger
0x2 steht für write?
Genau, das ist die Bitmaske für Write. Die benötigten Zugriffsattribute werden in der Maske mit OR verknüpft. Das alleinige Vorhandensein des Wertes 0x2 ist der eigentliche Schreibvorgang dem natürlich vorher noch andere Zugriffsanforderungen im LOG voraus gehen.Am Schönsten wäre es natürlich, einen eventgetriggerten Task loszulassen, der bei diesen Entries Alarm
schlägt. Aber mit dem custom trigger hab ich mir noch schwerer getan als mit der Eventlogsuche.
Das ist eigentlich ähnlich aufgebaut wie die XPath Query im obigen Beispiel. Poste dir dazu noch die entsprechende XML Query...schlägt. Aber mit dem custom trigger hab ich mir noch schwerer getan als mit der Eventlogsuche.
Zitat von @DerWoWusste:
> Poste dir dazu noch die entsprechende XML Query
Fett. Du solltest langsam über einen Donate-Button nachdenken
gute Idee > Poste dir dazu noch die entsprechende XML Query
Fett. Du solltest langsam über einen Donate-Button nachdenken
probiers mal hiermit:
<QueryList>
<Query Id="0" Path="Security">
<Select Path="Security">*[System[Provider[@Name="Microsoft-Windows-Security-Auditing"] and Task="12812"] and EventData[Data[@Name="ProcessName"]="C:\Windows\explorer.exe" and Data[@Name="AccessMask"]="0x2"]]</Select>
</Query>
</QueryList>
http://blogs.technet.com/b/askds/archive/2011/09/26/advanced-xml-filter ...
Zitat von @Scoby2:
Leider weis ich nicht so richtig, wie ich den geposteten Code verwenden muss. Könnt ihr mit helfen?
Eventlog-Trigger anlegen und XML rein pasten, hier lesen:Leider weis ich nicht so richtig, wie ich den geposteten Code verwenden muss. Könnt ihr mit helfen?
http://blog.backslasher.net/filtering-windows-event-log-using-xpath.htm ...
Grüße Uwe
Danke!
Es lag nicht an deinem Code sondern daran, dass ich erst mal einstellen musste damit er überhaupt irgendwas loggt. Das war unter Windows 10 Professional gar nicht so einfach.
Falls jemand das selbe Problem hat:
Man benötigt das Programm gpedit.msc, was bei mir gar nicht drauf war und ich erstmal nachinstallieren musste. Mit diesem Tool kann man es einfach nachinstallieren:
http://drudger.deviantart.com/art/Add-GPEDIT-msc-215792914
Danach kann man über Eingabe von gpedit.msc diesen „Editor für lokale Gruppenrichtlinien“ starten.
Dort dann unter Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Erweiterte Überwachungsrichtlinienkonfiguration (was für ein Wort ^^) -> Systemüberwachungsrichtlinien -> Objektzugriff
Da kann man dann den Punkt „Wechselmedien überwachen“ auswählen und aktivieren.
Jetzt noch die Konsole starten (cmd), gpupdate /force eintippen und abschicken.
Dieses ganze Vorgehen habe ich hier gelesen:
https://technet.microsoft.com/en-us/library/jj574128(v=ws.11).aspx
So.
Wenn man das alles gemacht hat werden Zugriffe auf USB-Sticks in der Windows-Ereignisanzeige gespeichert und jetzt kann man mit dem von colinardo geposteten Code schön nach Schreibzugriffen filtern.
Coole Sache! Wer hätte gedacht, dass das auch mit Windows-Boardmitteln geht. Man liest überall nur immer „Kaufe Programm XYZ!“.
Danke fürs Aufzeigen dieser coolen Möglichkeit.
Aber ist es normal, dass gpedit bei Windows nicht mehr dabei ist? Oder heist das jetzt nur anders?
Es lag nicht an deinem Code sondern daran, dass ich erst mal einstellen musste damit er überhaupt irgendwas loggt. Das war unter Windows 10 Professional gar nicht so einfach.
Falls jemand das selbe Problem hat:
Man benötigt das Programm gpedit.msc, was bei mir gar nicht drauf war und ich erstmal nachinstallieren musste. Mit diesem Tool kann man es einfach nachinstallieren:
http://drudger.deviantart.com/art/Add-GPEDIT-msc-215792914
Danach kann man über Eingabe von gpedit.msc diesen „Editor für lokale Gruppenrichtlinien“ starten.
Dort dann unter Computerkonfiguration -> Windows-Einstellungen -> Sicherheitseinstellungen -> Erweiterte Überwachungsrichtlinienkonfiguration (was für ein Wort ^^) -> Systemüberwachungsrichtlinien -> Objektzugriff
Da kann man dann den Punkt „Wechselmedien überwachen“ auswählen und aktivieren.
Jetzt noch die Konsole starten (cmd), gpupdate /force eintippen und abschicken.
Dieses ganze Vorgehen habe ich hier gelesen:
https://technet.microsoft.com/en-us/library/jj574128(v=ws.11).aspx
So.
Wenn man das alles gemacht hat werden Zugriffe auf USB-Sticks in der Windows-Ereignisanzeige gespeichert und jetzt kann man mit dem von colinardo geposteten Code schön nach Schreibzugriffen filtern.
Coole Sache! Wer hätte gedacht, dass das auch mit Windows-Boardmitteln geht. Man liest überall nur immer „Kaufe Programm XYZ!“.
Danke fürs Aufzeigen dieser coolen Möglichkeit.
Aber ist es normal, dass gpedit bei Windows nicht mehr dabei ist? Oder heist das jetzt nur anders?