auditd в Linux: установка, настройка (systemd, SysVinit)
? Полный гид по auditd в Linux: установка, настройка, мониторинг действий пользователя **(с инициализацией systemd)**
auditd — это системный демон для аудита событий в Linux. Он позволяет отслеживать действия пользователей, изменение файлов, запуск программ и многие другие события, что делает его незаменимым инструментом для администраторов и служб безопасности.
В этой статье разберём:
* зачем нужен auditd;
* как его установить и настроить;
* как писать и применять правила;
* как мониторить события;
* особенности нагрузки на систему;
* готовый набор оптимальных правил для отслеживания копирования, удаления, изменения файлов и запуска программ.
1️⃣ Для чего нужен auditd
auditd фиксирует события, поступающие от ядра Linux через подсистему Audit Framework. Он позволяет:
* отслеживать изменения файлов и каталогов (create, delete, write, rename);
* мониторить запуск программ и скриптов;
* фиксировать изменение прав и владельцев файлов (chmod, chown);
* контролировать действия пользователя с повышением привилегий (sudo);
* обнаруживать попытки подмены системных бинарников или изменения критических конфигураций;
* создавать отчёты о действиях пользователя для аудита или расследования инцидентов.
⚠ Важно: auditd фиксирует только действия, происходящие на загруженной системе с работающим демоном. Если пользователь работает через LiveCD или chroot в другой системе, события не попадут в журнал оригинальной ОС.
2️⃣ Установка auditd на MX Linux / Debian
Установка проста через apt:
☯
Terminal:
⌕
≡
✕
sudo apt update sudo apt install auditd audispd-plugins
Запуск и проверка статуса:
☯
Terminal:
⌕
≡
✕
sudo systemctl enable auditd sudo systemctl start auditd sudo systemctl status auditd
Auditd уже готов к работе после установки, но без правил он будет записывать минимум системных событий.
3️⃣ Основные файлы auditd
* Основной лог:
☯
Terminal:
⌕
≡
✕
/var/log/audit/audit.log
* Архивы (после ротации):
☯
Terminal:
⌕
≡
✕
/var/log/audit/audit.log.1 /var/log/audit/audit.log.2.gz
* Конфигурация демона:
☯
Terminal:
⌕
≡
✕
/etc/audit/auditd.conf
* Правила аудита:
☯
Terminal:
⌕
≡
✕
/etc/audit/rules.d/*.rules
* Команды для чтения логов:
☯
Terminal:
⌕
≡
✕
sudo ausearch -k <ключ> sudo aureport -f # файлы sudo aureport -x # запуски программ sudo aureport -u # пользователи
4️⃣ Оптимальная настройка правил
Ниже — готовый набор правил, который фиксирует копирование, создание, удаление, изменение файлов, запуск программ, изменение прав, но не нагружает сильно систему.
Создаём файл:
☯
Terminal:
⌕
≡
✕
sudo vim /etc/audit/rules.d/monitor.rules
Вставляем:
☯
Terminal:
⌕
≡
✕
# === Домашний каталог (копирование, перемещение, запись, удаление) === -w /home -p wa -k home_changes # === Удаление файлов === -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -k delete # === Изменение прав === -a always,exit -F arch=b64 -S chmod -S fchmod -k chmod_changes -a always,exit -F arch=b64 -S chown -S fchown -k chown_changes # === Запуск программ (команды, GUI-приложения, скрипты) === -a always,exit -F arch=b64 -S execve -k program_exec # === Изменения системных бинарников (дополнительная защита) === -w /usr/bin -p wa -k system_binaries -w /bin -p wa -k system_binaries -w /usr/sbin -p wa -k system_binaries -w /sbin -p wa -k system_binaries # === Изменение sudoers (контроль привилегий) === -w /etc/sudoers -p wa -k sudo_changes -w /etc/sudoers.d -p wa -k sudo_changes
Применяем правила:
☯
Terminal:
⌕
≡
✕
sudo augenrules --load sudo systemctl restart auditd
5️⃣ Как просматривать события
Просмотр событий по ключу
☯
Terminal:
⌕
≡
✕
sudo ausearch -k home_changes # изменения в домашнем каталоге sudo ausearch -k delete # удаление файлов sudo ausearch -k program_exec # запуск программ sudo ausearch -k chmod_changes # изменение прав
Автоматические отчёты
☯
Terminal:
⌕
≡
✕
sudo aureport -f # отчёт по файлам sudo aureport -x # отчёт по запускам программ sudo aureport -u # отчёт по пользователям
Мониторинг в реальном времени
☯
Terminal:
⌕
≡
✕
sudo tail -f /var/log/audit/audit.log
Или через journalctl (если auditd интегрирован с journal):
☯
Terminal:
⌕
≡
✕
sudo journalctl -f -u auditd
6️⃣ Нагрузка auditd на систему
Auditd — лёгкий и эффективный:
| Параметр | Нагрузка |
| Память | 8–20 МБ (обычно), до 50 МБ при активных событиях |
| CPU | 0–1% в среднем, 1–5% при активных событиях, редко до 10% |
| Размер логов | Контролируется через rотацию (max_log_file, num_logs) |
⚠ Если включить «логирование всех системных вызовов» (-S all), нагрузка сильно вырастает. Рекомендуется использовать правила, как в примере выше, для минимальной нагрузки.
7️⃣ Полезные советы
* Auditd фиксирует только действия на запущенной системе, LiveCD или chroot не оставят записи в логах оригинальной системы.
* Используйте ключи (-k) в правилах — это упрощает поиск нужных событий.
* Ротация логов важна, чтобы не занимать весь диск.
* Можно настроить аудит “непотушимым”, добавив audit=1 в параметры ядра. Тогда демон будет фиксировать даже попытки его остановки.
8️⃣ Заключение
Auditd — мощный инструмент для контроля действий пользователей и расследования инцидентов. С правильно настроенными правилами вы получаете:
* мониторинг действий в домашнем каталоге;
* контроль удаления, копирования, изменения файлов;
* фиксацию запуска программ и скриптов;
* контроль изменения системных файлов и прав.
При этом нагрузка на систему остаётся минимальной, а логи легко читать и анализировать.
полный пошаговый мини-гайд без systemd , чтобы auditd работал корректно с включённой подсистемой аудита, запускался при старте через SysVinit и применял ваши правила мониторинга.
? Мини-гайд: auditd на MX Linux / Liquorix с SysVinit
1️⃣ Проверка текущего состояния ядра
Проверяем, включён ли audit при загрузке:
☯
Terminal:
⌕
≡
✕
cat /proc/cmdline
* Если есть audit=0 → нужно включить подсистему аудита.
Проверяем поддержку аудита в ядре:
☯
Terminal:
⌕
≡
✕
grep AUDIT /boot/config-$(uname -r)
Вы должны увидеть CONFIG_AUDIT=y и другие строки, подтверждающие поддержку.
2️⃣ Включаем audit при старте
- Открываем конфигурацию GRUB:
☯
Terminal:
⌕
≡
✕
sudo vim /etc/default/grub
- Находим строку
GRUB_CMDLINE_LINUX_DEFAULT, например:
☯
Terminal:
⌕
≡
✕
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash audit=0 intel_pstate=disable"
- Меняем
audit=0наaudit=1:
☯
Terminal:
⌕
≡
✕
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash audit=1 intel_pstate=disable"
- Обновляем конфигурацию GRUB:
☯
Terminal:
⌕
≡
✕
sudo update-grub
- Перезагружаем систему:
☯
Terminal:
⌕
≡
✕
sudo reboot
- После загрузки проверяем:
☯
Terminal:
⌕
≡
✕
cat /proc/cmdline
* Должно быть audit=1.
3️⃣ Установка auditd
☯
Terminal:
⌕
≡
✕
sudo apt update sudo apt install auditd audispd-plugins
Проверяем init-скрипт:
☯
Terminal:
⌕
≡
✕
ls -l /etc/init.d/auditd
4️⃣ Настройка автоматического старта через SysVinit
Добавляем auditd в автозагрузку:
☯
Terminal:
⌕
≡
✕
sudo update-rc.d auditd defaults
Проверяем ссылки в /etc/rc2.d/:
☯
Terminal:
⌕
≡
✕
ls /etc/rc2.d | grep auditd
5️⃣ Конфигурация демона
Файл /etc/audit/auditd.conf:
☯
Terminal:
⌕
≡
✕
log_file = /var/log/audit/audit.log log_format = ENRICHED max_log_file = 8 num_logs = 5 max_log_file_action = ROTATE flush = INCREMENTAL_ASYNC
* flush = INCREMENTAL_ASYNC снижает нагрузку на CPU и диск.
6️⃣ Настройка правил мониторинга
Создаём файл /etc/audit/rules.d/monitor.rules:
☯
Terminal:
⌕
≡
✕
sudo vim /etc/audit/rules.d/monitor.rules
Вставляем:
☯
Terminal:
⌕
≡
✕
# === Домашний каталог (копирование, перемещение, запись, удаление) === -w /home -p wa -k home_changes # === Удаление файлов === -a always,exit -F arch=b64 -S unlink -S unlinkat -S rename -k delete # === Изменение прав === -a always,exit -F arch=b64 -S chmod -S fchmod -k chmod_changes -a always,exit -F arch=b64 -S chown -S fchown -k chown_changes # === Запуск программ (команды, GUI-приложения, скрипты) === -a always,exit -F arch=b64 -S execve -k program_exec # === Изменения системных бинарников (дополнительная защита) === -w /usr/bin -p wa -k system_binaries -w /bin -p wa -k system_binaries -w /usr/sbin -p wa -k system_binaries -w /sbin -p wa -k system_binaries # === Изменение sudoers (контроль привилегий) === -w /etc/sudoers -p wa -k sudo_changes -w /etc/sudoers.d -p wa -k sudo_changes # === Изменение пользователей и паролей === -w /etc/passwd -p wa -k users_changes -w /etc/shadow -p wa -k shadow_changes
7️⃣ Загрузка правил
☯
Terminal:
⌕
≡
✕
sudo augenrules --load
Проверка:
☯
Terminal:
⌕
≡
✕
sudo auditctl -l
* Список правил должен отображать все ключи (home_changes, delete, program_exec и т.д.).
8️⃣ Запуск auditd
На SysVinit:
☯
Terminal:
⌕
≡
✕
sudo service auditd start sudo service auditd status
Если всё сделано правильно — демон должен стартовать без ошибок.
9️⃣ Просмотр событий
По ключу:
☯
Terminal:
⌕
≡
✕
sudo ausearch -k home_changes # изменения в домашнем каталоге sudo ausearch -k delete # удаление файлов sudo ausearch -k program_exec # запуск программ
Автоотчёты:
☯
Terminal:
⌕
≡
✕
sudo aureport -f # файлы sudo aureport -x # запуски программ sudo aureport -u # пользователи
В реальном времени:
☯
Terminal:
⌕
≡
✕
sudo tail -f /var/log/audit/audit.log
? Нагрузка
* RAM: 8–20 МБ обычно, до 50 МБ при активных событиях.
* CPU: 0–1% в среднем, 1–3% при интенсивной работе.
* Логи: ротация через auditd.conf, максимум ~40 МБ.
Нагрузка минимальна даже при отслеживании всех действий пользователя.
✅ Итог
Теперь auditd:
* запускается при старте через SysVinit;
* фиксирует все действия пользователя и системные изменения;
* минимально нагружает систему;
* позволяет просматривать логи и отчёты.
Смотри также:
как включить audit в загрузку, если ничего не получилось.-
Создано 15.11.2025 09:58:40
-
Roman Sakhno

Комментарии (0):
Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.