Heute besteht der Bedarf an der Überwachung von Änderungen bestimmter Dateien auf dem Server, es gibt viele verschiedene Möglichkeiten, zum Beispiel , aber da ich kürzlich begonnen habe, zu verwenden, habe ich beschlossen, die Dateien mit Elasticsearch zu überwachen, einem seiner .
Die Installation des Elastic Stacks und von Auditbeat werde ich nicht beschreiben, alles erfolgt nach den Anleitungen, das einzige, was Sie nach der Installation tun sollten, ist, die Datei auditbeat.ymlzu bearbeiten, fügen Sie im Modul file_integrity den Pfad zur zu überwachenden Datei hinzu.
Nach der Konfiguration und dem Start erscheint in Kibana der Index auditbeat-*

Dann erstellen wir die Überwachung, geben den Namen der Überwachung, das Prüfintervall sowie den Überwachungstyp und die Indexdatei an:

in Abfrage zur Datenextraktion definieren schreiben wir Folgendes:
Abfrage zur Datenextraktion definieren
{
"query": {
"bool": {
"must": [
{
"match_phrase": {
"file.path": {
"query": ""
}
}
}
],
"filter": [
{
"term": {
"event.action": {
"value": "attributes_modified" #Änderungen der Attribute, möglicherweise created oder deleted
}
}
},
{
"range": {
"@timestamp": {
"from": "now-1m" #Zeitraum, in dem wir die Änderung überwachen
}
}
}
],
"adjust_pure_negative": true,
"boost": 1
}
}
}Danach klicken wir auf die Schaltfläche Ausführen und überprüfen die Abfrage, es sollte folgender Ausdruck erscheinen:

Versuchen Sie, die Ziel-Datei zu ändern, und führen Sie die Abfrage erneut aus:

Wie Sie sehen, hits hat sich auf 2 geändert, klicken Sie auf Aktualisieren und erstellen Sie einen Trigger zur Änderung des Wertes:

Lassen Sie alles wie auf dem Bild.
Danach können Sie Benachrichtigungen in Slack oder einem anderen Messenger einrichten.
Quelle: habr.com
