Bootstrap

auditd в Linux: установка, настройка (systemd, SysVinit)

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 МБ при активных событиях
CPU0–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 при старте

  1. Открываем конфигурацию GRUB:

Terminal:

sudo vim /etc/default/grub
  1. Находим строку GRUB_CMDLINE_LINUX_DEFAULT, например:

Terminal:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash audit=0 intel_pstate=disable"
  1. Меняем audit=0 на audit=1:

Terminal:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash audit=1 intel_pstate=disable"
  1. Обновляем конфигурацию GRUB:

Terminal:

sudo update-grub
  1. Перезагружаем систему:

Terminal:

sudo reboot
  1. После загрузки проверяем:

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 в загрузку, если ничего не получилось.

Копирование материалов разрешается только с указанием автора Roman Sakhno и индексируемой прямой ссылкой на сайт (http://itdid.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/sahroman.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/sahroman.

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как настроить свой компьютер

  2. Текстовая ссылка:

    Она выглядит вот так: Как настроить свой компьютер

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

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

крипто-донат, на развитие сайта itdid.ru:

В новом окне с терминалом itdid.ru, введите любую сумму: