Azi a apărut necesitatea de a monitoriza modificările anumitor fișiere pe server; există multe metode diferite, de exemplu , dar deoarece am început recent să folosesc , am decis să monitorizez fișierele cu Elasticsearch, unul dintre .
Nu voi descrie instalarea Elastics Stack și Auditbeat; totul este în manuale, singurul lucru, după instalare, editați fișierul auditbeat.yml, în modulul file_integrity adăugați calea către fișierul monitorizat.
După configurare și rulare, în Kibana va apărea un index auditbeat-*

Apoi, creăm monitorizarea, specificăm numele monitorizării, intervalul de verificare, precum și tipul monitorizării și fișierul index:

în Definiți interogarea de extragere scriem următoarele:
Definiți interogarea de extragere
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"file.path": {
"query": ""
}
}
}
],
"filter": [
{
"term": {
"event.action": {
"value": "attributes_modified" # modificări ale atributelor, posibil created sau deleted
}
}
},
{
"range": {
"@timestamp": {
"from": "now-1m" # perioada în care monitorizăm modificarea
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}Apoi, apăsăm butonul Run și verificăm interogarea; ar trebui să apară ceva de genul:

Încercăm să modificăm fișierul țintă și să reluăm interogarea:

după cum vedeți hits s-a schimbat la 2; apăsăm update și creăm un trigger pentru modificarea valorii:

Lăsăm totul așa cum este în imagine.
Apoi, putem configura notificări în Slack sau în altă aplicație de mesagerie.
Sursa: habr.com
