Audit

Материал из Rosalab Wiki
Версия от 08:31, 10 марта 2023; Mikhailnov (обсуждение | вклад)

Это снимок страницы. Он включает старые, но не удалённые версии шаблонов и изображений.
Перейти к: навигация, поиск

Аудит в 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

Однако запись в файл позволяет прогружать правила аудита автоматически при запуске ОС.