Главная > Управление пакетами и системой > auditctl

auditctl: Управление правилами аудита Linux

auditctl — это утилита командной строки, используемая для управления системой аудита (auditing) в ядре Linux. Она позволяет добавлять, удалять и перечислять правила для отслеживания и записи определенных событий (таких как доступ к файлам, системные вызовы и т. д.), происходящих в системе. Это необходимо для мониторинга критически важных системных действий в целях аудита безопасности и соответствия требованиям.

Обзор

auditctl динамически управляет правилами системы аудита Linux. Эти правила определяются на уровне ядра и могут быть настроены для записи различных событий, таких как доступ к определенным файлам, системные вызовы, действия пользователей и т. д. Журналы аудита обычно хранятся в файле /var/log/audit/audit.log.

Основные функции

  • Добавление и удаление правил аудита
  • Просмотр списка активных правил аудита
  • Отслеживание доступа к файлам и каталогам
  • Отслеживание определенных системных вызовов
  • Настройка правил аудита на основе пользователей и групп

Установка

auditctl является частью пакета 'audit' или 'auditd'. Если он не установлен по умолчанию в вашем дистрибутиве Linux, вы можете установить его с помощью следующих команд.

Debian/Ubuntu

sudo apt update
sudo apt install auditd

Установка auditctl в системах на базе Debian или Ubuntu.

RHEL/CentOS/Fedora

sudo yum install audit
# или
sudo dnf install audit

Установка auditctl в системах на базе RHEL, CentOS или Fedora.

После установки необходимо запустить и включить службу auditd: `sudo systemctl enable auditd --now`

Основные опции

Команда auditctl использует различные опции для определения и управления правилами аудита.

Управление правилами

Определение правил

Сгенерированная команда:

Комбинируйте команды.

Описание:

`auditctl` Запускает команду.

Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.

Примеры использования

Различные примеры настройки правил аудита с помощью auditctl.

Вывести все текущие правила аудита

sudo auditctl -l

Проверяет все правила аудита, загруженные в настоящее время в ядро.

Отслеживание изменений файла /etc/passwd

sudo auditctl -w /etc/passwd -p wa -k passwd_changes

Отслеживает все операции записи (w) и изменения атрибутов (a) для файла /etc/passwd и назначает ключ 'passwd_changes'.

Отслеживание попыток чтения файла /etc/shadow

sudo auditctl -w /etc/shadow -p r -k shadow_read

Отслеживает попытки чтения (r) файла /etc/shadow и назначает ключ 'shadow_read'.

Отслеживание создания/удаления файлов в каталоге /var/log

sudo auditctl -a always,exit -F dir=/var/log -F perm=wa -S creat,unlink -k log_dir_changes

Отслеживает системные вызовы создания (creat) и удаления (unlink) файлов в каталоге /var/log. Назначает ключ 'log_dir_changes'.

Отслеживание попыток удаления файлов определенным пользователем (UID)

sudo auditctl -a always,exit -F arch=b64 -S unlink -F auid=1000 -k user_file_delete

Отслеживает системный вызов удаления (unlink) файлов пользователем с UID 1000. Указывает архитектуру системы 64-бит.

Удалить все правила аудита

sudo auditctl -D

Удаляет все правила аудита, загруженные в настоящее время. (Внимание: используйте с осторожностью.)

Удалить правило с определенным ключом

sudo auditctl -w /etc/passwd -p wa -k passwd_changes -d

Удаляет правило с ключом 'passwd_changes'. Необходимо использовать те же опции, что и при добавлении правила.

Советы и предостережения

Полезные советы и предостережения при использовании auditctl.

Постоянное сохранение правил

Правила, добавленные с помощью auditctl, исчезают после перезагрузки системы. Чтобы сохранить правила постоянно, добавьте их в файл /etc/audit/rules.d/audit.rules и примените с помощью команды 'augenrules --load' или 'systemctl restart auditd'.

  • Файл правил: /etc/audit/rules.d/audit.rules
  • Применение правил: sudo augenrules --load

Влияние на производительность

Настройка слишком большого количества правил аудита или отслеживание обширных каталогов может повлиять на производительность системы. Рекомендуется настраивать только минимально необходимые правила и сосредоточиться на критически важных путях.

Проверка файлов журналов

События аудита записываются в файл /var/log/audit/audit.log. Для эффективной проверки этих журналов рекомендуется использовать команды ausearch и aureport.

Указание архитектуры (-F arch=b64/b32)

При отслеживании системных вызовов рекомендуется явно указывать '-F arch=b64' для 64-битных систем и '-F arch=b32' для 32-битных систем. Это связано с тем, что номера системных вызовов могут различаться в зависимости от архитектуры.


Те же команды в категории