pampersjoe
Goto Top

Windowslogs (Account locked) mit Rsyslog

Hallo zusammen...

verzeiht mir, dass ich nicht sicher war/bin, was nun die richtige Kategorie ist, da es ein Mix aus allem eigentlich ist... und ja ich muss vermutlich etwas ausholen.

Ok... was haben wir (ich) vor...

- Windows Logs an Rsyslog schicken
- Beim Rsyslog eine Aktion generieren die mir bei Auftreten eines Strings mir eine Mail schickt.

Warum machen wir das?

Wir sind mit knapp 1400 Mann doch schon ein größeres Unternehmen... es gibt sicher andere Tools, ist mir klar, die mir schneller und besser helfen, aber ich bitte darum bei dem Thema hier zu bleiben, denn nicht immer bekommt man die Mittel gestellt und versuche somit auf kostenlosen oder kostengünstigen Weg das Thema schnell aus der Welt zu schaffen. Fakt ist... wie bei einigen von euch... ein User sperrt sich des öfteren... das Reversengineering kann manchmal echt nervig sein. Ich habe es daher bislang so gehandhabt, dass wenn ein Benutzer sich sperrt, dass ich noch "vor" Entsperrung das Tool "lockoutstatus.exe" bemühe, bei dem ich relativ schnell ersehen kann zu welcher Zeit und von welchem DC die Sperre ausgesprochen wurde um dort wiederum die Maschine zu erkennen, woher es kam um zur Not dort die Suche fortsetzen zu können.

Nach 5x falschem Passwort wird dicht gemacht und NICHT mehr automatisch geöffnet! (Vorgabe von oben)... also habe ich einen Testaccount, mit dem ich eben mal 5x das falsche PW eingegeben habe. Mit Lockoutstatus.exe sehe ich auf welchem DC... und dort wird aber bei "allen" 5 Versuchen das gleiche Event geloggt 4776 mit Errorcode C000006A (was soviel heißt wie:"Richtiger Name aber falsches PW") wo er im Grunde ja recht hat... ich habe aber KEIN einzige Event gefunden (auch die nachfolgenden Events) die sagen "nun ist der Benutzer gesperrt"... erst bei einem 6ten Versuch, NACHDEM er ja schon eindeutig gesperrt ist kommt der Errorcode C0000234 (der aber auch nur aussagt, dass der Benutzer gelockt ist.) Es wäre ja zuviel verlangt, wenn man dazu ein 100% eindeutiges Event hätte. Jetzt kommt es erschwerend hinzu, dass unsere Leute im 1st-Level die Leute entsperren und uns im Nachhinein dann die Info geben... du da sperrt sich dauernd jemand... kannst mal gucken...

Meine Idee... die "eigentlich" (oder zumindest halbt) funktioniert... ich habe mir eben schnell eine Linux (Debian 10) Maschine aufgesetzt, da ist default eh Rsyslog am Start... MariaDB drauf... und schicke die Windowslogs an die Syslogmaschine.

Auf der Syslogmaschine habe ich folgendes Script, auf was reagiert werden soll, gebastelt:

# If a specific event ID is found, send an alert email
$ModLoad ommail

$ActionMailSMTPServer <IP-Adresse vom Exchange>
$ActionMailFrom       <Sende-Mailadresse>
$ActionMailTo         <Empfänger-Mailadresse>

$template mailSubject,"User locked on %hostname%"  
$template mailBody,"Ein Benutzer wurde auf Maschine %hostname% gesperrt \r\n\r\n%msg%"  

$ActionMailSubject mailSubject

# Only send an email every 15 minutes
$ActionExecOnlyOnceEveryInterval 900

# This if/then must all be on one line
if $msg contains '0xC0000234' then :ommail:;mailBody  

Jauw... soweit so gut... er schickt Mails... passt soweit... sogar in der Tat zu dem Errorcode, der im "if-Bereich" angegeben wurde ABER nicht zu allen Meldungen OBWOHL die definitiv vorhanden sind.

