Audit
Содержание
Аудит в ROSA Linux
Введение
Аудит (audit) — это механизм аудита безопасности в ядре Linux, который позволяет отслеживать события в системе. Он может использоваться для мониторинга доступа к файлам, сетевых подключений, а также других системных событий.
В пространстве пользователя работает демон auditd (рассматриваем именно его, хотя возможны иные реализации), который получает от ядра ОС информацию о произошедших событиях и обрабатывает ее в соответствии с настройками.
Ведение логов аудита обычно решает 2 задачи:
- протоколирование происходящего для разбора в случае действий злоумышленника;
- протоколирование происходящего для отладки работы программ.
Поскольку получивший доступ к компьютеру (серверу) злоумышленник может получить доступ к удалению логов аудита, рекомендуется в режиме реального времени отправлять их на внешний сервер. Пример такой настройки рассмотрен в статье Сервер логирования Journald.
Установка auditd
Пакет предустановлен в большинстве дистрибутивов ROSA, при необходимости установка производится так:
sudo dnf install audit
Управление службой auditd
Служба auditd включается автоматически, однако при необходимости ее можно включить в автозапуск так:
sudo systemctl enable auditd
Выключить так:
sudo systemctl mask auditd
Остановить так:
sudo systemctl kill auditd
Настройка auditd
Конфигурационный файл находится по адресу /etc/audit/auditd.conf
. Его содержимое по умолчанию подходит для работы.
Некоторые из наиболее важных параметров:
- max_log_file: максимальный размер журнального файла аудита в мегабайтах.
- num_logs: максимальное количество журнальных файлов аудита.
- log_file: путь к журнальному файлу аудита.
- log_group: группа, которой принадлежит журнальный файл аудита.
- write_logs: писать ли (yes — писать, no — не писать) события аудита в файл
/var/log/audit/audit.log
. Можно выставить no, тогда события аудита будут попадать в systemd-journald, но не будут дублироваться в еще один файл. Утилитаausearch
читает именно этот файл, поэтому ей нельзя будет пользоваться.
Больше информации в man auditd.conf
.
Настройка правил аудита
Правила аудита — это инструкции, какие события нужно подвергать аудиту, то есть логировать.
Правила аудита задаются с помощью утилиты auditctl
, которая по сокету взаимодействует с демоном auditd и передает ему команды.
При запуске auditd читаются правила из файлов /etc/audit/rules.d/*.rules
. Каждая строка в этих файлах представляет собой аргументы для auditctl
. Например, строка:
-w /etc/passwd -p wa -k passwd-file
эквивалентна запуску команды:
sudo auditctl -w /etc/passwd -p wa -k passwd-file
Однако запись в файл позволяет прогружать правила аудита автоматически при запуске ОС.