auditd — демон аудита Linux, который работает на уровне ядра и записывает в журнал все критические события: входы пользователей, изменение файлов, запуск привилегированных команд и системные вызовы. Это основа compliance (PCI DSS, SOC 2, ISO 27001) и forensics-анализа.
Установка auditd
apt install auditd audispd-plugins -y
systemctl enable --now auditd
auditctl -s # Статус службы
Правила аудита (/etc/audit/rules.d/audit.rules)
# Мониторинг входов
-w /var/log/auth.log -p wa -k auth_log
-w /etc/passwd -p wa -k user_changes
-w /etc/shadow -p wa -k shadow_changes
-w /etc/group -p wa -k group_changes
-w /etc/sudoers -p wa -k sudoers_changes
# Мониторинг веб-директории
-w /var/www/ -p wa -k web_changes
# Привилегированные команды
-a always,exit -F arch=b64 -S execve -F euid=0 -k root_commands
# Изменения сетевых настроек
-w /etc/hosts -p wa -k host_changes
-w /etc/network/ -p wa -k network_changes
# Применить правила
augenrules --load
Анализ журналов аудита
ausearch -k auth_log --start today
ausearch -k web_changes -i | grep "name=" | tail -20
ausearch -ua 0 --start "1 hour ago" # Команды от root за час
aureport --summary
aureport --login --start today
aureport --file --start this-week | head -30
Мониторинг в реальном времени
tail -f /var/log/audit/audit.log | grep -E "type=USER_LOGIN|type=USER_AUTH"
audispd # Отправка событий в реальном времени
Централизованный сбор логов: Отправляйте auditd-события на центральный SIEM (Graylog, ELK Stack) через
audisp-remote. Это защищает логи от удаления злоумышленником, получившим root на вашем сервере.