Wazuh und regex für Vaultwarden syslog Nachricht
Guten Morgen allerseits.
Ich arbeite mich derzeit ein bisschen in Wazuh ein.
Wazuh ist in der Version 4.9.0 installiert und funktioniert soweit.
Auf einem vServer ist bereits der Agent installiert, und blockt erfolgreich IP's
die auf SSH Bruteforce ausführen.
Im Lab läuft auch ein Vaultwarden Server der seine Logs nach
schreibt.
Die Log Datei konnte ich erfolgreich via syslog an den Wazuh Server senden.
Habe eine Regel in Wazuh angelegt.
Meldungen eines nicht erfolgreichen Logins werden im Alert angezeigt.
Soweit so gut.
Da die IP und der Username noch nicht in den richtigen Feldern stehen, muss ich also einen Dedoder schreiben, der mir die IP und den Usernamen und die richtigen Felder bringt.
Eine Log Nachricht schaut so aus:
Also habe ich erst einmal einen pre-decoder erstellt.
Der schaut so aus:
Dieser scheint zu greifen. So erscheint es mir zumindest.
Dann habe ich den child-decoder erstellt, der so ausschaut:
Test:
Wie hier zu sehen ist, werden IP und Username nicht in die Felder geschrieben.
Es wird überhaupt nicht in irgend ein Feld geschrieben.
Leider bin ich mit meinem Latein am Ende und ersuche die nette Community des Administrator Forums um Hilfe.
Ich arbeite mich derzeit ein bisschen in Wazuh ein.
Wazuh ist in der Version 4.9.0 installiert und funktioniert soweit.
Auf einem vServer ist bereits der Agent installiert, und blockt erfolgreich IP's
die auf SSH Bruteforce ausführen.
Im Lab läuft auch ein Vaultwarden Server der seine Logs nach
/var/log/vaultwarden_access.log
schreibt.
Die Log Datei konnte ich erfolgreich via syslog an den Wazuh Server senden.
Habe eine Regel in Wazuh angelegt.
Meldungen eines nicht erfolgreichen Logins werden im Alert angezeigt.
Soweit so gut.
Da die IP und der Username noch nicht in den richtigen Feldern stehen, muss ich also einen Dedoder schreiben, der mir die IP und den Usernamen und die richtigen Felder bringt.
Eine Log Nachricht schaut so aus:
[2024-10-14 00:27:58.280][vaultwarden::api::identity][ERROR] Username or password is incorrect. Try again. IP: 172.16.10.210. Username: ebebn@jetzt.de.
Also habe ich erst einmal einen pre-decoder erstellt.
Der schaut so aus:
<decoder name="Vaultwarden_pre-decoder">
<prematch>^\W\d\d\d\d-\d\d-
d\d\s\d\d:\d\d:\d\d\.\d\d\d\W\Wvaultwarden::api::identity\W\W(ERROR)\W</prematch>
</decoder>
Dieser scheint zu greifen. So erscheint es mir zumindest.
[root@wazuh-server bin]# ./wazuh-logtest
Starting wazuh-logtest v4.9.0
Type one log per line
[2024-10-14 00:27:58.280][vaultwarden::api::identity][ERROR] Username or password is incorrect. Try again. IP: 172.16.10.210. Username: ebebn@jetzt.de.
**Phase 1: Completed pre-decoding.
full event: '[2024-10-14 00:27:58.280][vaultwarden::api::identity][ERROR] Username or password is incorrect. Try again. IP: 172.16.10.210. Username: ebebn@jetzt.de.'
**Phase 2: Completed decoding.
name: 'Vaultwarden_pre-decoder'
**Phase 3: Completed filtering (rules).
id: '100080'
level: '5'
description: 'Vaultwarden - User Login Failed'
groups: '['syslog-Vaultwarden', 'authentication_failed']'
firedtimes: '1'
mail: 'False'
**Alert to be generated.
Dann habe ich den child-decoder erstellt, der so ausschaut:
<decoder name="Vaultwarden">
<parent>Vaultwarden_pre-decoder</parent>
<regex offset="after_parent">^Username or password is incorrect\. Try again\. IP: (\d{1,3}.\d{1,3}.\d{1,3}.\d{1,3})\. Username: ([a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,})\.</regex>
<order>srcip,srcuser</order>
</decoder>
Test:
[root@wazuh-server bin]# ./wazuh-logtest
Starting wazuh-logtest v4.9.0
Type one log per line
[2024-10-14 00:27:58.280][vaultwarden::api::identity][ERROR] Username or password is incorrect. Try again. IP: 172.16.10.210. Username: ebebn@jetzt.de.
**Phase 1: Completed pre-decoding.
full event: '[2024-10-14 00:27:58.280][vaultwarden::api::identity][ERROR] Username or password is incorrect. Try again. IP: 172.16.10.210. Username: ebebn@jetzt.de.'
**Phase 2: Completed decoding.
name: 'Vaultwarden_pre-decoder'
**Phase 3: Completed filtering (rules).
id: '100080'
level: '5'
description: 'Vaultwarden - User Login Failed'
groups: '['syslog-Vaultwarden', 'authentication_failed']'
firedtimes: '1'
mail: 'False'
**Alert to be generated.
Wie hier zu sehen ist, werden IP und Username nicht in die Felder geschrieben.
Es wird überhaupt nicht in irgend ein Feld geschrieben.
Leider bin ich mit meinem Latein am Ende und ersuche die nette Community des Administrator Forums um Hilfe.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 668753
Url: https://administrator.de/contentid/668753
Ausgedruckt am: 21.11.2024 um 12:11 Uhr
1 Kommentar