tgoop.com/srv_admin/1282
Last Update:
Если вы хотите сохранять информацию о том, кто получает доступ к тому или иному файлу в ОС Linux, читайте далее, как это сделать. Допустим, у вас есть конфиг nginx в файле /etc/nginx/nginx.conf и вы хотите знать, кто его открывает на чтение или изменяет. Сделать это можно с помощью встроенной подсистемы аудита Linux.
Для этого понадобится утилита auditctl. Чаще всего она уже присутствует в системе. Если это не так, то ее легко установить:# dnf install auditctl
# apt install auditctl
Дальше создаем отдельное правило для контроля за конкретным файлом. Так будет проще потом делать выборку:# auditctl -w /etc/nginx/nginx.conf -p rwa -k nginx_conf
rwa - чтение (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
BY ServerAdmin.ru

Share with your friend now:
tgoop.com/srv_admin/1282