Product SiteDocumentation Site

73.2. Файл конфигурации auditd.conf

В файле /etc/audit/auditd.conf определяются параметры службы аудита. Директива состоит из ключевого слова (названия параметра), знака равенства и соответствующих ему данных (значения параметра). На одной строке может быть не больше одной директивы. Все названия и значения параметров чувствительны к регистру. Допустимые ключевые слова перечислены и описаны ниже. Каждая строка должна быть ограничена 160 символами, иначе она будет пропущена. К файлу можно добавить комментарии, начав строку с символа «#».

Таблица 73.1. Описание ключевых слов файла конфигурации auditd.conf

Ключ
Значение
local_events
Ключевое слово yes/no указывающее, следует ли включать запись локальных событий (значение по умолчанию — yes). В случае если необходимо записывать только сообщения из сети, следует установить значение — no. Этот параметр полезен, если демон аудита работает в контейнере. Данный параметр может быть установлен только один раз при запуске аудита. Перезагрузка файла конфигурации никак на него не влияет.
log_file
Полное имя файла, в который следует записывать журнал.
write_logs
Ключевое слово yes/no, указывающее следует ли записывать журналы (значение по умолчанию — yes).
log_format
Оформление данных в журнале. Допустимы два значения: raw и enriched. При указании RAW, данные будут записываться в том виде, в котором они получаются от ядра. Значение ENRICHED разрешает информацию (вместо идентификатора, будет указано значение): идентификатор пользователя (uid), идентификатор группы (gid), системный вызов (syscall), архитектуру и адрес сокета перед записью события на диск. Это помогает осмыслить события, созданные в одной системе, но сообщенные/проанализированные в другой системе. Значение NOLOG устарело, вместо него следует установить параметр write_logs в значение no.
log_group
Указывает группу, на которую распространяются права на файлы журнала (по умолчанию — root). Можно использовать либо идентификатор, либо имя группы.
priority_boost
Неотрицательное число, определяющее повышение приоритета выполнения службы аудита. Значение по умолчанию — 4. Для того чтобы не изменять приоритет, следует указать — 0.
flush
Стратегия работы с дисковым буфером. Допустимые значения:
  • none — отключить какие-либо дополнительные действия со стороны службы по синхронизации буфера с диском;
  • incremental — выполнять запросы на перенос данных из буфера на диск выполняются с частотой, задаваемой параметром freq;
  • incremental_async — тоже, что и incremental, за исключением того, что перенос данных выполняется асинхронно для более высокой производительности;
  • data — немедленно синхронизировать данные файла;
  • sync — немедленно синхронизировать как данные, так и метаданные файла при записи на диск.
Значение по умолчанию — incremental_async.
freq
Максимальное число записей журнала, которые могут храниться в буфере. При достижении этого числа производится запись буферизованных данных на диск. Данный параметр допустим только в том случае, когда flush имеет значение incremental или incremental_async.
num_logs
Максимальное количество файлов журналов. Используется в том случае, если параметр max_log_file_action имеет значение rotate. Если указано число меньше двух, при достижении ограничения на размер файла он обнуляется. Значение параметра не должно превышать 999. Значение по умолчанию — 0 (то есть ротация фалов не происходит). При указании большого числа может потребоваться увеличить ограничение на количество ожидающих запросов (в файле /etc/audit/audit.rules). Если настроена ротация журналов, демон проверяет наличие лишних журналов и удаляет их, чтобы освободить место на диске. Проверка выполняется только при запуске и при проверке изменения конфигурации.
name_format
Контролирует, как имена узлов компьютеров вставляются в поток событий аудита. Допустимые значения:
  • none — имя компьютера не используется в записи аудита;
  • hostname — имя, возвращаемое системным вызовом gethostname;
  • fqd — аудит принимает имя хоста и разрешает его с помощью DNS в полное доменное имя этой машины;
  • numeric — схоже с fqd, за исключением того, что разрешается IP-адрес машины. Чтобы использовать эту опцию, нужно убедиться, что команда hostname -i или domainname -i возвращает числовой адрес. Кроме того, эта опция не рекомендуется, если используется DHCP, поскольку у одной и той же машины в разное время могут быть разные адреса;
  • user — строка, определенная администратором в параметре name.
