Hoje havia a necessidade de monitorar alterações em determinados arquivos no servidor, existem muitas maneiras diferentes, por exemplo, de osquery do facebook , mas desde que comecei a usar o Open Distro para Elasticsearch, decidi monitorar arquivos com um elástico, um de seus beat'ov .
Não descreverei a instalação da pilha Elastics e do Auditbeat, tudo de acordo com os manuais, a única coisa é, após a instalação, editar o arquivo auditbeat.yml , adicionar o caminho ao arquivo monitorado no módulo file_integrity .
Após configurar e iniciar, o kibana exibirá o auditbeat- * index

Em seguida, crie um monitoramento, especifique o nome do monitoramento, o intervalo de varredura e o tipo de arquivo de monitoramento e índice:

na consulta Definir extração, escreva o seguinte:
Definir consulta de extração{ "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 } } }
Depois que pressionamos o botão Executar e verificamos a solicitação, isso deve aparecer:

Tentamos alterar o arquivo de destino e executar a solicitação novamente:

como você pode ver os resultados foram alterados por 2, clique em atualizar e crie um gatilho para alterar o valor:

Deixamos tudo como na imagem.
Em seguida, você pode configurar as notificações no Slack ou em outro messenger.