Для этого понадобится утилита auditctl. Чаще всего она уже присутствует в системе. Если это не так, то ее легко установить:
# dnf install auditctl# apt install auditctlДальше создаем отдельное правило для контроля за конкретным файлом. Так будет проще потом делать выборку:
# auditctl -w /etc/nginx/nginx.conf -p rwa -k nginx_confrwa - чтение (r), запись (w), изменение атрибута (a)
nginx_conf - название правила аудита
Проверим текущий список правил auditctl и убедимся, что появилось новое:
# auditctl -lУдалить правила можно командой:
# auditctl -DТеперь можно что-то сделать с указанным в правиле файлом. После этого есть несколько способов посмотреть результат аудита.
# aureport -f -i | grep /etc/nginx/nginx.confЭта утилита покажет список событий, связанных с правилом, включающим в себя конфиг nginx.conf. В списке будет информация о пользователе, программе, с помощью которой был доступ к файлу, дата события и т.д.
Более подробную информацию по срабатыванию правила можно увидеть с помощью другой утилиты:
# ausearch -i -k nginx_confКонкретизировать вывод только событиями записи файла можно с помощью grep:
# ausearch -i -k nginx_conf | grep O_WRONLYУ ausearch много встроенных ключей для фильтрации событий, так что чаще всего нужную информацию можно получить с их помощью и без grep.
События аудита записываются в обычный лог файл. Чаще всего это /var/log/audit/audit.log. Для того, чтобы изменения этого файла не привели к потери важных событий имеет смысл дополнительно настроить отправку событий на удаленный сервер хранения логов.
#terminal #security