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