Ich habe das gegengeprüft mit dem ebenfalls installierten LogAnalyzer... d.h. 2x User werden gemeldet... 2 weitere nicht, obwohl die den gleichen ErrorCode drin haben... vor allem habe ich das Gefühl (kann ich aber nicht bestätigten) dass die User mehrmals gemeldet werden... da habe ich auch kein Plan, wie ich das bei einer einmaligen Meldung belassen kann, denn in dem Script kann ich ja nur sagen, melde bei "dem auftretetenden Event" alle 15 Minuten. Geht er dann echt alle 15 Minuten die gleichen Events durch? Das wäre auch etwas fail.


Daher meine zwei Fragen...:

a) Bin ich einfach nur zu doof oder gibt es wirklich KEIN 100%iges "Benutzer wurde jetzt gesperrt" - Event mit der ID xyz oder so. Ich meine.. woher weiß "lockoutstatus.exe" das denn... er weiß ja auch "wann und von wem" woher hat er diese Info?

b) Hat jemand eine Idee, warum er Mails schickt, aber nicht bei allen, obwohl die den gleichen Inhalt haben? Ich gehe mal davon aus, dass er den Messagebereich validiert?

Sorry für den vielen Text, aber ich denke die Infos waren wichtig.

Ich danke.

Gruß M!ke

Content-ID: 666014

Url: https://administrator.de/contentid/666014

Ausgedruckt am: 25.11.2024 um 23:11 Uhr

148121
Lösung 148121 22.04.2021 aktualisiert um 17:21:13 Uhr
Goto Top
ABER nicht zu allen Meldungen OBWOHL die definitiv vorhanden sind.
b) Hat jemand eine Idee, warum er Mails schickt, aber nicht bei allen, obwohl die den gleichen Inhalt haben? Ich gehe mal davon aus, dass er den Messagebereich validiert?
Einfach mal in die Doku schauen dann findet man dort

so if you would like to receive mails at most once every two hours, include a
action.execonlyonceeveryinterval="7200"
in the action definition. Messages sent more frequently are simply discarded.

Willst du für "jede" Nachricht eine Mail darfst du den Parameter nicht definieren. Weil in dem definierten Intervall weitere eintreffende Meldungen verworfen werden.

a) Bin ich einfach nur zu doof oder gibt es wirklich KEIN 100%iges "Benutzer wurde jetzt gesperrt" - Event mit der ID xyz oder so. Ich meine.. woher weiß "lockoutstatus.exe" das denn... er weiß ja auch "wann und von wem" woher hat er diese Info?
Windows event ID 4740 - A user account was locked out.

Gruß w.
Pampersjoe
Pampersjoe 23.04.2021 um 10:16:17 Uhr
Goto Top
Top... danke...

zu a) erklärt sich für mich zwar nicht, wie das Lockoutstatus Tool das erkennt, weil es bei uns NICHT aktiv war (also die 4740) aber ja... ich dachte (ja richtig falsch gedacht), dass das "bei älteren" Serverversionen nur funktionierte... ok ist aktiv und wird nun angezeigt...

zu b) ja ist richtig... ich hatte den Schnipsel irgendwo gefunden, aber da ist mir echt entgangen, dass es innerhalb dessen die anderen verschluckt und somit die Hälfte gefehlt hat... jetzt spamt er ja schon fast zu... muss ich mal gucken, wie ich das "feiner" hinbekomme, wenn ich anderes Zeugs ebenfalls per Mail informieren will ABER ... es funktioniert schon einmal gut mit 4740... das kommt zum Glück nicht so oft vor...

Jetzt muss ich nur noch einen "besseren" Weg finden, sofern bei dem 4740iger Event mal der DC selbst als Source drin steht... das sind dann wohl irgendwelche LDAP Abfragen von anderen Programmen, soweit ich das verstanden habe... aber ich "glaube" das wird dann mit abgefrühstückt mit dem Event 4776, wobei es da einfach zu viele von sind, leider.

Ich danke!