+ whitespace cleanup after previous two commits.

This commit is contained in:
Taras Korenko 2014-04-16 17:21:04 +00:00
parent 7a42c55166
commit ba0eb3136d
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=44581

View file

@ -16,7 +16,9 @@ requirements. -->
<chapter xmlns="http://docbook.org/ns/docbook"
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
xml:id="audit">
<info><title>Аудит событий безопасности</title>
<info>
<title>Аудит событий безопасности</title>
<authorgroup>
<author>
<personname>
@ -25,6 +27,7 @@ requirements. -->
</personname>
<contrib>Автор </contrib>
</author>
<author>
<personname>
<firstname>Robert</firstname>
@ -36,40 +39,41 @@ requirements. -->
<sect1 xml:id="audit-synopsis">
<title>Краткий обзор</title>
<indexterm><primary>AUDIT</primary></indexterm>
<indexterm>
<primary>Аудит событий безопасности</primary>
<see>MAC</see>
</indexterm>
<para>Операционная система &os; включает в себя поддержку аудита
событий безопасности. Аудит позволяет выполнять надежное,
детальное и гибко настраиваемое протоколирование
различных событий, связанных с безопасностью,
включая входы в систему, изменения конфигурации, доступ к
файлам и сети. Эти записи могут быть незаменимы для
мониторинга функционирующей системы, обнаружения вторжений
и для анализа событий, приведших к краху системы.
В &os; реализован опубликованный &sun; интерфейс прикладного
программирования (Application Programming Interface,
<acronym>API</acronym>), называемый Basic Security Module
(<acronym>BSM</acronym>), и формат файла, который совместим с
реализациями аудита в &solaris; и &macos; X.</para>
детальное и гибко настраиваемое протоколирование различных
событий, связанных с безопасностью, включая входы в систему,
изменения конфигурации, доступ к файлам и сети. Эти записи
могут быть незаменимы для мониторинга функционирующей системы,
обнаружения вторжений и для анализа событий, приведших к краху
системы. В &os; реализован опубликованный &sun; интерфейс
прикладного программирования (Application Programming
Interface, <acronym>API</acronym>), называемый Basic Security
Module (<acronym>BSM</acronym>), и формат файла, который
совместим с реализациями аудита в &solaris; и &macos; X.</para>
<para>В этой главе описывается процесс установки и
конфигурирования системы аудита. В том числе, приводится
разъяснение политик аудита, а также даются примеры конфигурационных
файлов.</para>
разъяснение политик аудита, а также даются примеры
конфигурационных файлов.</para>
<para>После прочтения этой главы вы будете знать:</para>
<itemizedlist>
<listitem>
<para>Что такое система аудита и как она работает.</para>
</listitem>
<listitem>
<!-- XXX broken indent -->
<para>Как настроить аудит во &os; для мониторинга
пользователей и процессов.</para>
пользователей и процессов.</para>
</listitem>
<listitem>
@ -93,28 +97,29 @@ requirements. -->
<listitem>
<para>Понимать основные принципы безопасности в применении
к операционной системе &os; (<xref linkend="security"/>).</para>
к операционной системе &os; (<xref
linkend="security"/>).</para>
</listitem>
</itemizedlist>
<warning>
<para>Реализация аудита имеет известные ограничения.
Не все события в настоящий момент протоколируемые.
Также, некоторые механизмы входа в систему, такие как
оконные менеджеры <application>X11</application> или
демоны от сторонних производителей, не настраивают аудит
пользовательских сессий должным образом.</para>
<para>Реализация аудита имеет известные ограничения. Не все
события в настоящий момент протоколируемые. Также, некоторые
механизмы входа в систему, такие как оконные менеджеры
<application>X11</application> или демоны от сторонних
производителей, не настраивают аудит пользовательских сессий
должным образом.</para>
<para>Использование системы аудита может привести к
генерированию изобилующих подробностями журнальных файлов.
Их размер на загруженных серверах в некоторых конфигурациях
может превышать несколько гигабайт в неделю.
Администраторы должны принимать во внимание требования
к дисковому пространству для нагруженных конфигураций системы
аудита. Например, желательно выделить отдельный раздел для
файловой системы аудита <filename>/var/audit</filename>,
чтобы заполнение раздела аудита не влияло на
другие файловые системы.</para>
может превышать несколько гигабайт в неделю. Администраторы
должны принимать во внимание требования к дисковому
пространству для нагруженных конфигураций системы аудита.
Например, желательно выделить отдельный раздел для файловой
системы аудита <filename>/var/audit</filename>, чтобы
заполнение раздела аудита не влияло на другие файловые
системы.</para>
</warning>
</sect1>
@ -129,46 +134,43 @@ requirements. -->
<para><emphasis>событие</emphasis> (event): событие, которое
может быть занесено в журнал. Примерами событий,
относящихся к безопасности системы, являются: создание
файла, инициализацию сетевого
соединения, вход пользователя в систему. События
разделяются на <quote>приписываемые</quote> (attributable) -
те, которые могут быть отнесены к конкретному пользователю -
и <quote>неприписываемые</quote> (non-attributable).
Пример
неприписываемого события &mdash; любое событие, произошедшее до
аутентификации пользователя, например, неверно
набранный пароль.</para>
файла, инициализацию сетевого соединения, вход пользователя
в систему. События разделяются на
<quote>приписываемые</quote> (attributable) - те, которые
могут быть отнесены к конкретному пользователю - и
<quote>неприписываемые</quote> (non-attributable). Пример
неприписываемого события &mdash; любое событие,
произошедшее до аутентификации пользователя, например,
неверно набранный пароль.</para>
</listitem>
<listitem>
<para><emphasis>класс</emphasis> (class): именованные наборы
однотипных событий, которые используются
в выражениях выбора. Часто используемые классы событий
включают <quote>создание файла</quote> (fc),
<quote>выполнение файла</quote> (ex)
и <quote>события входа в систему и выхода из нее</quote> (lo).</para>
однотипных событий, которые используются в выражениях
выбора. Часто используемые классы событий включают
<quote>создание файла</quote> (fc), <quote>выполнение
файла</quote> (ex) и <quote>события входа в систему и
выхода из нее</quote> (lo).</para>
</listitem>
<listitem>
<para><emphasis>запись</emphasis> (record): единичная запись
в журнале, описывающая то или иное
событие. Записи содержат информацию о типе события,
информацию о субъекте события (пользователе), который
выполнил некоторое действие, дату и время события,
информацию об объектах и аргументах события,
а также информацию об успешности или неуспешности выполнения
операции.</para>
в журнале, описывающая то или иное событие. Записи
содержат информацию о типе события, информацию о субъекте
события (пользователе), который выполнил некоторое действие,
дату и время события, информацию об объектах и аргументах
события, а также информацию об успешности или неуспешности
выполнения операции.</para>
</listitem>
<listitem>
<para><emphasis>журнал</emphasis> (trail): файл,
содержащий последовательность записей аудита, описывающих
события безопасности (security events).
Журнал содержит записи в ориентировочно
хронологическом порядке по времени завершения
события. Только авторизованные процессы могут
<para><emphasis>журнал</emphasis> (trail): файл, содержащий
последовательность записей аудита, описывающих события
безопасности (security events). Журнал содержит записи в
ориентировочно хронологическом порядке по времени
завершения события. Только авторизованные процессы могут
добавлять записи в журнал.</para>
</listitem>
</listitem>
<listitem>
<para><emphasis>выражение выбора</emphasis> (selection
@ -177,26 +179,27 @@ requirements. -->
</listitem>
<listitem>
<para><emphasis>предварительный выбор</emphasis> (preselection):
процесс, с помощью которого система определяет, какие события имеют
важность для администратора.
<para><emphasis>предварительный выбор</emphasis>
(preselection): процесс, с помощью которого система
определяет, какие события имеют важность для администратора.
Предварительный выбор использует ряд выражений выбора,
задающих какие именно классы событий и для
какого пользователя необходимо вносить в журнал, а также &mdash;
задающих какие именно классы событий и для какого
пользователя необходимо вносить в журнал, а также &mdash;
глобальные настройки, которые будут применяться как для
авторизованных, так и для неавторизованных процессов.</para>
</listitem>
<listitem>
<para><emphasis>фильтрация</emphasis> (reduction):
процесс, в результате которого записи из существующего журнала
выделяются для хранения, распечатки или анализа. Также, это
процесс, в результате которого нежелательные записи удаляются
из журнала аудита. Используя фильтрацию, администраторы могут
реализовывать различные политики хранения данных аудита.
Например, детализированный журнал может храниться месяц, но
после этого он может быть сокращен чтобы хранить только
информацию о входе в систему и выходе из нее.</para>
<para><emphasis>фильтрация</emphasis> (reduction): процесс, в
результате которого записи из существующего журнала
выделяются для хранения, распечатки или анализа. Также,
это процесс, в результате которого нежелательные записи
удаляются из журнала аудита. Используя фильтрацию,
администраторы могут реализовывать различные политики
хранения данных аудита. Например, детализированный журнал
может храниться месяц, но после этого он может быть
сокращен чтобы хранить только информацию о входе в систему
и выходе из нее.</para>
</listitem>
</itemizedlist>
</sect1>
@ -228,10 +231,9 @@ requirements. -->
<para>Выражения выбора используются в нескольких местах
конфигурации для отбора событий, подлежащих аудиту.
Выражения содержат перечень классов событий, с которым
сравнивается происшедшее событие. Выражения
выбора рассматриваются слева направо, и два выражения
объединяются добавлением первого выражения ко
второму.</para>
сравнивается происшедшее событие. Выражения выбора
рассматриваются слева направо, и два выражения объединяются
добавлением первого выражения ко второму.</para>
<para><xref linkend="event-selection"/> перечисляет имеющиеся
по умолчанию записи:</para>
@ -399,10 +401,9 @@ requirements. -->
<filename>audit_event</filename>.</para>
<para>Каждый класс аудита можно скомбинировать с префиксом,
показывающим,
какие операции будут учитываться &mdash; удачные или неудачные,
а также то, включает ли данная запись аудит для данного
класса и типа, либо отключает его. <xref
показывающим, какие операции будут учитываться &mdash;
удачные или неудачные, а также то, включает ли данная запись
аудит для данного класса и типа, либо отключает его. <xref
linkend="event-prefixes"/> обобщает доступные
префиксы:</para>
@ -452,9 +453,9 @@ requirements. -->
<para>Если префикс не указан, то аудиту подлежат как успешные,
так и неуспешные события.</para>
<para>Следующий пример выбирает успешные и неуспешные события входа в
систему и выхода из нее, и только успешные события выполнения
приложения:</para>
<para>Следующий пример выбирает успешные и неуспешные события
входа в систему и выхода из нее, и только успешные события
выполнения приложения:</para>
<programlisting>lo,+ex</programlisting>
</sect2>
@ -474,9 +475,9 @@ requirements. -->
<listitem>
<para><filename>audit_control</filename>: контроллирует
некоторые аспекты системы аудита, такие как классы по
умолчанию, минимальное дисковое
пространство, которое должно оставаться на разделе журнала
аудита, максимальный размер журнала аудита.</para>
умолчанию, минимальное дисковое пространство, которое
должно оставаться на разделе журнала аудита, максимальный
размер журнала аудита.</para>
</listitem>
<listitem>
@ -495,10 +496,11 @@ requirements. -->
<listitem>
<para><filename>audit_warn</filename>: настраиваемый скрипт
командного интерпретатора, который вызывается &man.auditd.8;
для генерации предупреждений в исключительных ситуациях,
таких как исчерпание дискового пространства записями аудита
или при ротации журнала аудита.</para>
командного интерпретатора, который вызывается
&man.auditd.8; для генерации предупреждений в
исключительных ситуациях, таких как исчерпание дискового
пространства записями аудита или при ротации журнала
аудита.</para>
</listitem>
</itemizedlist>
@ -531,16 +533,15 @@ policy:cnt,argv
filesz:2M
expire-after:10M</programlisting>
<para>Запись <option>dir</option> используется для
установки одного или более каталогов, в
которых будет сохраняться журнал системы аудита. Если
указан более чем один каталог, то указанные каталоги
будут использоваться по очереди, по мере заполнения. Как
правило, система аудита настраивается на хранение
журнала аудита на отдельном разделе, чтобы
предотвратить взаимное влияние подсистемы аудита и остальных
подсистем в случае исчерпания свободного места на
разделе.</para>
<para>Запись <option>dir</option> используется для установки
одного или более каталогов, в которых будет сохраняться
журнал системы аудита. Если указан более чем один каталог,
то указанные каталоги будут использоваться по очереди, по
мере заполнения. Как правило, система аудита настраивается
на хранение журнала аудита на отдельном разделе, чтобы
предотвратить взаимное влияние подсистемы аудита и
остальных подсистем в случае исчерпания свободного
места на разделе.</para>
<para>Если опция <option>dist</option> имеет значение
<literal>on</literal> или <literal>yes</literal>, то для
@ -548,8 +549,8 @@ expire-after:10M</programlisting>
сохраняемые в <filename>/var/audit/dist</filename>.</para>
<para>Запись <option>flags</option> используется для
установки глобальной маски предварительного выбора
для приписываемых событий. В примере выше аудиту будут
установки глобальной маски предварительного выбора для
приписываемых событий. В примере выше аудиту будут
подвергаться как успешные, так и неудачные попытки входа в
систему и выхода из нее, а также &mdash; аутентификация
и авторизация для всех пользователей.</para>
@ -564,24 +565,21 @@ expire-after:10M</programlisting>
входа в систему и системных демонов.</para>
<para>Запись <option>policy</option> определяет разделяемый
запятыми список
флагов политики, определяющей различные аспекты поведения
аудита.
Флаг <literal>cnt</literal> указывает, что
система должна продолжать работать, несмотря на ошибки
аудита (данный флаг настоятельно рекомендуется).
Второй флаг, <literal>argv</literal>,
заставляет подвергать аудиту аргументы командной
строки при вызове системного вызова &man.execve.2;.</para>
запятыми список флагов политики, определяющей различные
аспекты поведения аудита. Флаг <literal>cnt</literal>
указывает, что система должна продолжать работать, несмотря
на ошибки аудита (данный флаг настоятельно рекомендуется).
Второй флаг, <literal>argv</literal>, заставляет подвергать
аудиту аргументы командной строки при вызове системного
вызова &man.execve.2;.</para>
<para>Запись <option>filesz</option> определяет максимальный
размер журнала событий аудита, по достижении которого
журнал будет автоматически
закончен и подвергнут ротации. Значение <literal>0</literal>
запрещает автоматическую ротацию логов. Если указанный
размер ниже минимального значения
512К, то он будет проигнорирован, и будет сгенерировано
предупреждающее сообщение в логах.</para>
журнал будет автоматически закончен и подвергнут ротации.
Значение <literal>0</literal> запрещает автоматическую
ротацию логов. Если указанный размер ниже минимального
значения 512К, то он будет проигнорирован, и будет
сгенерировано предупреждающее сообщение в логах.</para>
<para>Поле <option>expire-after</option> определяет момент
времени, при достижении которого журнальные файлы считаются
@ -592,30 +590,28 @@ expire-after:10M</programlisting>
<title>Файл <filename>audit_user</filename></title>
<para>Администратор может определить дополнительные
требования к аудиту для конкретных пользователей
в файле <filename>audit_user</filename>.
Каждая строка позволяет уточнить настройки аудита
для пользователя при помощи двух полей:
<literal>alwaysaudit</literal> &mdash; определяющее
набор событий, которые должны всегда подвергаться
аудиту для данного пользователя, и
<literal>neveraudit</literal> &mdash; перечисляющее
набор событий, которые никогда не должны подвергаться
аудиту для пользователя.</para>
требования к аудиту для конкретных пользователей в файле
<filename>audit_user</filename>. Каждая строка позволяет
уточнить настройки аудита для пользователя при помощи двух
полей: <literal>alwaysaudit</literal> &mdash; определяющее
набор событий, которые должны всегда подвергаться аудиту
для данного пользователя, и <literal>neveraudit</literal>
&mdash; перечисляющее набор событий, которые никогда не
должны подвергаться аудиту для пользователя.</para>
<para>Нижеследующий пример настраивает аудит всех событий
входа в систему, выхода из системы, а также аудит всех
успешных выполнений команд для пользователя
<systemitem class="username">root</systemitem>,
а также &mdash; аудит всех событий, связанных с созданием
файлов и успешным выполнением команд пользователем
<systemitem class="username">www</systemitem>. С
настройками по умолчанию в <filename>audit_control</filename>
запись <literal>lo</literal> для
<systemitem class="username">root</systemitem>
является избыточной, кроме того, события входа в систему и выхода
из системы будут подвергаться аудиту и для пользователя
<systemitem class="username">www</systemitem>.</para>
успешных выполнений команд для пользователя <systemitem
class="username">root</systemitem>, а также &mdash; аудит
всех событий, связанных с созданием файлов и успешным
выполнением команд пользователем <systemitem
class="username">www</systemitem>. С настройками по
умолчанию в <filename>audit_control</filename> запись
<literal>lo</literal> для <systemitem
class="username">root</systemitem> является избыточной,
кроме того, события входа в систему и выхода из системы
будут подвергаться аудиту и для пользователя <systemitem
class="username">www</systemitem>.</para>
<programlisting>root:lo,+ex:no
www:fc,+ex:no</programlisting>
@ -625,39 +621,38 @@ www:fc,+ex:no</programlisting>
<sect1 xml:id="audit-administration">
<title>Работа с журналами аудита</title>
<!-- XXX broken indent 00 starts -->
<para>Так как журнал аудита хранится в бинарном формате
<acronym>BSM</acronym>, то для его изменения или перевода в
текстовый формат предоставляются встроенные утилиты. Утилита
<command>praudit</command> преобразует журнал аудита в текстовый
формат. Утилита <command>auditreduce</command> применяется для
фильтрации журнальных записей с целью анализа, архивирования
или распечатки. Последняя утилита поддерживает разнообразие
параметров, позволяющих выбирать записи по типу события, по
классу события, по пользователю, по дате или времени события,
по пути к файлу или по объекту, над которым производилось
действие.</para>
<command>praudit</command> преобразует журнал аудита в
текстовый формат. Утилита <command>auditreduce</command>
применяется для фильтрации журнальных записей с целью анализа,
архивирования или распечатки. Последняя утилита поддерживает
разнообразие параметров, позволяющих выбирать записи по типу
события, по классу события, по пользователю, по дате или
времени события, по пути к файлу или по объекту, над которым
производилось действие.</para>
<para>Например, для отображения всего содержимого журнала аудита
в текстовом формате выполните:</para>
<para>Например, для отображения всего содержимого журнала аудита
в текстовом формате выполните:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput></screen>
<screen>&prompt.root; <userinput>praudit /var/audit/<replaceable>AUDITFILE</replaceable></userinput></screen>
<para>В данном примере <replaceable>AUDITFILE</replaceable>
&mdash; журнал,
который будет выведен в текстовом формате.</para>
<para>В данном примере <replaceable>AUDITFILE</replaceable>
&mdash; журнал, который будет выведен в текстовом
формате.</para>
<para>Журнал аудита состоит из серии записей, которые, в свою
очередь состоят из элементов, которые команда
<command>praudit</command>
выводит последовательно - по одному на строку. Каждый элемент
имеет определенный тип, например
<literal>header</literal> (содержит заголовок записи) или
<literal>path</literal> (полный путь к файлу).
Следующий пример показывает запись для события
<literal>execve</literal>:</para>
<para>Журнал аудита состоит из серии записей, которые, в свою
очередь состоят из элементов, которые команда
<command>praudit</command> выводит последовательно - по одному
на строку. Каждый элемент имеет определенный тип, например
<literal>header</literal> (содержит заголовок записи) или
<literal>path</literal> (полный путь к файлу). Следующий
пример показывает запись для события
<literal>execve</literal>:</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
@ -665,77 +660,75 @@ subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>
<para>Эта запись отражает результат успешного выполнения системного
вызова <literal>execve</literal>, который стал результатом выполнения
команды <literal>finger doug</literal>. В элементе записи
<literal>exec arg</literal> есть
командная строка, которую оболочка передала ядру. Элемент
<literal>path</literal> содержит путь к исполняемому файлу в
представлении ядра. Элемент <literal>attribute</literal>
описывает исполняемый файл, а также права доступа файла.
Элемент <literal>subject</literal> описывает
ID аудируемого пользователя, исполняющие (effective) UID и GID,
реальные ID пользователя и группы, идентификатор процесса,
идентификатор сессии, порт и адрес, с которого был осуществлен
вход в систему. Обратите внимание: идентификатор аудируемого
пользователя и реальный идентификатор пользователя отличаются,
так как пользователь
<systemitem class="username">robert</systemitem> повысил
привилегии до пользователя
<systemitem class="username">root</systemitem> перед
выполнением команды, но система аудита занесла его действия в
журнал используя изначальный идентификатор. Элемент
<literal>return</literal> описывает успешное
выполнение операции, а элемент
<literal>trailer</literal> завершает запись.</para>
<para>Эта запись отражает результат успешного выполнения
системного вызова <literal>execve</literal>, который стал
результатом выполнения команды <literal>finger doug</literal>.
В элементе записи <literal>exec arg</literal> есть командная
строка, которую оболочка передала ядру. Элемент
<literal>path</literal> содержит путь к исполняемому файлу в
представлении ядра. Элемент <literal>attribute</literal>
описывает исполняемый файл, а также права доступа файла.
Элемент <literal>subject</literal> описывает ID аудируемого
пользователя, исполняющие (effective) UID и GID, реальные ID
пользователя и группы, идентификатор процесса, идентификатор
сессии, порт и адрес, с которого был осуществлен вход в
систему. Обратите внимание: идентификатор аудируемого
пользователя и реальный идентификатор пользователя отличаются,
так как пользователь <systemitem
class="username">robert</systemitem> повысил привилегии до
пользователя <systemitem class="username">root</systemitem>
перед выполнением команды, но система аудита занесла его
действия в журнал используя изначальный идентификатор. Элемент
<literal>return</literal> описывает успешное выполнение
операции, а элемент <literal>trailer</literal> завершает
запись.</para>
<para>Указав аргумент <option>-x</option> можно получить
вывод в формате <acronym>XML</acronym>.</para>
<para>Указав аргумент <option>-x</option> можно получить вывод в
формате <acronym>XML</acronym>.</para>
<para>Поскольку логи системы аудита могут иметь огромный размер,
возможно выделить только часть записей при помощи
<command>auditreduce</command>. В следующем примере
из <filename>AUDITFILE</filename> выбираются все записи,
касающиеся пользователя
<systemitem class="username">trhodes</systemitem>:</para>
<para>Поскольку логи системы аудита могут иметь огромный размер,
возможно выделить только часть записей при помощи
<command>auditreduce</command>. В следующем примере из
<filename>AUDITFILE</filename> выбираются все записи,
касающиеся пользователя <systemitem
class="username">trhodes</systemitem>:</para>
<screen>&prompt.root; <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput></screen>
<screen>&prompt.root; <userinput>auditreduce -u <replaceable>trhodes</replaceable> /var/audit/<replaceable>AUDITFILE</replaceable> | praudit</userinput></screen>
<para>Члены группы <systemitem
class="groupname">audit</systemitem> имеют доступ на чтение к
журналу аудита, находящемуся в <filename>/var/audit</filename>.
По умолчанию эта группа пуста, и только <systemitem
class="username">root</systemitem> имеет к ним доступ. Для
того, чтобы дать пользователю права на чтение журнала, его
необходимо добавить в группу <systemitem
class="groupname">audit</systemitem>. Право на чтение журнала
аудита позволяет получить множество информации о поведении
пользователей и процессов, поэтому рекомендуется делегировать
права на чтение журнала аудита с большой осторожностью.</para>
<para>Члены группы <systemitem class="groupname">audit</systemitem>
имеют доступ на чтение к журналу аудита, находящемуся в
<filename>/var/audit</filename>. По умолчанию эта группа пуста,
и только <systemitem class="username">root</systemitem>
имеет к ним доступ. Для того, чтобы дать пользователю
права на чтение журнала, его необходимо добавить в группу
<systemitem class="groupname">audit</systemitem>.
Право на чтение журнала аудита позволяет получить множество
информации о поведении пользователей и процессов, поэтому
рекомендуется делегировать права на чтение журнала аудита
с большой осторожностью.</para>
<!-- XXX broken indent 00 ends -->
<sect2>
<title>Мониторинг системы в реальном времени с использованием
потоков аудита</title>
<para>Потоки системы аудита &mdash; клонирующиеся
псевдоустройства, позволяющие приложениям просматривать
в реальном времени поток событий аудита.
В первую очередь, это должно заинтересовать авторов программ
определения вторжений и мониторинга системы. Тем не
менее, для администратора поток системы аудита предоставляет
возможность организовать наблюдение за системой,
избежав проблем с правами доступа на журнал аудита или
с прерыванием потока событий из-за ротации журнала. Для
отслеживания потока событий аудита в реальном времени,
выполните:</para>
в реальном времени поток событий аудита. В первую очередь,
это должно заинтересовать авторов программ определения
вторжений и мониторинга системы. Тем не менее, для
администратора поток системы аудита предоставляет возможность
организовать наблюдение за системой, избежав проблем с
правами доступа на журнал аудита или с прерыванием потока
событий из-за ротации журнала. Для отслеживания потока
событий аудита в реальном времени, выполните:</para>
<screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
<para>По умолчанию, потоки доступны только пользователю
<systemitem class="username">root</systemitem>. Чтобы
сделать их доступными членам группы
<systemitem class="groupname">audit</systemitem>, добавьте
правило <literal>devfs</literal> в файл
сделать их доступными членам группы <systemitem
class="groupname">audit</systemitem>, добавьте правило
<literal>devfs</literal> в файл
<filename>/etc/devfs.rules</filename>:</para>
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
@ -752,37 +745,36 @@ trailer,133</programlisting>
<command>praudit</command> запущена во время
<acronym>SSH</acronym>-сессии, то будет сгенерирован
интенсивный поток сообщений аудита, так как каждое
печатаемое событие
вызовет еще одно событие. По этой причине рекомендуется
запускать <command>praudit</command>
на устройстве потока только из сессий, для которых
нет детального аудита ввода-вывода.</para>
печатаемое событие вызовет еще одно событие. По этой
причине рекомендуется запускать <command>praudit</command>
на устройстве потока только из сессий, для которых нет
детального аудита ввода-вывода.</para>
</warning>
</sect2>
<sect2>
<title>Ротация и сжатие журнальных файлов аудита</title>
<para>Журнал аудита пишется ядром и управляется демоном
аудита &man.auditd.8;. Администраторам не следует пытаться
использовать &man.newsyslog.conf.5; или другие инструменты для
прямой ротации логов. Вместо этого, для прекращения аудита,
реконфигурации и ротации журнальных файлов должна использоваться
команда <command>audit</command>. Следующая команда приведет к
созданию нового журнального файла и даст указание ядру переключиться
на запись в этот файл. Протоколирование в старый файл будет
прекращено, а
сам файл &mdash; переименован, в результате чего с ним можно будет
<para>Журнал аудита пишется ядром и управляется демоном аудита
&man.auditd.8;. Администраторам не следует пытаться
использовать &man.newsyslog.conf.5; или другие инструменты
для прямой ротации логов. Вместо этого, для прекращения
аудита, реконфигурации и ротации журнальных файлов должна
использоваться команда <command>audit</command>. Следующая
команда приведет к созданию нового журнального файла и даст
указание ядру переключиться на запись в этот файл.
Протоколирование в старый файл будет прекращено, а сам файл
&mdash; переименован, в результате чего с ним можно будет
работать администратору:</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<para>Если &man.auditd.8; не запущен, то эта команда
окончится неудачей, и будет выведено сообщение об ошибке.</para>
<para>Если &man.auditd.8; не запущен, то эта команда окончится
неудачей, и будет выведено сообщение об ошибке.</para>
<para>Добавление следующей строки в файл
<filename>/etc/crontab</filename> приведет к ротации
каждые двенадцать часов:</para>
<filename>/etc/crontab</filename> приведет к ротации каждые
двенадцать часов:</para>
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
@ -790,19 +782,21 @@ trailer,133</programlisting>
<filename>/etc/crontab</filename>.</para>
<para>Автоматическая ротация журнальных файлов на основании
их размера возможна при использовании опции <option>filesz</option>
в файле <filename>audit_control</filename>, которая описана в
их размера возможна при использовании опции
<option>filesz</option> в файле
<filename>audit_control</filename>, которая описана в
<xref linkend="audit-auditcontrol"/>.</para>
<para>Поскольку журнальные файлы могут достигать очень больших размеров,
может возникнуть необходимость сжимать их в целях хранения сразу же
после закрытия их демоном аудита. Для выполнения
определенных пользователем действий, соответствующих разнообразным
событиям системы аудита, включая нормальное завершение журналов
аудита при их ротации, может быть использован скрипт
<filename>audit_warn</filename>. Например, добавление следующих строк
в файл <filename>/etc/security/audit_warn</filename>
приведет к сжатию файла аудита после его закрытия:</para>
<para>Поскольку журнальные файлы могут достигать очень больших
размеров, может возникнуть необходимость сжимать их в целях
хранения сразу же после закрытия их демоном аудита. Для
выполнения определенных пользователем действий,
соответствующих разнообразным событиям системы аудита,
включая нормальное завершение журналов аудита при их ротации,
может быть использован скрипт <filename>audit_warn</filename>.
Например, добавление следующих строк в файл
<filename>/etc/security/audit_warn</filename> приведет к
сжатию файла аудита после его закрытия:</para>
<programlisting>#
# Compress audit trail files on close.
@ -812,11 +806,12 @@ if [ "$1" = closefile ]; then
fi</programlisting>
<para>Примерами других действий могут быть копирование файлов
аудита на централизованный сервер, удаление старых журнальных файлов,
фильтрация журнальных файлов для удаления ненужных записей. Скрипт
будет запущен только при корректном закрытии журнала системой
аудита и не запустится для журнальных файлов, запись в которые была
прекращена в результате некорректного завершения.</para>
аудита на централизованный сервер, удаление старых журнальных
файлов, фильтрация журнальных файлов для удаления ненужных
записей. Скрипт будет запущен только при корректном закрытии
журнала системой аудита и не запустится для журнальных файлов,
запись в которые была прекращена в результате некорректного
завершения.</para>
</sect2>
</sect1>
</chapter>