Назад | Перейти на главную страницу

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

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

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

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

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

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

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

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

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

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