Hoy era necesario monitorear los cambios en ciertos archivos en el servidor, hay muchas formas diferentes, por ejemplo, osquery de Facebook , pero desde que recientemente comencé a usar Open Distro para Elasticsearch, decidí monitorear archivos con un elástico, uno de sus beat'ov .
No describiré la instalación de Elastics stack y Auditbeat, todo de acuerdo con los manuales, lo único es que, después de la instalación, edite el archivo auditbeat.yml , agregue la ruta al archivo monitoreado al módulo file_integrity .
Después de configurar e iniciar, kibana mostrará el índice auditbeat- *

A continuación, cree una supervisión, especifique el nombre de la supervisión, el intervalo de exploración, así como el tipo de archivo de supervisión e índice:

en la consulta Definir extracción escriba lo siguiente:
Definir consulta de extracción{ "query": { "bool": { "must": [ { "match_phrase": { "file.path": { "query": "</ >" } } } ], "filter": [ { "term": { "event.action": { "value": "attributes_modified" # , created deleted } } }, { "range": { "@timestamp": { "from": "now-1m" # } } } ], "adjust_pure_negative": true, "boost": 1 } } }
Después de presionar el botón Ejecutar y verificar la solicitud, debería aparecer:

Intentamos cambiar el archivo de destino y ejecutar la solicitud nuevamente:

como puede ver, los hits han cambiado en 2, haga clic en actualizar y cree un activador para cambiar el valor:

Dejamos todo como en la imagen.
A continuación, puede configurar notificaciones en slack u otro messenger.