Значение по умолчанию — none.
name
Строка, определенная администратором, которая идентифицирует компьютер, если в параметре name_format указано значение user.
max_log_file
Ограничение на размер файла журнала в мегабайтах. Действие, выполняемое при достижении размера файла указанного значения, можно настроить с помощью параметра max_log_file_action.
max_log_file_action
Действие, предпринимаемое при достижении размером файла журнала максимального значения. Допустимые значения:
  • ignore — отключить контроль над размером файла;
  • syslog — добавить соответствующую запись в системный журнал;
  • suspend — прекратить вести журнал на диске (служба аудита будет продолжать работать);
  • rotate — произвести ротацию журналов, с удалением самых старых, чтобы освободить место на диске. Текущий файл будет переименован и будет создан новый файл. Имя предыдущего файла журнала будет дополнено числом 1, а номера других файлов (если они имеются) будут увеличены на единицу. Таким образом, чем больше номер у журнала, тем он старше. Максимальное число файлов определяется параметром num_logs (соответствие ему достигается за счет удаления самых старых журналов). Такое поведение аналогично поведению утилиты logrotate;
  • keep_logs — аналогично rotate, но число файлов не ограничено, это предотвращает потерю данных аудита. Протоколы накапливаются и не удаляются, что может вызвать событие space_left_action, если весь объём заполнится. Это значение следует использовать в сочетании с внешним сценарием, который будет периодически архивировать журналы.
verify_email
Определяет, проверяется ли адрес электронной почты, указанный в параметре action_mail_acct, на предмет возможности разрешения доменного имени. Этот параметр должен быть указан до параметра action_mail_acct, иначе будет использовано значение по молчанию — yes.
action_mail_acct
Адрес электронной почты. Значение по умолчанию — root. Если адрес не локальный по отношению к данной системе, необходимо чтобы в ней был настроен механизм отправки почты. В частности, требуется наличие программы /usr/lib/sendmail.
space_left
Минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие, определяемое параметром space_left_action.
space_left_action
Действие, предпринимаемое при достижении объемом свободного пространства на диске указанного минимума. Допустимые значения:
  • ignore — не производить никаких действий;
  • syslog — добавить соответствующую запись в системный журнал;
  • rotate — произвести ротацию журналов, с удалением самых старых, чтобы освободить место на диске;
  • email — отправить уведомление по адресу, указанному в action_mail_acct;
  • exec — запустить программу по указанному пути (передача параметров не поддерживается);
  • suspend — прекратить вести журнал на диске (служба аудита будет продолжать работать);
  • single — перевести компьютер в однопользовательский режим;
  • halt — выключить компьютер.
