Vandaag was er behoefte aan de monitoring van wijzigingen in bepaalde bestanden op de server, er zijn verschillende manieren om dit te doen, bijvoorbeeld , maar omdat ik onlangs ben begonnen met het gebruik van heb ik besloten om bestanden met Elastic te monitoren, een van zijn .
Ik zal de installatie van de Elastic stack en Auditbeat niet beschrijven, alles volgens de handleidingen, het enige wat je moet doen na de installatie is het bestand auditbeat.yml, in de module file_integrity voeg het pad naar het te volgen bestand toe.
Na configuratie en запуск verschijnt de index in Kibana auditbeat-*

Vervolgens maken we de monitoring aan, geven we een naam op voor de monitoring, de controleinterval en het type monitoring en het indexbestand:

in Definieer extractiequery schrijf het volgende:
Definieer extractiequery
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"file.path": {
"query": ""
}
}
}
],
"filter": [
{
"term": {
"event.action": {
"value": "attributes_modified" #wijzigingen in attributen, mogelijk created of deleted
}
}
},
{
"range": {
"@timestamp": {
"from": "now-1m" #periode waarin we de wijziging volgen
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}Klik daarna op de knop Run en controleer de query, het zou er als volgt uit moeten zien:

Probeer het doelbestand te wijzigen en voer de query opnieuw uit:

zoals je kunt zien hits is veranderd naar 2, klik op update en maak een trigger voor de wijziging van de waarde aan:

Laat alles zoals op de afbeelding.
Vervolgens kun je meldingen instellen in Slack of een andere berichtenservice.
Bron: habr.com
