Aangepaste Wazuh-regels worden in XML geschreven in /var/ossec/etc/rules/local_rules.xml. Elke regel definieert een uniek ID (boven 100000), het ernstniveau, het logveld dat moet overeenkomen en de beschrijving van de melding die u in het dashboard ziet.
Hoe maak je aangepaste Wazuh-regels stap voor stap?
Met aangepaste regels in Wazuh kunt u specifieke patronen in uw logs detecteren en meldingen activeren wanneer aan bepaalde voorwaarden wordt voldaan. In dit artikel doorlopen we praktische voorbeelden met NAS-logs: het detecteren van maptoegang, specifieke gebruikers en acties zoals Delete of Write.
Hoe ziet de basisstructuur van een regel eruit?
Wazuh-regels worden gedefinieerd in XML-bestanden onder /var/ossec/etc/rules/. Standaard levert Wazuh ongeveer 3.000 ingebouwde regels met ID's onder 100000, dus elke aangepaste regel die u schrijft moet een ID van 100000 of hoger gebruiken om toekomstige updates te overleven. De basisstructuur is:
<rule id="100071" level="10">
<if_sid>100070</if_sid>
<field name="campo">valor</field>
<description>Descripción de la alerta</description>
</rule> Componenten:
id: unieke identificatie van de regel (100000+ voor aangepaste regels)level: ernst van de melding (0-15)if_sid: bovenliggende regel waarvan het erft (de decoder)field: veld dat door de decoder is geëxtraheerd om te evaluerendescription: meldingstekst die in het dashboard verschijnt
Hoe detecteer je toegang tot een specifieke map?
Ingangslog:
NAS: Users: marialopez, Source IP: 192.168.1.100, Computer name: MariaPC, Connection type: SMB, Accessed resources: Dpto_direccion/Certificados/CertificadoDigital.pfc, Action: Write Regel:
<rule id="100071" level="10">
<if_sid>100070</if_sid>
<field name="resource">Dpto_direccion</field>
<description>Acceso a carpeta Direccion en NAS</description>
</rule> Hoe het werkt:
- Erft van regel 100070 (de generieke NAS-decoder)
- Filtert op het veld
resourcedat "Dpto_direccion" bevat - Activeert een melding van niveau 10 telkens als een gebruiker die map opent
Hoe laat je een specifieke gebruiker en actie samen overeenkomen?
Ingangslog:
NAS: Users: Juan, Source IP: 192.168.1.100, Computer name: MariaPC, Connection type: SMB, Accessed resources: sdsds/Certificados/CertificadoDigital.pfc, Action: Delete Regel:
<rule id="100072" level="10">
<if_sid>100070</if_sid>
<field name="srcusernas">Juan</field>
<field name="actionNas">Delete</field>
<description>El usuario Juan ha eliminado un fichero</description>
</rule> Hoe het werkt:
- Gebruikt twee velden voor meer precisie
- Gaat alleen af als de gebruiker "Juan" is EN de actie "Delete" is
- Handig om de acties van specifieke gebruikers te auditen
Hoe gebruik je dynamische variabelen voor IP en actie?
Ingangslog:
NAS: Users: marialopez, Source IP: 192.168.1.155, Computer name: MariaPC, Connection type: SMB, Accessed resources: sdsds/Certificados/CertificadoDigital.pfc, Action: Write Regel:
<rule id="100073" level="10">
<if_sid>100070</if_sid>
<field name="srcipNas">192.168.1.155</field>
<field name="actionNas">Write</field>
<description>El equipo con la IP $(srcipNas) ha modificado el fichero $(resource)</description>
</rule> Hoe het werkt:
- Filtert op een specifiek bron-IP + de Write-actie
- Gebruikt dynamische variabelen
$(field)in de beschrijving - De melding bevat de echte waarden uit het log: IP en betrokken bron
Syntaxisoverzicht
| Element | Gebruik |
if_sid | Erft van een bovenliggende regel (decoder) |
field name="x" | Filtert op een door de decoder geëxtraheerd veld |
$(field) | Dynamische variabele in de beschrijving |
level | Ernst: 0-3 info, 4-7 gemiddeld, 8-15 kritiek |
Waar voeg je de regels toe en hoe pas je ze toe?
Aangepaste regels worden toegevoegd in /var/ossec/etc/rules/local_rules.xml. Na het bewerken van het bestand herstart u de manager:
systemctl restart wazuh-manager Volgende stappen
Aangepaste decoders bouwen om de velden te extraheren die u nodig heeft, maakt deel uit van een volledige Wazuh-uitrol. Een decoder zet een ruwe logregel om in benoemde velden zoals resource, srcusernas of actionNas, en pas daarna kan een regel zoals hierboven erop filteren. In een typisch NAS-auditproject koppelen we één decoder aan vijf tot tien gerichte regels, zodat waardevolle mappen, geprivilegieerde gebruikers en destructieve acties elk hun eigen ernstniveau krijgen, wat de signaal-ruisverhouding in het dashboard hoog houdt. Ontdek onze Wazuh-diensten.
Veelgestelde vragen
Waar worden aangepaste Wazuh-regels opgeslagen?
Aangepaste regels staan in /var/ossec/etc/rules/local_rules.xml op de Wazuh-manager. Na het bewerken van het bestand moet u de service herstarten met systemctl restart wazuh-manager zodat de wijzigingen van kracht worden.
Welk ID-bereik moet ik gebruiken voor aangepaste regels?
Wazuh reserveert ID's onder 100000 voor zijn ingebouwde regelset (standaard worden zo'n 3.000 regels meegeleverd). Wijs uw eigen regels altijd een ID van 100000 of hoger toe om botsingen met toekomstige updates van de officiële regels te voorkomen.
Wat betekent het level-attribuut in een Wazuh-regel?
Het level bepaalt de ernst van de melding van 0 tot 15: 0-3 is informatief, 4-7 is gemiddeld, en 8-15 is kritiek. Standaard verstuurt Wazuh alleen meldingen per e-mail vanaf niveau 7, dus het level bepaalt ook welke gebeurtenissen notificaties activeren.
Hoe laat ik meer dan één veld overeenkomen in één regel?
Voeg meerdere <field name="...">-tags toe binnen hetzelfde <rule>-blok. Ze moeten allemaal overeenkomen om de regel te laten afgaan, wat werkt als een logische EN, bijvoorbeeld een specifieke gebruiker en de Delete-actie tegelijk.
Wat zijn dynamische variabelen in de beschrijving van een Wazuh-regel?
Dynamische variabelen gebruiken de $(field)-syntaxis binnen de <description>-tag. Wazuh vervangt ze door de echte waarde die de decoder heeft geëxtraheerd, zodat de melding het werkelijke bron-IP of de betrokken bron toont in plaats van statische tekst.