Как я могу отслеживать изменения файлов пользователя Linux из пользовательского процесса вместо самой файловой системы?

У нас есть требование для заполнения, которое даст нам ежедневный отчет обо всех изменениях, которые были сделаны (и кто их сделал) с помощью протокола SSH; будь то файлы или ресурсы базы данных.

Мониторинг действий с базой данных не проблема, за исключением того, что у нас около 4000 запросов в секунду, и регистрация каждого из них только для сбора запросов от определенного пользователя или хоста требует некоторого планирования. Но это можно сделать, так что я в порядке с этим.

У нас есть несколько старших разработчиков, которые по разным причинам имеют доступ по ssh к рабочим веб-серверам. Файлы можно редактировать с использованием VIM или других распространенных текстовых редакторов, таких как Pico, но вместо них предполагается использовать систему развертывания. Нам нужно наблюдать и сообщать, когда веб-среда изменяется вне этого процесса развертывания.

Наша структура веб-каталогов заполнена более чем 5 000 000 различными файлами и папками, в некоторых каталогах содержится так много файлов, что команда "ls" ломается или просто зависает. Это унаследованная система CRM, но ее живое производство. По этой причине такие утилиты, как ossec hids, inotify или другие процессы мониторинга системы / файла, потребуют большого количества ресурсов для мониторинга и уведомления в режиме реального времени.

Вместо того, чтобы отслеживать файловую систему, должна быть возможность просто контролировать пользователя и наблюдать, когда он обращается к файлам или каталогам в пределах определенного пути, а также записывать изменения, которые они вносят.

Что касается требований, нам необходимо представлять ежедневный отчет обо всех изменениях файлов и баз данных, внесенных в течение дня (через ssh), и, если необходимо, представить, какие изменения были внесены (до и после). Командная утилита Linux 'script' почти дает нам повтор, за исключением того, что она не любит работать, когда пользователь открывает определенные программы (vim и т. Д.). Необходим другой способ записи.

Я удивлен, что нет никакого добросовестного пакета, который имеет универсальное решение для мониторинга пользователей в режиме реального времени; в комплекте с отслеживанием пути к каталогу, доступом к ресурсам, изменениями с помощью ползунков времени, историей событий, которую может фильтровать хост или пользователь (local/ldap/etc).

Или... есть один?

1 ответ

Я думаю, что Audit может быть то, что вы ищете. Хотя я не уверен, что может записывать различия.

Другие вопросы по тегам