3.4.3.2 Служба аудита auditd
Синтаксис и опции
Описание конфигурации auditd.conf
Окружение
- Версия ОС: 8
- Конфигурация ОС: Рабочая станция
- Редакция ОС: Все
- Версия ПО: audit-3.1.3-1
Служба auditd — это прикладной компонент системы аудита Linux, который ведёт журнал аудита. Для просмотра протоколов предназначены команды ausearch и aureport. Команда auditctl позволяет настраивать правила аудита. При старте службы вызывается инструмент augenrules, который объединяет правила аудита из подкаталога /etc/audit/rules.d/ в результирующий файл /etc/audit/audit.rules и загружает их в ядро. Некоторые параметры службы можно изменить в файле /etc/audit/auditd.conf (будет рассмотрено ниже).
Синтаксис и опции
Утилита доступна для запуска через терминал при помощи команды следующего вида:
auditd [-f] [-l] [-n] [-s disable|enable|nochange] [-c <каталог_конфигураций>]
Опции:
| Опция | Значение опции |
-f
|
Не переходить в фоновый режим (для отладки). Сообщения программы будут направляться в стандартный вывод для ошибок (stderr), а не в журнал аудита. |
-l
|
Разрешить переход по символическим ссылкам при загрузке конфигурационных файлов. |
-n
|
Не создавать дочерний процесс при запуске. |
-s <disable|enable|nochange>
|
Определяет, нужно ли изменить текущее значение флага аудита в ядре в момент запуска auditd. По умолчанию — enable (включить) при старте, и disable при завершении процесса auditd. Значение флага может быть изменено в процессе работы auditd командой auditctl -e.
|
-с
|
Использовать альтернативный каталог загрузки конфигураций (каталог по умолчанию: /etc/audit/). |
Сигналы:
| Сигнал | Значение сигнала |
SIGHUP
|
Вызывает перезагрузку конфигурации из файла на диске. Если в файле не окажется синтаксических ошибок, внесённые в него изменения вступят в силу. При этом в протокол будет добавлена запись о событии DAEMON_CONFIG. В противном случае действия службы будут зависеть от параметров space_left_action, admin_space_left_action, disk_full_action, disk_error_action файла auditd.conf.
|
SIGTERM
|
Вызывает прекращение обработки событий аудита и завершение работы службы, о чём предварительно производится запись в протокол. |
SIGUSR1
|
Вызывает немедленную ротацию журналов. Действие над файлами журнала будет определено параметром max_log_file_action.
|
SIGUSR2
|
auditd попытается возобновить ведение журнала и передачу событий плагинам. Обычно это требуется после приостановки ведения журнала или переполнения внутренней очереди. Конкретные условия зависят от применённых настроек конфигурации. |
SIGCONT |
Вызывает создание отчёта о состоянии службы в файл /var/run/auditd.state. |
Для того чтобы сделать возможным аудит всех процессов, запущенных до службы аудита, добавьте в строку параметров ядра (в конфигурации загрузчика) audit=1. В противном случае аудит некоторых процессов будет невозможен.
Описание конфигурации auditd.conf
В файле /etc/audit/auditd.conf определяются параметры службы аудита. На одной строке допустимо наличие ключевого слова (названия параметра), знака равенства и соответствующих ему данных (значения параметра). Имена ключевых слов распознаются независимо от их регистра. Любая строка, длина которой превысит 160 символов, будет пропущена. Строка комментария должна начинаться с символа '#'.
Допустимые ключевые слова и их пояснение представлены в таблице ниже.
| Ключ | Значение ключа |
local_events
|
Значение ключа (
Значение по умолчанию: |
log_file
|
Полный путь к файлу журнала для хранения записей аудита. Должен быть указан обычный файл. |
write_logs
|
Значение ключа (
Значение по умолчанию: |
log_format
|
Указывает формат, в котором информация должна храниться на диске. Принимается два варианта:
Параметр |
log_group
|
Значение ключа определяет группу, которая устанавливается для файла журнала. Значение может быть как числовым, так и буквенным.
Значение по умолчанию: |
priority_boost
|
Неотрицательное число, которое указывает насколько нужно увеличить приоритет демону аудита. Для запуска без изменения приоритета необходимо указать
Значение по умолчанию: |
flush
|
Позволяет выбрать поведение синхронизации данных с диском. Допустимые значения ключа:
Значение по умолчанию: |
freq
|
Задаёт число записей аудита, которое должно быть отправлено в файл журнала перед вызовом сброса данных буфера на диск. Применимо только к режимам incremental и incremental_async, установленным в ключе flush.
|
num_logs
|
Значение ключа (от
Значение по умолчанию: |
name_format
|
Этот ключ определяет, как имена компьютерных узлов вставляются в поток событий аудита. Допустимые значения:
Значение по умолчанию: |
name
|
Идентификатор узла, используемый при выборе опции user в ключе name_format.
|
max_log_file
|
Максимальный размер файла журнала в мегабайтах. При достижении этого размера будет выполнено действие, которое сконфигурировано значением ключа max_log_file_action.
|
max_log_file_action
|
Ключ указывает системе действие, которое необходимо предпринять при обнаружении достижения максимального размера файла журнала. Допустимые значения:
|
verify_email
|
Значение ключа (yes или no) определяет необходимость проверки разрешения домена из адреса электронной почты, заданного в параметре action_mail_acct. Этот ключ необходимо указывать до action_mail_acct, иначе будет установлено значение по умолчанию — yes.
|
action_mail_acct
|
Этот ключ должен содержать действительный адрес электронной почты или псевдоним. Если адрес электронной почты не является локальным для компьютера, необходимо убедиться, что локальная и удалённая настройка электронной почты выполнена верно. Кроме того, для работы этого ключа требуется, чтобы на компьютере присутствовал файл /usr/lib/sendmail. Значение по умолчанию: root.
|
space_left
|
Числовое значение в мегабайтах, которое указывает границу свободного пространства (в файловой системе, содержащей файлы журналов), ниже которой должно быть вызвано действие ключа Если значение задано в виде числа, то оно будет обозначать размер в мегабайтах.
Если значение задано в виде числа от |
space_left_action
|
Этот ключ определяет действие, выполняемое при начале обнаружения исчерпания места на диске, когда свободное пространство становится меньше значения ключа Допустимые значения:
Выбранное в ключе действие выполняется однократно (за исключением |
admin_space_left
|
Числовое значение в мегабайтах, которое указывает границу свободного пространства (в файловой системе, содержащей файлы журналов), ниже которой должно быть вызвано действие ключа |
admin_space_left_action
|
Этот ключ определяет действие при приближении к полному исчерпанию места на диске, когда свободное пространство становится меньше значения ключа Допустимые значения:
Выбранное в ключе действие выполняется однократно (за исключением |
disk_full_action
|
Ключ указывает действие, которое необходимо выполнить при полном исчерпании свободного пространства хранилища, на котором расположены журналы. Допустимые значения:
|
disk_error_action
|
Ключ указывает действие, которое необходимо выполнить при обнаружении ошибки в процессе: записи сообщений аудита в журнал на диске, ротации журналов. Допустимые значения:
|
tcp_listen_port
|
Задаёт номер TCP-порта, на котором служба аудита будет принимать сообщения аудита от удалённых систем. Допустимые значения ключа: 1 — 65535. Служба аудита может быть связана с tcp_wrappers, и настроен доступ посредством записей в файлах конфигурации hosts.allow и hosts.deny. При использовании сбора сообщений от удалённых систем следует изменить директиву «After» в службе auditd согласно комментариям в файле службы (systemctl cat auditd).
|
tcp_listen_queue
|
Задаёт максимально допустимое количество ожидающих подключений (запрошенных, но пока не принятых). Указание слишком низкого значения может привести к отказам в соединении при большом количестве одновременно запускающихся удалённых хостов, например, после сбоя питания. Использование ключа необходимо только для хостов, которые собирают сообщения с удалённых систем. На клиентах, которые отправляют сообщения аудита на удалённый сервер, этот ключ следует закомментировать.
Значение по умолчанию: |
tcp_max_per_addr
|
Задаёт максимально допустимое количество одновременных соединений с одного IP-адреса. Максимальное значение:
Значение по умолчанию: |
use_libwrap
|
Значение ключа (
Значение по умолчанию: |
tcp_client_ports
|
Число или два числа, разделённых знаком «—» (без пробелов), определяют, с каких удалённых портов клиентов допустимо принимать подключения. Например, для ограничения использования клиентом только привилегированных исходящих портов необходимо указать значение 1-1024. Также потребуется установить параметр local_port на клиентах в файле audisp-remote.conf. Ограничение клиентов использованием привилегированных портов применяется в качестве средства безопасности, предотвращающего получение и обработку сообщений, отправленных недоверенным пользователем с непривилегированного порта.
|
tcp_client_max_idle
|
Устанавливает количество секунд, через которое неактивное (без передачи данных) соединение будет разорвано. Используется для сброса соединений, которые клиент по какой-либо причине не смог завершить корректно. Это глобальный параметр, который должен быть минимум в два раза выше значения параметра heartbeat_timeout на каждом из клиентов (в файле audisp-remote.conf).
|
transport
|
Ключ позволяет выбрать способ передачи сообщений. Допустимые значения:
Значение по умолчанию: |
enable_krb5
|
Этот ключ устарел. Вместо него следует использовать
Значение по умолчанию: |
krb5_principal
|
Имя сервиса (из состава SPN) для данного сервера. Если значение ключа не задано, то сервер будет использовать для аутентификации ключ с именем в формате auditd/hostname@EXAMPLE.COM из файла /etc/audit/audit.key. Здесь hostname — это каноническое имя хоста, возвращаемое в результате DNS-запроса по IP-адресу.
Значение по умолчанию: |
krb5_key_file
|
Полный путь до файла с ключом клиента. Владельцем файла должен быть root, а права установлены в значение
Значение по умолчанию: |
distribute_network
|
При указании значения
Значение по умолчанию: |
q_depth
|
Числовое значение, задающее длину внутренней очереди диспетчера событий аудита. Большой объем очереди позволит лучше справиться с потоком, но увеличит количество необработанных событий при завершении работы службы. Если в журнале системы наблюдаются сообщения о сбросе событий («queue is full - dropping events»), то очередь необходимо увеличить.
Значение по умолчанию: |
overflow_action
|
Этот ключ определяет, как служба должна реагировать на переполнение внутренней очереди, когда поступающих сообщений аудита больше, чем сообщений, передаваемых дочерним процессам. Ошибка переполнения очереди означает, что текущее обрабатываемое событие будет потеряно. Допустимые значения:
|
max_restarts
|
Неотрицательное число, задающее максимальное количество попыток перезапуска некорректно завершившегося плагина, предпринимаемых службой диспетчера событий аудита.
Значение по умолчанию: |
plugin_dir
|
Ключ указывает на директорию, в которой служба аудита будет искать файлы конфигурации плагинов. |
end_of_event_timeout
|
Неотрицательное число в секундах, используемое при выполнении процедур библиотеки пользовательского пространства auparse(), а также при выполнении утилит aureport и ausearch для вынесения решения о том, что сообщение из потока журнала событий является завершённым. При обработке потока событие будет считаться завершённым, если его время на end_of_event_timeout секунд больше находящихся рядом событий. Ниже будет приведено более подробное описание. |
В среде CAPP (Controlled Access Protection Profile — контролируемый профиль защиты доступа) ведение протоколов настолько важно, что невозможность его продолжения может служить основанием отказа в доступе к ресурсам. Поэтому рекомендуется выделять для файла /var/log/audit специальный раздел. Кроме того, параметру flush следует присвоить значение sync или data.
Для обеспечения полного использования раздела параметрам max_log_file и num_logs следует присвоить соответствующие значения. Учитывайте, что чем больше файлов создаётся на диске (и, соответственно, переименовывается), тем больше времени будет уходить на обработку событий при достижении размером очередного файла максимума. Параметру max_log_file_action рекомендуется присвоить значение keep_logs.
Значение space_left должно быть таким, которое позволит администратору вовремя среагировать на предупреждение. Обычно в число действий, выполняемых администратором, входит запуск aureport -t и архивирование самых старых протоколов. Значение space_left зависит от системы, в частности от частоты поступления сообщений о событиях. Значение space_left_action рекомендуется установить в email. Если требуется отправка сообщения snmp trap, укажите вариант exec.
Установите значение admin_space_left таким образом, чтобы хватило свободного места для сохранения записей о последующих действиях администратора. Значение параметра admin_space_left_action следует установить в single, ограничив, таким образом, способы взаимодействия с системной консолью.
Действие, указанное в disk_full_action, выполняется, когда в разделе уже не осталось свободного места. Доступ к ресурсам машины должен быть полностью прекращён, т.к. нет возможности контролировать работу системы. Это можно сделать, указав значение single или halt.
Значение disk_error_action следует установить в syslog, single, либо halt в зависимости от соглашения относительно обращения со сбойным аппаратным обеспечением.
Дата последнего изменения: 17.12.2025
Если вы нашли ошибку, пожалуйста, выделите текст и нажмите Ctrl+Enter.