auditd.conf(5)
| AUDITD.CONF:(5) | Системное администрирование | AUDITD.CONF:(5) |
ИМЯ
auditd.conf - файл конфигурации службы аудита
ОПИСАНИЕ
В файле /etc/audit/auditd.conf определяются параметры службы аудита. На одной строке может быть не больше одной директивы. Директива состоит из ключевого слова (названия параметра), знака равенства и соответствующих ему данных (значения параметра). Все названия и значения параметров чувствительны к регистру. Допустимые ключевые слова перечислены и описаны ниже. Каждая строка должна быть ограничена 160 символами, иначе она будет пропущена. К файлу можно добавить комментарии, начав строку с символа '#'.
- 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, incremental_async, data и sync. Вариант none, отключает какие-либо дополнительные действия со стороны службы по синхронизации буфера с диском. При значении incremental, запросы на перенос данных из буфера на диск выполняются с частотой задаваемой параметром freq. Значение incremental_async очень похоже на значение incremental за исключением того, что перенос данных выполняется асинхронно для более высокой производительности. При значении data данные файла синхронизируются немедленно. Значение sync указывает на необходимость немедленной синхронизации как данных, так и метаданных файла при записи на диск. Значение по умолчанию - incremental_async.
- freq
- Максимальное число записей протокола, которые могут храниться в буфере. При достижении этого числа производится запись буферированных данных на диск. Данный параметр допустим только в том случае, когда параметр flush имеет значение incremental или incremental_async.
- num_logs
- Максимальное число файлов с протоколами. Используется в том случе, если параметр max_log_file_action имеет значение rotate. Если указано число меньше 2, при достижении ограничения на размер файла он обнуляется. Значение параметра не должно превышать 999. Значение по умолчанию: 0 (т.е. ротация файлов не происходит). При указании большого числа может потребоваться увеличить ограничение на количество ожидающих запросов. Это можно сделать в файле /etc/audit/audit.rules. Если настроена ротация журналов, демон проверяет наличие лишних журналов и удаляет их, чтобы освободить место на диске. Проверка выполняется только при запуске и при проверке изменения конфигурации.
- disp_qos
- Разрешить ли блокирование при взаимодействии с диспетчером. Для передачи информации диспетчеру используется буфер размером 128 Кбайт. Это значение является оптимальным для большинства случаев. Если блокирование запрещено (lossy), то все сообщения, поступающие при полном буфере, не будут доходить до диспетчера (записи о них по-прежнему будут вноситься в файл на диске, если только log_format не равно nolog). В случае если блокирование разрешено (lossless), служба аудита будет ожидать появления свободного места в очереди, передавать сообщение диспетчеру и только потом записывать его на диск. Допустимые значения: lossy и lossless. Значение по умолчанию - lossy.
- dispatcher
- Диспетчер - программа, которой (на стандартный ввод) будут передаваться копии сообщений о событиях аудита. Она запускается (с правами администратора) службой аудита при загрузке последней. Следует убедиться, что вы доверяете приложению, которое вы добавляете в эту строку, так как оно работает с привилегиями root.
- name_format
- Контролирует, как имена узлов компьютеров вставляются в поток событий аудита. Допустимы следующие значения: none, hostname, fqd, numeric, и user. При значении 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
- Действие предпринимаемое при достижении размером файла протокола максимального значения. Допустимые значения: ignore, syslog, suspend, rotate и keep_logs. Вариант ignore, отключает контроль за размером файла. При значении syslog в системный протокол будет внесено соответствующее сообщение. При значении suspend дальнейшее ведение протокола будет прекращено. Служба по-прежнему будет работать. При значении rotate текущий файл будет переименован и для протокола будет создан новый файл. Имя предыдущего протокола будет дополнено числом 1, а номера других протоколов (если они имеются) будут увеличены на единицу. Таким образом, чем больше номер у протокола, тем он старше. Такое поведение аналогично поведению утилиты logrotate. Вариант keep_logs аналогичен предыдущему, но число файлов не ограничено (не используется параметр num_logs). Это предотвращает потерю протоколов аудита. Протоколы накапливаются и не удаляются, что вызовет space_left_action, если весь объем заполнится. Это значение следует использовать в сочетании с внешним сценарием, который будет периодически архивировать журналы.
- verify_email
- Определяет, указан ли адрес электронной почты в параметре action_mail_acct и проверяет, можно ли разрешить имя домена. Этот параметр должен быть предоставлен до параметра action_mail_acct иначе будет использовано значение по молчанию - yes.
- action_mail_acct
- Адрес электронной почты или алиас. Значение по умолчанию: root. Если адрес не локальный по отношению к данной системе, необходимо чтобы в ней был настроен механизм отправки почты. В частности, требуется наличие программы /usr/lib/sendmail.
- space_left
- Минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие определяемое следующим параметром.
- space_left_action
- Действие предпринимаемое при достижении объёмом свободного пространства на диске указанного минимума. Допустимые значения - ignore, syslog, rotate, email, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы освободить место на диске. При значении email по адресу указанному в action_mail_acct отправляется уведомление, а также производится запись в системный журнал. При значении exec <путь к программе> запускается программа по указанному пути. Передача параметров не поддерживается. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.
- admin_space_left
- Критический минимум свободного пространства в мегабайтах, при достижении которого должно выполняться действие определяемое следующим параметром. Данное действие следует рассматривать как последнюю меру, предпринимаемую перед тем, как закончится место на диске. Значение настоящего параметра должно быть меньше значения space_left.
- admin_space_left_action
- Действие предпринимаемое при достижении объёмом свободного пространства на диске указанного критического минимума. Допустимые значения - ignore, syslog, rotate, email, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы овободить место на диске. При значении email по адресу указанному в action_mail_acct отправляется уведомление, а также производится запись в системный журнал. При значении exec <путь к программе> запускается программа по указанному пути. Передача параметров не поддерживается. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.
- disk_full_action
- Действие предпринимаемое при обнаружении отсутствия свободного пространства на диске. Допустимые значения - ignore, syslog, rotate, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный протокол добавляется соответствующая запись. При значении rotate будет производиться ротация журналов, с удалением самых старых, чтобы овободить место на диске. При значении exec /некоторый-путь запускается сценарий по указанному пути. Программа также отвечает за указанию демону auditd возобновить запись в журнал, по завершению выполнения данной программы. Этого можно добиться, добавив соответствующую команду в скрипт. Передача параметров сценарию не поддерживается. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.
- disk_error_action
- Действие предпринимаемое при возникновении ошибки в работе с диском. Допустимые значения - ignore, syslog, exec, suspend, single и halt. При значении ignore, никаких действий не производится. При значении syslog в системный журнал будет записано не более 5 последовательных предупреждений. При значении exec /некоторый-путь запускается сценарий по указанному пути. Передача параметров сценарию не поддерживается. При значении suspend служба аудита прекратит вести протокол событий на диске, но будет продолжать работать. Указание single приведёт к переводу компьютера в однопользовательский режим. Указание halt приведёт к выключению компьютера.
- tcp_listen_port
- Числовое значение в диапазоне 1..65535, при указании которого auditd будет прослушивать соответствующий TCP порт для аудита удаленных систем. Демон аудита может быть связан с tcp_wrappers, чтобы контролировать, какие машины могут подключаться. В этом случае можно добавить запись в hosts.allow и отказать в соединении. Если решение развернуто в ОС на основе systemd может потребоваться изменить параметр 'After'. См. примечание в файле auditd.service.
- 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, что отключает эту проверку.
- 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.
ПРИМЕЧАНИЯ
В среде 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 в зависимости от соглашения относительно обработки сбоев аппаратного обеспечения.
Указание единственного разрешенного клиентского порта может затруднить перезапуск подсистемы аудита у клиента, так как он не сможет восстановить соединение с теми же адресами и портами хоста, пока не истечет тайм-аут закрытия соединения TIME_WAIT.
ФАЙЛЫ
- /etc/audit/auditd.conf
- Файл конфигурации службы аудита
СМ. ТАКЖЕ
АВТОР
Стив Граб (Steve Grubb)
ПЕРЕВОД
Перевод с английского Николай Шафоростов <shafff@ukr.net> 2007
Перевод с английского Елена Мишина <lepata@altlinux.org> 2019
| Апрель 2016 | Red Hat |