admin_space_left
Критический минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие, определяемое параметром admin_space_left_action. Данное действие следует рассматривать как последнюю меру, предпринимаемую перед тем, как закончится место на диске. Значение настоящего параметра должно быть меньше значения space_left.
admin_space_left_action
Действие, предпринимаемое при достижении объёмом свободного пространства на диске указанного критического минимума. Допустимые значения — ignore, syslog, rotate, email, exec, suspend, single и halt. Описание данных значений см. в описании параметра space_left_action.
disk_full_action
Действие, предпринимаемое при обнаружении отсутствия свободного пространства на диске. Допустимые значения — ignore, syslog, rotate, exec, suspend, single и halt. Описание данных значений см. в описании параметра space_left_action.
disk_error_action
Действие, предпринимаемое при возникновении ошибки в работе с диском. Допустимые значения — ignore, syslog, exec, suspend, single и halt. Описание данных значений см. в описании параметра space_left_action.
tcp_listen_port
Числовое значение в диапазоне 1..65535, при указании которого служба аудита будет прослушивать соответствующий TCP-порт для аудита удаленных систем. Демон аудита может быть связан с tcp_wrappers, чтобы контролировать, какие машины могут подключаться. В этом случае можно добавить запись в hosts.allow и отказать в соединении. Если решение развернуто в ОС на основе systemd может потребоваться изменить параметр After.
tcp_listen_queue
Количество разрешенных ожидающих подключений (запрошенных, но не принятых). Значение по умолчанию — 5. Установка слишком маленького значения может привести к отклонению соединений, при одновременном запуске нескольких хостов (например, после сбоя питания).
tcp_max_per_addr
Количество одновременных подключений с одного IP-адреса. Значение по умолчанию — 1, максимальное значение — 1024. Установка слишком большого значения может привести к атаке типа «отказ в обслуживании» при ведении журнала сервером. Значение по умолчанию подходит в большинстве случаев.
use_libwrap
Следует ли использовать tcp_wrappers для распознавания попыток подключения с разрешенных компьютеров. Допустимые значения yes или no. Значение по умолчанию — yes.
tcp_client_ports
Порты, с которых можно принимать соединение. Значением параметра может быть либо число, либо два числа, разделенные тире (пробелы не допускаются). Если порт не указан, соединения принимаются с любого порта. Допустимые значения 1..65535. Например, для указания клиенту использовать привилегированный порт, следует указать значение 1-1023 для этого параметра, а также установить опцию local_port в файле audisp-remote.conf. Проверка того, что клиенты отправляют сообщения с привилегированного порта, это функция безопасности, предотвращающая атаки с использованием инъекций.
tcp_client_max_idle
Количество секунд, в течение которых клиент может бездействовать (то есть, какое время от него нет никаких данных). Используется для закрытия неактивных соединений, если на компьютере клиенте возникла проблема, из-за которой он не может завершить соединение корректно. Это глобальный параметр, его значение должно быть больше (желательно, в два раза), чем любой параметр клиента heartbeat_timeout. Значение по умолчанию — 0, что отключает эту проверку.
transport
Если установлено значение TCP, будут использоваться только TCP-соединения в виде открытого текста. Если установлено значение KRB5, для аутентификации и шифрования будет использоваться Kerberos 5. Значение по умолчанию — TCP.
enable_krb5
При значении yes — использовать Kerberos 5 для аутентификации и шифрования. Значение по умолчанию — no.
krb5_principal
Принципал для этого сервера. Значение по умолчанию — auditd. При значении по умолчанию, сервер будет искать ключ с именем типа auditd/hostname@EXAMPLE.COM в /etc/audit/audit.key для аутентификации себя, где hostname — имя сервера, возвращаемое запросом DNS-имени по его IP-адресу.
krb5_key_file
Расположение ключа для принципала этого клиента. Файл ключа должен принадлежать пользователю root и иметь права 0400. По умолчанию — файл /etc/audit/audit.key.
distribute_network
При значении yes, события, поступающие из сети, будут передаваться диспетчеру аудита для обработки. Значение по умолчанию — no.
q_depth
Числовое значение, указывающее, насколько большой должна быть внутренняя очередь диспетчера событий аудита. Очередь большего размера позволяет лучше обрабатывать поток событий, но может содержать события, которые не обрабатываются при завершении работы демона. Если вы получаете сообщения в системном журнале об удалении событий, увеличьте это значение. Значение по умолчанию — 2000.
overflow_action
Определяет, как демон должен реагировать на переполнение своей внутренней очереди. Когда это происходит, это означает, что принимается больше событий, чем можно передать дочерним процессам. Эта ошибка означает, что текущее событие, которое он пытается отправить, будет потеряно. Допустимые значения:
  • ignore — не производить никаких действий;
  • syslog — добавить соответствующую запись в системный журнал;
  • suspend — прекратить отправку событий дочерним процессам (служба аудита будет продолжать работать);
  • single — перевести компьютер в однопользовательский режим;
  • halt — выключить компьютер.
max_restarts
Неотрицательное число, которое сообщает диспетчеру событий аудита, сколько раз он может попытаться перезапустить вышедший из строя плагин. По умолчанию — 10.
plugin_dir
Место, где auditd будет искать файлы конфигурации своего плагина.
end_of_event_timeout
Неотрицательное количество секунд, используемое библиотечными процедурами пользовательского пространства auparse() и утилитами aureport(8), ausearch(8) для того, чтобы считать событие завершенным при анализе потока журнала событий. Если для обрабатываемого потока событий время текущего события превышает end_of_event_timeout секунд по сравнению с совмещенными событиями, то событие считается завершенным.

Примечание

Для файла /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 в зависимости от соглашения относительно обработки сбоев аппаратного обеспечения.
Указание единственного разрешённого клиентского порта может затруднить перезапуск подсистемы аудита у клиента, так как он не сможет восстановить соединение с теми же адресами и портами хоста, пока не истечет таймаут закрытия соединения TIME_WAIT.