aboutsummaryrefslogtreecommitdiff
path: root/ru_RU.KOI8-R
diff options
context:
space:
mode:
authorTaras Korenko <taras@FreeBSD.org>2014-04-16 17:12:25 +0000
committerTaras Korenko <taras@FreeBSD.org>2014-04-16 17:12:25 +0000
commit83fd82d689fd2c28a988e9971f5304c4d743184a (patch)
treeecd3a95023435f0a230bd0cf826e37c743581ebf /ru_RU.KOI8-R
parentf43c91b354d22e35beac0625f45de4d73e600ac0 (diff)
downloaddoc-83fd82d689fd2c28a988e9971f5304c4d743184a.tar.gz
doc-83fd82d689fd2c28a988e9971f5304c4d743184a.zip
MFen:
+ books/handbook/audit/chapter.xml r30208 --> r43688 PR: docs/187278 Submitted by: Vladimir Romanov <blueboar_2@rambler.ru>
Notes
Notes: svn path=/head/; revision=44579
Diffstat (limited to 'ru_RU.KOI8-R')
-rw-r--r--ru_RU.KOI8-R/books/handbook/audit/chapter.xml626
1 files changed, 332 insertions, 294 deletions
diff --git a/ru_RU.KOI8-R/books/handbook/audit/chapter.xml b/ru_RU.KOI8-R/books/handbook/audit/chapter.xml
index f9f2d00bac..2ce8b4a9ee 100644
--- a/ru_RU.KOI8-R/books/handbook/audit/chapter.xml
+++ b/ru_RU.KOI8-R/books/handbook/audit/chapter.xml
@@ -5,7 +5,7 @@
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/audit/chapter.xml,v 1.10 2007/06/26 08:38:00 den Exp $
$FreeBSD$
- Original revision: r30208
+ Original revision: r43688
-->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
on the triggers from the kernel (log rotation, out of space, etc).
@@ -13,16 +13,43 @@ And the /dev/audit special file if we choose to support that. Could use
some coverage of integrating MAC with Event auditing and perhaps discussion
on how some companies or organizations handle auditing and auditing
requirements. -->
-<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="audit">
+<chapter xmlns="http://docbook.org/ns/docbook"
+ xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
+ xml:id="audit">
<info><title>Аудит событий безопасности</title>
<authorgroup>
- <author><personname><firstname>Tom</firstname><surname>Rhodes</surname></personname><contrib>Автор </contrib></author>
+ <author>
+ <personname>
+ <firstname>Tom</firstname>
+ <surname>Rhodes</surname>
+ </personname>
+ <contrib>Автор </contrib>
+ </author>
+ <author>
+ <personname>
+ <firstname>Robert</firstname>
+ <surname>Watson</surname>
+ </personname>
+ </author>
</authorgroup>
<authorgroup>
- <author><personname><firstname>Денис</firstname><surname>Баров</surname></personname><contrib>Перевод на русский язык: </contrib></author>
+ <author>
+ <personname>
+ <firstname>Денис</firstname>
+ <surname>Баров</surname>
+ </personname>
+ <contrib>Перевод на русский язык: </contrib>
+ </author>
+ <author>
+ <personname>
+ <firstname>Владимир</firstname>
+ <surname>Романов</surname>
+ </personname>
+ <contrib>Обновление перевода: </contrib>
+ </author>
</authorgroup>
</info>
-
+
<sect1 xml:id="audit-synopsis">
<title>Краткий обзор</title>
<indexterm><primary>AUDIT</primary></indexterm>
@@ -30,10 +57,9 @@ requirements. -->
<primary>Аудит событий безопасности</primary>
<see>MAC</see>
</indexterm>
- <para>&os;&nbsp;6.2-RELEASE и более поздние версии &os;
- включают в себя поддержку аудита событий безопасности.
- Аудит событий дает надежный и точный способ для
- протоколирования различных событий, связанных с безопасностью,
+ <para>Операционная система &os; включает в себя поддержку аудита
+ событий безопасности. Аудит событий дает надежный и точный способ
+ для протоколирования различных событий, связанных с безопасностью,
включая входы в систему, изменения конфигурации, доступ к
файлам и сети. Эти записи могут быть незаменимы для
мониторинга функционирующей системы, обнаружения вторжений
@@ -84,117 +110,107 @@ requirements. -->
</itemizedlist>
<warning>
- <para>Реализация аудита в &os; 6.2 - экспериментальная, использование
- ее в реальных задачах должно производиться только после
- внимательного ознакомления со всеми рисками, к которым приводит
- использование экспериментального программного обеспечения. К
- известным ограничениям относится и тот факт, что не все события
- в настоящий момент протоколируемы. Например, некоторые механизмы
- входа в систему (X11-основанные оконные менеджеры, многое
- программное обеспечение от сторонних производителей) не
- сконфигурированы для протоколирования событий входа в систему через
- подсистему аудита.</para>
- </warning>
-
- <warning>
- <para>Использование системы в аудита может привести к генерированию
- огромных журнальных файлов: их размер на сильно загруженных серверах
- в некоторых конфигурациях может достигать нескольких гигабайт в неделю.
- Администраторы должны внимательно следить за дисковым пространством
- в разделе системы аудита. Например, рекомендуется выделить
- отдельный раздел для файловой системы аудита
- <filename>/var/audit</filename>, чтобы переполнение раздела аудита
- не влияло на работоспособность всей остальной системы.</para>
+ <para>Реализация аудита имеет известные ограничения, например,
+ не все события в настоящий момент протоколируемы.
+ Например, некоторые механизмы входа в систему (Основанные на X11
+ оконные менеджеры, многое программное обеспечение от сторонних
+ производителей) не сконфигурированы для протоколирования событий
+ входа в систему через подсистему аудита.</para>
+ <para>Использование системы аудита может привести к генерированию
+ огромных журнальных файлов: их размер на сильно загруженных серверах
+ в некоторых конфигурациях может достигать нескольких гигабайт в неделю.
+ Администраторы должны принимать во внимание требования
+ к дисковому пространству для нагруженных конфигураций системы
+ аудита. Например, рекомендуется выделить отдельный раздел для
+ файловой системы аудита
+ <filename>/var/audit</filename>,
+ чтобы переполнение раздела аудита не влияло на работоспособность
+ всей остальной системы.</para>
</warning>
</sect1>
<sect1 xml:id="audit-inline-glossary">
- <title>Ключевые понятия - краткий словарь.</title>
+ <title>Ключевые понятия в Данной Главе.</title>
<para>Перед чтением этой главы необходимо определить несколько
- ключевых понятий. Это нужно для того, чтобы предотвратить
- недоразумения, которые могут возникнуть из-за разницы в трактовке
- некоторых терминов. В русской версии документа приводятся
+ ключевых понятий. В русской версии документа приводятся
близкий по смыслу перевод и в скобках указывается оригинальный
английский термин.</para>
<itemizedlist>
<listitem>
<para><emphasis>событие</emphasis> (event): Событие, которое
- может быть занесено в журнал. Администратор может выбирать,
- какие именно события будут журналироваться подсистемой
- аудита. Список важных для безопасности системы
- событий включает: создание файла, инициализацию сетевого
+ может быть занесено в журнал. Примеры важных для безопасности
+ системы событий включает: создание файла, инициализацию сетевого
соединения, вход пользователя в систему. События
разделяются на <quote>приписываемые</quote> (attributable) -
те, которые могут быть отнесены к конкретному пользователю -
- и <quote>не-приписываемые</quote> (non-attributable). Пример
+ и <quote>не-приписываемые</quote> (non-attributable), если
+ их нельзя отнести к конкретному пользователю. Пример
не-приписываемого события - любое событие, произошедшее до
- авторизации пользователя, такое, как неудачный вход пользователя
- в систему.</para>
+ аутентификации пользователя, такое, например, такое, как
+ неудачный вход пользователя в систему.</para>
</listitem>
<listitem>
- <para><emphasis>Класс</emphasis> (class): События могут быть
- отнесены к одному или более классам, обычно основываясь
- на категории события: <quote>создание файла</quote> (fc),
- <quote>доступ к файлу</quote> (fo),
- <quote>выполнение файла</quote> (ex), события
- входа в систему и выхода из нее (lo).
- Использование классов позволяет администратору создавать
- высокоуровневые правила аудита без указания конкретных
- операций, отчет о которых должен добавляться в журнал.</para>
+ <para><emphasis>Класс</emphasis> (class): Классы событий это
+ именованные наборы однотипных событий, которые используются
+ в выражениях выбора. Частоиспользуемые классы событий
+ включают <quote>создание файла</quote> (fc),
+ <quote>выполнение файла</quote> (ex)
+ и <quote>события входа в систему и выхода из нее</quote> (lo).</para>
</listitem>
<listitem>
<para><emphasis>Запись</emphasis> (record): <quote>Запись</quote> -
это единичная запись в журнале, описывающая то или иное
событие. Запись обычно содержит информацию о типе события,
- информацию о субъекте события (пользователе), время события,
- информацию об объектах события (например, файлах) и
- информацию об успешности выполнения операции, породившей
- событие.</para>
+ информацию о субъекте события (пользователе), который
+ выполнил некоторое действия, дату и время события,
+ информацию об объектах и аргументах события, если они есть,
+ а также информацию об успешности выполнения операции,
+ породившей событие.</para>
</listitem>
<listitem>
<para><emphasis>Журнал</emphasis> (trail):
- <quote>журнал</quote> аудита, или лог-файл -
- содержит серию <quote>записей</quote> о системных событиях.
+ журнал аудита, или лог-файл -
+ содержит серию записей о системных событиях.
Как правило, журнал содержит записи в строгом
хронологическом порядке по времени завершения
- события. Только авторизованные процессы (например,
- <command>auditd</command>) имеют доступ к журналу.</para>
+ события. Только авторизованные процессы могут
+ добавлять записи в журнал.</para>
</listitem>
<listitem>
- <para><emphasis>выражение выделения</emphasis> (selection expression):
+ <para><emphasis>выражение выбора</emphasis> (selection expression):
Строка, содержащая список префиксов и имен классов, используемая
- для выделения группы событий.</para>
+ для выбора группы событий.</para>
</listitem>
<listitem>
- <para><emphasis>предварительное выделение</emphasis> (preselection):
- Процесс, во время которого система определяет, какие события имеют
- приоритетную важность для администратора. Это необходимо для того,
+ <para><emphasis>предварительный выбор</emphasis> (preselection):
+ Процесс, с помощью которого система определяет, какие события имеют
+ важность для администратора. Это необходимо для того,
чтобы избежать протоколирования событий, не имеющих никакой значимости.
- Предварительное выделение использует ряд
- <emphasis>выражений выделения</emphasis> для того, чтобы определить,
- какие именно классы событий для какого пользователя необходимо вносить
- в журнал, так же, как и для авторизованных и неавторизованных
- процессов.</para>
+ Предварительный выбор использует ряд выражений выбора
+ для того, чтобы определить, какие именно классы событий для
+ какого пользователя необходимо вносить в журнал, а так же
+ глобальные настройки, которые будут применяться как для
+ авторизованных, так и для неавторизованных процессов.</para>
</listitem>
<listitem>
<para><emphasis>Фильтрация</emphasis> (reduction):
Процесс, в результате которого записи из существующего журнала
- выделяются для хранения, распечатки или анализа. Процесс во многом
- аналогичен <emphasis>предварительному выделению</emphasis>. Используя
- <emphasis>фильтрацию</emphasis> администраторы могут реализовывать
- различные политики хранения журналов аудита. Например, детализированный
- журнал может храниться месяц, но после этого он должен быть сокращен
- чтобы хранить только информацию о входе в систему и выходе из нее
- более длительный срок.</para>
+ выделяются для хранения, распечатки или анализа. Также, это
+ процесс, в результате которого нежелательные записи удаляются
+ из журнала аудита. Используя фильтрацию, администраторы могут
+ реализовывать различные политики хранения данных аудита.
+ Например, детализированный журнал может храниться месяц, но
+ после этого он должен быть сокращен чтобы хранить только
+ информацию о входе в систему и выходе из нее для целей архивации.</para>
</listitem>
</itemizedlist>
</sect1>
@@ -203,30 +219,31 @@ requirements. -->
<title>Установка системы аудита</title>
<para>Пользовательская часть подсистемы аудита устанавливается как часть
- базовой системы &os; начиная с версии 6.2-RELEASE. Тем не менее,
- поддержка аудита должна быть добавлена в ядро. Этого
- можно добиться, добавив следующую строку в конфигурационный файл
- вашего специального ядра:</para>
+ базовой системы &os;. Поддержка аудита событий со стороны ядра
+ также компилируется по умолчанию, но поддержка данной возможности
+ требует создания своего ядра, с добавлением следующей строки
+ в конфигурационный файл ядра:</para>
<programlisting>options AUDIT</programlisting>
<para>Процесс сборки и установки ядра подробно описан в главе
<xref linkend="kernelconfig"/>.</para>
- <para>После этого, необходимо разрешить запуск демона аудита,
+ <para>Как только ядро с поддержкой аудита было собрано и установлено,
+ а система была перезагружена, необходимо разрешить запуск демона аудита,
добавив следующую строку в &man.rc.conf.5;:</para>
<programlisting>auditd_enable="YES"</programlisting>
- <para>Для запуска демона со специфическими параметрами нужно
- указать эти параметры в опции <option>auditd_flags</option>
- файла &man.rc.conf.5;.</para>
- </sect1>
+ <para>Затем нужно запустить поддержку аудита либо путем
+ перезагрузки, либо вручную, запустив демон аудита:</para>
+
+ <programlisting>service auditd start</programlisting>
+ </sect1>
<sect1 xml:id="audit-config">
<title>Настройка системы аудита</title>
-
<para>Все конфигурационные файлы системы аудита находятся в каталоге
<filename>/etc/security</filename>. Перед запуском
демона аудита там должны находиться следующие файлы:</para>
@@ -241,72 +258,80 @@ requirements. -->
<para><filename>audit_control</filename> - Параметры системы
аудита: классы по умолчанию, минимальное дисковое
пространство, которое должно оставаться на разделе журнала
- аудита, и другие.</para>
+ аудита, максимальный размер журнала аудита и другие.</para>
</listitem>
<listitem>
- <para><filename>audit_event</filename> - Определяет основные
- события аудита. Это, в основном, системные вызовы.</para>
+ <para><filename>audit_event</filename> - Текстовые имена и
+ описания событий аудита, а также список, определяющий
+ соответствие классов и событий, которые находятся в данных
+ классах.</para>
</listitem>
<listitem>
- <para><filename>audit_user</filename> - События аудита для
- для отдельных пользователей. Пользователи, не упоминаемые
- в этом файле, будут рассматриваться как субъекты конфигурации
- по-умолчанию в файле <filename>audit_control</filename>.</para>
+ <para><filename>audit_user</filename> - Требования аудита, которые
+ отличаются для отдельных пользователей. Они соединяются с
+ глобальными настройками по умолчанию при входе пользователя
+ в систему.</para>
</listitem>
-
<listitem>
<para><filename>audit_warn</filename> - Скрипт командного
- интерпретатора Bourne Shell, который используется, чтобы
- сгенерировать предупреждающие сообщения об исключительных
+ интерпретатора, используемый &man.auditd.8;,
+ чтобы сгенерировать предупреждающие сообщения об исключительных
ситуациях, например, когда заканчивается свободное дисковое
- пространство для записей журналов аудита.</para>
+ пространство для записей журналов аудита, либо когда произошла
+ ротация файла журнала аудита.</para>
</listitem>
</itemizedlist>
- <sect2>
- <title>Формат конфигурационного файла</title>
-
- <para>Формат конфигурационного файла не очень логичен, но с ним, тем
- не менее, достаточно просто работать. Однако, администраторам
- следует быть очень внимательными при изменении значений по
- умолчанию, поскольку это создает потенциальную опасность
- неправильного сбора данных системой аудита.</para>
+ <warning>
+ <para>Файлы конфигурации аудита должны редактироваться и
+ изменяться с осторожностью, так как ошибки в конфигурации
+ могут привести к неправильному логу событий</para>
+ </warning>
- <para>В конфигурационном файле могут использоваться как полные,
- так и сокращенные параметры. Соответствия будут приведены
- ниже.</para>
-
- <para>Следующий список содержит все классы по умолчанию,
+ <sect2>
+ <title>Выражения выбора событий</title>
+
+ <para>Выражения выбора используются в нескольких местах
+ конфигурации аудита для определения того, какие события должны
+ подвергаться аудиту. Выражения содержат список классов событий,
+ с которыми интересующее нас событие будет сравниваться. Каждое
+ выражение имеет префикс, показывающий, нужно ли принять
+ или игнорировать найденное событие, и, возможно, показывающий,
+ интересуют ли нас успешные или неуспешные операции. Выражения
+ выбора рассматриваются слева направа, и два выражения
+ объединяются простым добавлением второго выражения к концу
+ первого.</para>
+
+ <para>Следующий список содержит классы по умолчанию,
присутствующие в файле <filename>audit_class</filename>:</para>
<itemizedlist>
<listitem>
- <para><option>all</option> - <literal>all</literal> -
+ <para><literal>all</literal> - <emphasis>all</emphasis> -
Соответствует всем классам событий.</para>
</listitem>
<listitem>
- <para><option>ad</option> - <literal>administrative</literal>
+ <para><literal>ad</literal> - <emphasis>administrative</emphasis>
- Аудит административных действий, произошедших в
системе.</para>
</listitem>
<listitem>
- <para><option>ap</option> - <literal>application</literal> -
+ <para><literal>ap</literal> - <emphasis>application</emphasis> -
Аудит события, вызванного каким-либо приложением.</para>
</listitem>
<listitem>
- <para><option>cl</option> - <literal>file_close</literal>
- - Аудит вызовов системной функции
- <function>close</function>.</para>
+ <para><literal>cl</literal> - <emphasis>file close</emphasis>
+ - Аудит вызовов системной функции <function>close</function>.</para>
</listitem>
<listitem>
- <para><option>ex</option> - <literal>exec</literal> -
+ <para><literal>ex</literal> - <emphasis>exec</emphasis> -
Аудит запуска приложения. Аудит аргументов командной строки и
переменных окружения контролируется через &man.audit.control.5;
используя параметры <literal>argv</literal> и <literal>envv</literal>
@@ -314,85 +339,85 @@ requirements. -->
</listitem>
<listitem>
- <para><option>fa</option> - <literal>file_attr_acc</literal>
- - Аудит доступа к атрибутам объектов и их изменению,
- например через &man.stat.1;, &man.pathconf.2;, а
+ <para><literal>fa</literal> - <emphasis>file attribute access</emphasis>
+ - Аудит доступа к атрибутам объектов,
+ например &man.stat.1;, &man.pathconf.2;, а
также подобных этим событий.</para>
</listitem>
<listitem>
- <para><option>fc</option> - <literal>file_creation</literal>
+ <para><literal>fc</literal> - <emphasis>file create</emphasis>
- Аудит событий, в результате которых создаются
файлы.</para>
</listitem>
<listitem>
- <para><option>fd</option> - <literal>file_deletion</literal>
+ <para><literal>fd</literal> - <emphasis>file delete</emphasis>
- Аудит событий, в результате которых удаляются
файлы.</para>
</listitem>
<listitem>
- <para><option>fm</option> - <literal>file_attr_mod</literal>
+ <para><literal>fm</literal> - <emphasis>file attribute modify</emphasis>
- Аудит событий, в результате которых изменяются
атрибуты файлов, например, &man.chown.8;,
&man.chflags.1;, &man.flock.2;.</para>
</listitem>
<listitem>
- <para><option>fr</option> - <literal>file_read</literal>
+ <para><literal>fr</literal> - <emphasis>file read</emphasis>
- Аудит событий, в результате которых происходит
чтение данных, открываются файлы на чтение и т.п.</para>
</listitem>
<listitem>
- <para><option>fw</option> - <literal>file_write</literal> -
+ <para><literal>fw</literal> - <emphasis>file write</emphasis> -
- Аудит событий, в результате которых происходит
- запись данных, изменение файлов и так далее.</para>
+ запись данных, запись или изменение файлов и так далее.</para>
</listitem>
<listitem>
- <para><option>io</option> - <literal>ioctl</literal> -
+ <para><literal>io</literal> - <emphasis>ioctl</emphasis> -
Аудит вызовов системной функции &man.ioctl.2;.</para>
</listitem>
<listitem>
- <para><option>ip</option> - <literal>ipc</literal> -
+ <para><literal>ip</literal> - <emphasis>ipc</emphasis> -
Аудит различных видов взаимодействия процессов,
- включая создание не-именованных каналов (pipe) и
+ включая создание не-именованных каналов (POSIX pipe) и
взаимодействие процессов в стиле System V
<acronym>IPC</acronym>.</para>
</listitem>
<listitem>
- <para><option>lo</option> - <literal>login_logout</literal> -
- Аудит событий &man.login.1; и &man.logout.1;.</para>
+ <para><literal>lo</literal> - <emphasis>login_logout</emphasis> -
+ Аудит событий &man.login.1; и &man.logout.1;,
+ происходящих в системе.</para>
</listitem>
<listitem>
- <para><option>na</option> - <literal>non_attrib</literal> -
+ <para><literal>na</literal> - <emphasis>non attributable</emphasis> -
Аудит не-приписываемых событий.</para>
</listitem>
<listitem>
- <para><option>no</option> - <literal>no_class</literal> -
- Пустой класс, используется для отключения
- аудита.</para>
+ <para><literal>no</literal> - <emphasis>invalid class</emphasis> -
+ Не соответствует никаким событиям аудита.</para>
</listitem>
<listitem>
- <para><option>nt</option> - <literal>network</literal> -
+ <para><literal>nt</literal> - <emphasis>network</emphasis> -
Аудит событий, связанных с сетевыми подключениями,
например &man.connect.2; и &man.accept.2;.</para>
</listitem>
<listitem>
- <para><option>ot</option> - <literal>other</literal> -
- Аудит событий, не вошедших в другие классы.</para>
+ <para><literal>ot</literal> - <emphasis>other</emphasis> -
+ Аудит различных событий.</para>
</listitem>
<listitem>
- <para><option>pc</option> - <literal>process</literal> -
+ <para><literal>pc</literal> - <emphasis>process</emphasis> -
Аудит действий процессов, таких как &man.exec.3; и
&man.exit.3;.</para>
</listitem>
@@ -402,40 +427,40 @@ requirements. -->
файлов <filename>audit_class</filename> и
<filename>audit_event</filename>.</para>
- <para>Каждый класс комбинируется с префиксом, показывающим удачное
- или неудачное завершение операции.</para>
+ <para>Каждый класс аудита комбинируется с префиксом, показывающим,
+ какие операции будут учитываться - удачные или неудачные,
+ а также то, включает ли данная запись аудит для данного
+ класса и типа, либо отключает его.</para>
<itemizedlist>
<listitem>
<para><literal>[пустой префикс]</literal> - Аудит проводится как для
- успешного, так и для ошибочного события. Например, просто
- указание класса без префикса приведет к занесению события
- в журнал при любом результате операции.</para>
+ успешного, так и для ошибочного события.</para>
</listitem>
<listitem>
<para><literal>+</literal> - Аудит только успешных
- событий.</para>
+ событий в данном классе.</para>
</listitem>
<listitem>
<para><literal>-</literal> - Аудит только ошибочных
- событий.</para>
+ событий в данном классе.</para>
</listitem>
<listitem>
<para><literal>^</literal> - Отключение аудита как успешных, так и
- ошибочных событий.</para>
+ ошибочных событий в данном классе.</para>
</listitem>
<listitem>
- <para><literal>^-</literal> - Отключение аудита ошибочных
- событий.</para>
+ <para><literal>^+</literal> - Отключение аудита успешных
+ событий в данном классе.</para>
</listitem>
<listitem>
- <para><literal>^+</literal> - Включение аудита успешных
- событий.</para>
+ <para><literal>^-</literal> - Отключение аудита ошибочных
+ событий в данном классе.</para>
</listitem>
</itemizedlist>
@@ -454,16 +479,14 @@ requirements. -->
изменения только в два конфигурационных файла системы аудита:
<filename>audit_control</filename> и
<filename>audit_user</filename>. Первый из них содержит
- общие настройки системы аудита и установки по умолчанию как
- для приписываемых, так и для не-приписываемых событий. Второй
- используется для настройки аудита пользовательских событий.</para>
+ общие настройки системы аудита, второй может использоваться
+ для более тонкой настройки аудита пользователем.</para>
<sect3 xml:id="audit-auditcontrol">
<title>Файл <filename>audit_control</filename></title>
- <para>Файл <filename>audit_control</filename> содержит
- настройки по умолчанию, которые, возможно, потребуется
- изменить. Содержимое этого файла:</para>
+ <para>Некоторые настройки по умолчанию для подсистемы
+ аудита содержатся в файле <filename>audit_control</filename>:</para>
<programlisting>dir:/var/audit
flags:lo
@@ -472,115 +495,120 @@ naflags:lo
policy:cnt
filesz:0</programlisting>
- <para>Параметр <option>dir</option> указывает каталог, в
- котором будет сохраняться журнал системы аудита. Как
+ <para>Запись <option>dir</option> используется для
+ установки одного или более каталогов, в
+ которых будет сохраняться журнал системы аудита. Если
+ указан более чем один каталог, то указанные каталоги
+ будут использоваться по очереди, по мере заполнения. Как
правило, система аудита конфигурируется таким образом, что
журнал аудита хранится на отдельном разделе, чтобы
- предотвратить сбои в работе операционной системы, если
- свободное месте на разделе системы аудита будет
- исчерпано.</para>
-
- <para>Параметр <option>flags</option> используется для
- установки глобальных опций. Значение этого параметра
- <option>lo</option> настраивает аудит для всех событий
- &man.login.1; и &man.logout.1;. Более подробный
- пример:</para>
-
- <programlisting>dir:/var/audit
-flags:lo,ad,-all,^-fa,^-fc,^-cl
-minfree:20
-naflags:lo</programlisting>
-
- <para>Такое значение параметра <option>flags</option>
- приведет к аудиту всех событий &man.login.1; и
- &man.logout.1;, всех административных событий, всех ошибочных
- системных событий и, наконец, отключает аудит всех ошибочных
- событий классов <option>fa</option>, <option>fc</option> и
- <option>cl</option>. Несмотря на то, что параметр
- <option>-all</option> указывает на необходимость аудита
- всех системных событий, префикс <option>^-</option> отменяет
- это поведение для всех последующих опций.</para>
-
- <para>Заметьте, что значения считываются слева направо.
- Поэтому находящиеся справа значения переопределяют значения,
- находящиеся слева.</para>
-
- <para>Параметр <option>minfree</option> определяет минимальное
- значение свободного дискового пространства на разделе, в
- который сохраняются файлы журналов аудита. Например, если
- значение параметра <option>dir</option> установлено в
- <filename>/var/audit</filename>, а параметр
- <option>minfree</option> равен двадцати (20), то предупреждающее
- сообщение будет выдано, когда раздел <filename>/var</filename> будет заполнен на
- восемьдесят (80%) процентов.</para>
+ предотвратить пересечение подсистемы аудита и остальных
+ подсистем в случае, если свободное месте на разделе
+ системы аудита будет исчерпано.</para>
- <para>Параметр <option>naflags</option> определяет классы
- аудита для не-приписываемых событий, то есть событий,
- для которых не определён конкретный пользователь.</para>
+ <para>Запись <option>flags</option> используется для
+ установки глобальной маски предварительного выбора
+ для приписываемых событий. В примере выше, будут подвергаться
+ аудиту как успешные, так и неудачные попытки входа в
+ систему и выхода из нее для всех пользователей</para>
+ <para>Запись <option>minfree</option> определяет минимальное
+ значение свободного дискового пространства на разделе, в
+ который сохраняются файлы журналов аудита. Когда данная
+ граница будет превышена, будет сгенерировано предупреждение.
+ Вышеприведенный пример устанавливает минимальное свободное
+ пространство в двадцать процентов.</para>
+
+ <para>Запись <option>naflags</option> определяет классы
+ аудита для не-приписываемых событий, например, процессов
+ входа в систему и системных демонов.</para>
+
+ <para>Запись <option>policy</option> определяет список
+ флагов политики, определяющей различные аспекты поведения
+ аудита. Элементы списка отделяются друг от друга запятыми.
+ По умолчанию, флаг <literal>cnt</literal> указывает, что
+ система должна продолжать работать, несмотря на ошибки
+ аудита (данный флаг очень сильно рекомендуется использовать).
+ Другой частоиспользуемый флаг - <literal>argv</literal>,
+ который заставляет подвергать аудиту аргументы командной
+ строки при вызове системного вызова &man.execve.2;, как
+ часть выполнения команды.</para>
+
+ <para>Запись <option>filesz</option> определяет
+ максимальный размер в байтах, до которого может расти
+ журнал событий аудита, прежде чем он будет автоматически
+ закончен и подвергнут ротации. По умолчанию, значение 0
+ запрещает автоматическую ротацию логов. Если требуемый
+ размер файла ненулевой, но ниже минимального значения в
+ 512К, то он будет проигнорирован, и будет сгенерировано
+ предупреждающее сообщение в логах.</para>
</sect3>
<sect3 xml:id="audit-audituser">
<title>Файл <filename>audit_user</filename></title>
- <para>Файл <filename>audit_user</filename> позволяет
- администратору определить классы событий, аудит которых будет
- производиться для каждого пользователя системы.</para>
-
- <para>По умолчанию файл <filename>audit_user</filename>
- содержит:</para>
-
- <programlisting>root:lo:no
-audit:fc:no</programlisting>
-
- <para>Обратите внимание: по умолчанию производится аудит всех
- <command>login</command>/<command>logout</command> событий и
- отключается аудит всех других событий для пользователя
- <systemitem class="username">root</systemitem>. Эта конфигурация также включает
- аудит всех событий, связанных с созданием файлов и отключает
- аудит всех других событий для пользователя
- <systemitem class="username">audit</systemitem>. Хотя использование системы
- аудита не требует наличия в системе специального
- пользователя, в некоторых конфигурациях, особенно
- использующих <acronym>MAC</acronym> (Mandatory Access
- Control), это может быть необходимо.</para>
+ <para>Администратор может определить дополнительные
+ требования к аудиту для конкретных пользователей
+ в файле <filename>audit_user</filename>.
+ Каждая строка конфигурирует аудит для пользователя
+ с использованием двух полей: первое поле
+ <literal>alwaysaudit</literal>, которое определяет
+ набор событий, которые должны всегда подвергаться
+ аудиту для данного пользователя, а второе - поле
+ <literal>neveraudit</literal>, которое определяет
+ набор событий, которые никогда не должны подвергаться
+ аудиту для пользователя.</para>
+
+ <para>Нижеследующий пример <filename>audit_user</filename>
+ проводит аудит всех событий входа в систему и выхода из
+ системы для пользователя <systemitem class="username">root</systemitem>,
+ а также проводит аудит всех событий, связанных с созданием
+ файлов и успешным выполнением команд для пользователя
+ <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>
</sect3>
</sect2>
</sect1>
<sect1 xml:id="audit-administration">
- <title>Администрирование системы аудита</title>
+ <title>Администрирование подсистемы аудита</title>
<sect2>
<title>Просмотр журнала аудита</title>
<para>Журнал аудита хранится в бинарном формате BSM, поэтому для
его изменения и конвертации в текстовый формат понадобятся специальные
- утилиты. Команда <command>praudit</command> преобразует журнал аудита
- в текстовый формат; команда <command>auditreduce</command> может быть
+ утилиты. Команда &man.praudit.1; преобразует журнал аудита
+ в текстовый формат; команда &man.auditreduce.1; может быть
использована для ротации и фильтрации журнала в целях анализа,
- архивирования или распечатки. Команда <command>auditreduce</command>
- поддерживает множество параметров выборки, включая типы событий, классы
- событий, пользовательские события, дату и время событий и пути файлов,
- к которым относятся события.</para>
+ архивирования или распечатки. Множество параметров выборки
+ поддерживаются командой &man.auditreduce.1;, включая типы
+ событий, классы событий, конкретного пользователя, дату и
+ время событий,а также пути файлов, к которым относятся события.</para>
- <para>Например, утилита <command>praudit</command> выведет все содержимое
+ <para>Например, утилита &man.praudit.1; выведет все содержимое
журнала аудита в текстовом формате:</para>
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
- <para>В данном примере <replaceable>AUDITFILE</replaceable> - журнал,
+ <para>В данном примере <filename>AUDITFILE</filename> - журнал,
который будет выведен в текстовом формате.</para>
<para>Журнал аудита состоит из серии записей, которые, в свою
- очередь состоят из элементов. Эти элементы команда
- <command>praudit</command> выводит последовательно - по одному на строку.
- Каждый элемент имеет специфический тип, например
- <literal>заголовок</literal> (header) содержит заголовок pfgbcb, a
+ очередь состоят из элементов, которые команда &man.praudit.1;
+ выводит последовательно - по одному на строку. Каждый элемент
+ имеет специфический тип, например
+ <literal>заголовок</literal> (header) содержит заголовок записи, a
<literal>путь</literal> (path) - путь к файлу, к которому относится запись.
- lookup. Следующий пример показывает запись для события выполнения
- (execve):</para>
+ Следующий пример показывает запись для события <literal>execve</literal>:</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
@@ -590,27 +618,33 @@ subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>
- <para>Эта запись является результатом успешного выполнения системного
+ <para>Эта запись отражает результат успешного выполнения системного
вызова <literal>execve</literal>, который стал результатом выполнения
- команды <literal>finger doug</literal>. Элемент <literal>exec</literal> содержит и
- команду, которую оболочка передала ядру, и ее аргументы. Элемент
+ команды <literal>finger doug</literal>. В элементах записи есть и
+ командная строка, которую оболочка передала ядру. Элемент
<literal>путь</literal> (path) содержит путь к исполняемому файлу в
представлении ядра. Элемент <literal>атрибут</literal> (attribute)
- описывает исполняемый файл, и, в частности, права доступа к файлу.
- Элемент <literal>субъект</literal> (subject) описывает процесс, вызвавший
- выполнение и сохраняет его в виде ряда значений, представляющих собой
- UID аудируемого пользователя, исполняющие (effective) UID и GID,
- реальные (real) UID и GID, идентификатор процесса, идентификатор сессии,
- порт и адрес, с которого был осуществлен вход в систему.
- Обратите внимание - идентификатор аудируемого пользователя и реальный
- идентификатор пользователя отличаются: это значит, что пользователь
- <literal>robert</literal> повысил привилегии до пользователя
- <literal>root</literal> перед выполнением команды, но система аудита
- занесла его действия в журнал используя изначальный идентификатор.
- Наконец, элемент <literal>возврат</literal> (return) описывает успешное
+ описывает исполняемый файл, и, в частности, режим файла, что
+ можно использовать для определения, использовало ли приложение
+ setuid. Элемент <literal>субъект</literal> (subject) описывает процесс, вызвавший
+ и сохраняет его в виде ряда значений, представляющих собой
+ ID аудируемого пользователя, исполняющие (effective) UID и GID,
+ реальные ID пользователя и группы, идентификатор процесса,
+ идентификатор сессии, порт и адрес, с которого был осуществлен
+ вход в систему. Обратите внимание - идентификатор аудируемого
+ пользователя и реальный идентификатор пользователя отличаются:
+ это значит, что пользователь <systemitem class="username">robert</systemitem> повысил
+ привилегии до пользователя <systemitem class="username">root</systemitem> перед
+ выполнением команды, но система аудита занесла его действия в
+ журнал используя изначальный идентификатор. Наконец, элемент
+ <literal>возврат</literal> (return) описывает успешное
завершение операции с кодом завершения 0, а элемент
<literal>trailer</literal> завершает запись.</para>
+ <para>Данные в формате <acronym>XML</acronym> также можно
+ вывести с помощью команды &man.praudit.1;, используя аргумент
+ <option>-x</option>.</para>
+
</sect2>
<sect2>
@@ -622,8 +656,8 @@ trailer,133</programlisting>
<screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
- <para>Эта команда выделит все записи, относящиеся к пользователю
- <systemitem class="username">trhodes</systemitem>, которые хранятся в файле
+ <para>Эта команда выделит все записи, относящиеся к
+ <systemitem class="username">trhodes</systemitem>, которые хранятся в
<filename>AUDITFILE</filename>.</para>
</sect2>
@@ -631,50 +665,55 @@ trailer,133</programlisting>
<title>Делегирование прав просмотра журнала</title>
<para>Члены группы <systemitem class="groupname">audit</systemitem> имеют доступ на чтение
- к журналу аудита, находящемуся в <filename>/var/audit</filename>;
+ к журналу аудита, находящемуся в
+ <filename>/var/audit</filename>;
по умолчанию эта группа пуста, и только <systemitem class="username">root</systemitem>
имеет к ним доступ. Для того, что бы передать пользователю права на
чтение журнала, его необходимо добавить в группу <systemitem class="groupname">audit</systemitem>.
Право на чтение журнала аудита позволяет получить множество
- информации о поведении пользователей и процессов, что может привести к
- раскрытию конфиденциальных данных. Поэтому, рекомендуется делегировать
- права на чтение журнала аудита с большой осторожностью.</para>
+ информации о поведении пользователей и процессов, поэтому,
+ рекомендуется делегировать права на чтение журнала аудита
+ с большой осторожностью.</para>
</sect2>
<sect2>
- <title>Мониторинг системы в реальном времени</title>
-
- <para>Потоки системы аудита - клонированные псевдо-устройства,
- используя которые, приложения могут получать информацию о системных
- событиях в реальном времени. В первую очередь, это должно
- заинтересовать авторов программ для мониторинга и определения
- вторжений в систему. Тем не менее, для администратора потоки
- системы аудита могут стать удобным инструментом для мониторинга
- в реальном времени без того, чтобы вдаваться в детали обеспечения
- безопасности при передачи прав на чтение журнала аудита. Для того,
- чтобы получить поток событий в реальном времени используйте
+ <title>Мониторинг системы в реальном времени с использованием потоков аудита</title>
+
+ <para>Потоки системы аудита - клонированные псевдо-устройства в
+ файловой системе устройств, используя которые, приложения могут
+ получать информацию о системных событиях в реальном времени.
+ В первую очередь, это должно заинтересовать авторов программ
+ для мониторинга и определения вторжений в систему. Тем не
+ менее, для администратора потоки системы аудита могут стать
+ удобным инструментом для мониторинга в реальном времени без
+ проблем, свзяанных с правами файла аудита, и возможностью
+ процесса ротации, что приведет к обрыву потока событий.
+ Для того, чтобы получить поток событий в реальном времени используйте
следующую команду:</para>
<screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
- <para>По умолчанию, потоки доступны только пользователю <systemitem class="username">root</systemitem>. Чтобы
- сделать их доступными членам группы <systemitem class="groupname">audit</systemitem> добавьте
+ <para>По умолчанию, потоки доступны только пользователю <systemitem class="username">root</systemitem>.
+ Чтобы сделать их доступными членам группы <systemitem class="groupname">audit</systemitem> добавьте
правило <literal>devfs</literal> в файл
<filename>devfs.rules</filename>:</para>
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
- <para>Смотрите страницу справочника &man.devfs.rules.5; для более полной
+ <para>Смотрите &man.devfs.rules.5; для более полной
информации о настройке файловой системы devfs.</para>
<warning>
<para>При неосторожном использовании возможно возникновение бесконечных
циклов событий. Например, если аудиту подвергаются все операции
- сетевого ввода-вывода, и команда <command>praudit</command>
- запущена во время SSH-сессии, то любое событие породит вывод
- сообщения, которое в свою очередь тоже будет событием и так до
- бесконечности. Разумнее будет не запускать <command>praudit</command>
- на потоке событий из сессии, которая детально журналируется.</para>
+ сетевого ввода-вывода, и команда &man.praudit.1;
+ запущена во время SSH-сессии, то будет сгенерирован
+ постоянный поток сообщений аудита, так как каждое событие
+ вызовет еще ондо событие, и так до бесконечности.
+ Разумнее будет запускать &man.praudit.1;
+ на устройстве потока только из сессий, в которых
+ нет большого аудита ввода-вывода, чтобы избежать такого
+ поведения.</para>
</warning>
</sect2>
@@ -682,20 +721,20 @@ trailer,133</programlisting>
<title>Ротация журнальных файлов аудита</title>
<para>Журнал аудита пишется только ядром и управляется только демоном
- аудита <application>auditd</application>. Администраторы не должны пытаться
+ аудита &man.auditd.8;. Администраторы не должны пытаться
использовать &man.newsyslog.conf.5; или другие инструменты для
прямой ротации логов. Вместо этого, для прекращения аудита,
реконфигурации и ротации журнальных файлов должна использоваться
- команда <command>audit</command>. Следующая команда приведет к
+ команда &man.audit.8;. Следующая команда приведет к
созданию нового журнального файла и даст команду ядру переключиться
на запись в этот файл. Протоколирование в старый файл будет прекращено, а
- сам файл - переименован. Это рекомендованный способ ротации
- журнальных файлов.</para>
+ сам файл - переименован, в результате чего с ним можно будет
+ работать администратору.</para>
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
<warning>
- <para>Если демон <application>auditd</application> не запущен, то эта команда
+ <para>Если &man.auditd.8; не запущен, то эта команда
окончится неудачей и будет выведено сообщение об ошибке.</para>
</warning>
@@ -708,10 +747,10 @@ trailer,133</programlisting>
<para>Изменения вступят в силу после сохранения файла
<filename>/etc/crontab</filename>.</para>
- <para>Автоматическая ротация журнальных файлов возможна при использовании
- опции <option>filesz</option> в файле
- &man.audit.control.5;, и описан в секции
- "Формат конфигурационного файла".</para>
+ <para>Автоматическая ротация журнальных файлов на основании
+ их размера возможна при использовании опции <option>filesz</option>
+ в файле &man.audit.control.5;, и описана в разделе
+ "Формат конфигурационного файла" данной главы.</para>
</sect2>
<sect2>
@@ -719,10 +758,10 @@ trailer,133</programlisting>
<para>Поскольку журнальные файлы могут достигать очень больших размеров,
может возникнуть необходимость сжимать их в целях хранения сразу же
- после закрытия их демоном <command>auditd</command>. Для выполнения
- определенных пользователем действий соответствующих разнообразным
- событиям системы аудита, включая нормальное завершение работы системы
- аудита и фильтрацию журнальных файлов, может быть использован скрипт
+ после закрытия их демоном аудита. Для выполнения
+ определенных пользователем действий, соответствующих разнообразным
+ событиям системы аудита, включая нормальное завершение журналов
+ аудита при их ротации, может быть использован скрипт
<filename>audit_warn</filename>. Например, добавление следующих строк
в файл <filename>audit_warn</filename> приведет к сжатию файла
после его закрытия:</para>
@@ -734,13 +773,12 @@ if [ "$1" = closefile ]; then
gzip -9 $2
fi</programlisting>
- <para>Примерами других действий могут быть, например, копирование файлов в место их
- последующего хранения, удаление старых журнальных файлов, фильтрация
- журнальных файлов для удаления ненужных записей. Скрипт
- <filename>audit_warn</filename> будет запущен только только при
- корректном закрытии журнала системой аудита и не запустится
- для журнальных файлов, запись в которые была прекращена в
- результате некорректного завершения.</para>
+ <para>Примерами других действий могут быть, например, копирование файлов
+ аудита на централизованный сервер, удаление старых журнальных файлов,
+ фильтрация журнальных файлов для удаления ненужных записей. Скрипт
+ будет запущен только только при корректном закрытии журнала системой
+ аудита и не запустится для журнальных файлов, запись в которые была
+ прекращена в результате некорректного завершения.</para>
</sect2>
</sect1>
</chapter>