Обычные логи не всегда отвечают на главный вопрос: кто изменил конфигурацию и какой процесс это сделал? Для таких задач в Linux есть
auditd. Он фиксирует обращения к файлам на уровне ядра и сохраняет пользователя, процесс, команду и время события.▪️ Установка:
apt install auditd audispd-plugins
systemctl enable --now auditd
Правила лучше хранить в отдельном файле:
nano /etc/audit/rules.d/critical-files.rules
▪️ Минимальный набор:
-w /etc/passwd -p wa -k identity
-w /etc/group -p wa -k identity
-w /etc/shadow -p wa -k identity
-w /etc/gshadow -p wa -k identity
-w /etc/sudoers -p wa -k sudoers
-w /etc/sudoers.d/ -p wa -k sudoers
-w /etc/ssh/sshd_config -p wa -k ssh_config
-w /root/.ssh/ -p wa -k ssh_keys
-w /etc/systemd/system/ -p wa -k systemd_units
-w /etc/cron.d/ -p wa -k cron_changes
-w /etc/crontab -p wa -k cron_changes
-w /etc/audit/ -p wa -k audit_config
-w - файл или каталог для наблюдения -p w - запись в файл -p a - изменение атрибутов и прав -k - удобная метка для поиска▪️ Загружаем правила:
augenrules --load
▪️ Проверяем:
auditctl -l
▪️ Примеры использования:
Ищем изменения, например, SSH-конфига:
ausearch -k ssh_config -i
Посмотреть события за сегодня:
ausearch -k sudoers -ts today -i
Краткий отчет по измененным файлам:
aureport -f -i
▪️ В событии можно увидеть:
какой файл изменили
UID и реального пользователя
PID процесса
исполняемую команду
успешность операции
точное время
#linux #auditd
🧑💻 NetworkAdmin