Что делает этот модуль #
auditd — это подсистема аудита ядра Linux: она регистрирует, кто входит в систему, кто использует sudo, какие чувствительные файлы изменяются и какие системные вызовы выполняются. Это основа практически любого требования соответствия (CIS, PCI, ISO). Проблема в том, что её родные инструменты — auditctl, ausearch, aureport — имеют жёсткий и недружелюбный синтаксис.
Модуль audit добавляет поверх читаемый слой: он с первого взгляда сообщает, активен ли auditd и загружены ли правила, показывает список недавних событий с фильтрацией по времени или по ключу правила, даёт сводку в виде отчёта (входы в систему, sudo/аутентификация и изменения файлов) и позволяет просматривать активные правила аудита CIS — и всё это без необходимости помнить флаги каждого инструмента.
Правила auditd обычно загружаются в режиме immutable (заблокированы до следующей перезагрузки), чтобы никто не мог отключить их на ходу. Поэтому reload предупредит, если изменение требует перезагрузки, вместо того чтобы применять его насильно.
Типовые задачи #
Выберите, что вы хотите сделать. В каждом рецепте команда уже готова — скопируйте её, при необходимости подстройте и нажмите Копировать.
1
Проверить, активен ли аудит
Убедитесь, что auditd работает, правила загружены и нет накопления в очереди.
Подключитесь по SSH к вашему серверу под пользователем ubuntu и запустите:
$ sudo imaxe audit statusНужен вывод для скрипта или панели? Добавьте --json:
$ sudo imaxe audit status --json2
Смотреть недавние события
Узнайте, что произошло, с фильтрацией по времени или по ключу правила.
Выведите сегодняшние события в удобочитаемой сводке:
$ sudo imaxe audit events --since todayХотите только события конкретного правила (по его ключу) и в JSON? Объедините --key и --json:
$ sudo imaxe audit events --key identity --jsonausearch. Если не передать --since, используется окно по умолчанию из audit.yml.3
Получить сводку за день
Отчёт в стиле aureport: входы в систему, sudo/auth и изменения файлов.
Запросите агрегированную сводку активности:
$ sudo imaxe audit summarysudo и изменений файлов было зарегистрировано.4
Смотреть или перезагрузить правила
Просматривайте активные правила и применяйте изменения с учётом immutable.
Выведите правила аудита, загруженные прямо сейчас (эквивалент auditctl -l):
$ sudo imaxe audit rules listЕсли вы отредактировали файлы правил, перезагрузите их. Если система в режиме immutable, команда предупредит, что нужна перезагрузка:
$ sudo imaxe audit rules list --json
$ sudo imaxe audit reloadЕсли events выдаёт пусто, сначала проверьте через status, что auditd активен и правила загружены. Возможно, окно --since слишком короткое, или ни одно правило не использует ключ, по которому вы фильтруете. Просмотрите правила через rules list.
Синопсис #
imaxe audit <subcomando> [<subcomando anidado>] [--since T] [--key K] [--json]Все подкоманды читают из подсистемы аудита, доступной только как root (используйте sudo). Добавьте --json к status, events или rules list, чтобы получить машиночитаемый вывод, пригодный для скриптинга и панелей.
Подкоманды #
| Подкоманда | Что делает | Значимые флаги |
|---|---|---|
| status | Состояние: auditd активен, правила загружены, режим immutable и очередь. | --json |
| events | Список недавних событий с фильтрацией, в удобочитаемой сводке. | --since, --key, --json |
| summary | Сводка в стиле aureport: входы в систему, sudo/auth и изменения файлов. | — |
| rules | Группа управления правилами аудита. Требует вложенную подкоманду. | — |
| rules list | Список активных правил (эквивалент auditctl -l). | --json |
| reload | Перезагружает правила; учитывает immutable и предупреждает, если нужна перезагрузка. | — |
Аргументы и флаги #
| Флаг | Тип | По умолчанию | Описание |
|---|---|---|---|
| --since | string | audit.yml | В events: с какого момента показывать (напр. today, recent, 'now-1 hour'). Если опущено, используется default_since из audit.yml. |
| --key | string | — | В events: фильтрует по ключу правила auditd (напр. identity). |
| --json | bool | false | В status, events и rules list: выдаёт результат в виде структурированного JSON в stdout. |
summary, rules и reload не принимают флагов: они выполняются как есть. Помните, что rules всегда требует вложенную подкоманду list.
Файлы и пути #
| Путь | Содержимое |
|---|---|
| /etc/imaxe/audit.yml | Конфигурация модуля: окно по умолчанию для events (default_since) и прочие опции. |
| /etc/audit/audit.rules | Правила аудита, загружаемые auditd при запуске (база CIS). |
| /etc/audit/rules.d/ | Фрагменты правил, которые собираются в итоговый набор. |
| /var/log/audit/audit.log | Журнал событий, который пишет auditd и который читают events/summary. |
Пример audit.yml:
events:
default_since: todayКоды возврата и логи #
Каждый запуск возвращает код, который можно проверить командой echo $? — полезно для связок в скриптах:
Следите за логом в реальном времени во время отладки:
$ sudo journalctl -u auditd -f
$ sudo tail -f /var/log/audit/audit.logУстранение неполадок #
| Симптом | Вероятная причина | Решение |
|---|---|---|
| Выходит AUDITD (код 3) | Служба auditd не запущена. | Запустите её через systemctl start auditd и повторите imaxe audit status. |
events ничего не возвращает | Окно --since слишком короткое или ключ не существует. | Расширьте --since (напр. 'now-1 hour') или проверьте ключи через rules list. |
reload предупреждает о перезагрузке | Правила в режиме immutable (заблокированы до перезагрузки). | Запланируйте перезагрузку, чтобы применить изменения; до тех пор действуют прежние правила. |
| Выходит USAGE (код 2) | rules вызвана без вложенной подкоманды. | Используйте imaxe audit rules list: rules всегда требует подкоманду. |
Застряли с модулем Audit?
Напишите нам, приложив вывод «imaxe <module> status --json», и мы быстро ответим.