17.4. Настройка системы аудита
Пред. | Глава 17. Аудит событий безопасности | След.

## 17.4. Настройка системы аудита

Все конфигурационные файлы системы аудита находятся в каталоге `/etc/security`. Перед запуском демона аудита там должны находиться следующие файлы:

- `audit_class` - Содержит определения классов аудита.

- `audit_control` - Параметры системы аудита: классы по умолчанию, минимальное дисковое пространство, которое должно оставаться на разделе журнала аудита, и другие.

- `audit_event` - Определяет основные события аудита. Это, в основном, системные вызовы.

- `audit_user` - События аудита для для отдельных пользователей. Пользователи, не упоминаемые в этом файле, будут рассматриваться как субъекты конфигурации по-умолчанию в файле `audit_control`.

- `audit_warn` - Скрипт командного интерпретатора Bourne Shell, который используется, чтобы сгенерировать предупреждающие сообщения об исключительных ситуациях, например, когда заканчивается свободное дисковое пространство для записей журналов аудита.

### 17.4.1. Формат конфигурационного файла

Формат конфигурационного файла не очень логичен, но с ним, тем не менее, достаточно просто работать. Однако, администраторам следует быть очень внимательными при изменении значений по умолчанию, поскольку это создает потенциальную опасность неправильного сбора данных системой аудита.

В конфигурационном файле могут использоваться как полные, так и сокращенные параметры. Соответствия будут приведены ниже.

Следующий список содержит все классы по умолчанию, присутствующие в файле `audit_class`:

- `all` - `all` - Соответствует всем классам событий.

- `ad` - `administrative` - Аудит административных действий, произошедших в системе.

- `ap` - `application` - Аудит события, вызванного каким-либо приложением.

- `cl` - `file_close` - Аудит вызовов системной функции `close`.

- `ex` - `exec` - Аудит запуска приложения. Аудит аргументов командной строки и переменных окружения контролируется через audit_control(5) используя параметры `argv` и `envv` в опции `policy`.

- `fa` - `file_attr_acc` - Аудит доступа к атрибутам объектов и их изменению, например через stat(1), pathconf(2), а также подобных этим событий.

- `fc` - `file_creation` - Аудит событий, в результате которых создаются файлы.

- `fd` - `file_deletion` - Аудит событий, в результате которых удаляются файлы.

- `fm` - `file_attr_mod` - Аудит событий, в результате которых изменяются атрибуты файлов, например, chown(8), chflags(1), flock(2).

- `fr` - `file_read` - Аудит событий, в результате которых происходит чтение данных, открываются файлы на чтение и т.п.

- `fw` - `file_write` - - Аудит событий, в результате которых происходит запись данных, изменение файлов и так далее.

- `io` - `ioctl` - Аудит вызовов системной функции ioctl(2).

- `ip` - `ipc` - Аудит различных видов взаимодействия процессов, включая создание не-именованных каналов (pipe) и взаимодействие процессов в стиле System V IPC.

- `lo` - `login_logout` - Аудит событий login(1) и logout(1).

- `na` - `non_attrib` - Аудит не-приписываемых событий.

- `no` - `no_class` - Пустой класс, используется для отключения аудита.

- `nt` - `network` - Аудит событий, связанных с сетевыми подключениями, например connect(2) и accept(2).

- `ot` - `other` - Аудит событий, не вошедших в другие классы.

- `pc` - `process` - Аудит действий процессов, таких как exec(3) и exit(3).

Эти классы событий могут быть настроены изменением конфигурационных файлов `audit_class` и `audit_event`.

Каждый класс комбинируется с префиксом, показывающим удачное или неудачное завершение операции.

- `[пустой префикс]` - Аудит проводится как для успешного, так и для ошибочного события. Например, просто указание класса без префикса приведет к занесению события в журнал при любом результате операции.

- `+` - Аудит только успешных событий.

- `-` - Аудит только ошибочных событий.

- `^` - Отключение аудита как успешных, так и ошибочных событий.

- `^-` - Отключение аудита ошибочных событий.

- `^+` - Включение аудита успешных событий.

Следующий пример выбирает успешные и не-успешные события входа в систему и выхода из нее, и только успешные события исполнения файла:

lo,+ex

### 17.4.2. Конфигурационные файлы

В большинстве случаев администратору придётся вносить изменения только в два конфигурационных файла системы аудита: `audit_control` и `audit_user`. Первый из них содержит общие настройки системы аудита и установки по умолчанию как для приписываемых, так и для не-приписываемых событий. Второй используется для настройки аудита пользовательских событий.

#### 17.4.2.1. Файл `audit_control`

Файл `audit_control` содержит настройки по умолчанию, которые, возможно, потребуется изменить. Содержимое этого файла:

dir:/var/audit flags:lo minfree:20 naflags:lo policy:cnt filesz:0

Параметр `dir` указывает каталог, в котором будет сохраняться журнал системы аудита. Как правило, система аудита конфигурируется таким образом, что журнал аудита хранится на отдельном разделе, чтобы предотвратить сбои в работе операционной системы, если свободное месте на разделе системы аудита будет исчерпано.

Параметр `flags` используется для установки глобальных опций. Значение этого параметра `lo` настраивает аудит для всех событий login(1) и logout(1). Более подробный пример:

dir:/var/audit flags:lo,ad,-all,^-fa,^-fc,^-cl minfree:20 naflags:lo

Такое значение параметра `flags` приведет к аудиту всех событий login(1) и logout(1), всех административных событий, всех ошибочных системных событий и, наконец, отключает аудит всех ошибочных событий классов `fa`, `fc` и `cl`. Несмотря на то, что параметр `-all` указывает на необходимость аудита всех системных событий, префикс `^-` отменяет это поведение для всех последующих опций.

Заметьте, что значения считываются слева направо. Поэтому находящиеся справа значения переопределяют значения, находящиеся слева.

Параметр `minfree` определяет минимальное значение свободного дискового пространства на разделе, в который сохраняются файлы журналов аудита. Например, если значение параметра `dir` установлено в `/var/audit`, а параметр `minfree` равен двадцати (20), то предупреждающее сообщение будет выдано, когда раздел `/var` будет заполнен на восемьдесят (80%) процентов.

Параметр `naflags` определяет классы аудита для не-приписываемых событий, то есть событий, для которых не определён конкретный пользователь.

#### 17.4.2.2. Файл `audit_user`

Файл `audit_user` позволяет администратору определить классы событий, аудит которых будет производиться для каждого пользователя системы.

По умолчанию файл `audit_user` содержит:

root:lo:no audit:fc:no

Обратите внимание: по умолчанию производится аудит всех `login`/`logout` событий и отключается аудит всех других событий для пользователя `root`. Эта конфигурация также включает аудит всех событий, связанных с созданием файлов и отключает аудит всех других событий для пользователя `audit`. Хотя использование системы аудита не требует наличия в системе специального пользователя, в некоторых конфигурациях, особенно использующих MAC (Mandatory Access Control), это может быть необходимо.

Пред. | Наверх | След.
17.3. Установка системы аудита | Начало | 17.5. Администрирование системы аудита

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.