MFen:
1.13 -> 1.25 books/handbook/audit/chapter.sgml Submitted by: Denis Barov <dindin -at- FRDP> Obtained from: The FreeBSD Russian Documentation Project
This commit is contained in:
parent
a49e3ced2d
commit
0642b5a2a7
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30337
1 changed files with 268 additions and 140 deletions
|
@ -1,10 +1,10 @@
|
||||||
<!--
|
<!--
|
||||||
The FreeBSD Russian Documentation Project
|
The FreeBSD Russian Documentation Project
|
||||||
|
|
||||||
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/audit/chapter.sgml,v 1.4 2006/02/28 08:27:45 marck Exp $
|
$FreeBSDru: frdp/doc/ru_RU.KOI8-R/books/handbook/audit/chapter.sgml,v 1.8 2007/06/26 07:11:15 den Exp $
|
||||||
$FreeBSD$
|
$FreeBSD$
|
||||||
|
|
||||||
Original revision: 1.13
|
Original revision: 1.25
|
||||||
-->
|
-->
|
||||||
|
|
||||||
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
|
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
|
||||||
|
@ -38,27 +38,19 @@ requirements. -->
|
||||||
<primary>Аудит событий безопасности</primary>
|
<primary>Аудит событий безопасности</primary>
|
||||||
<see>MAC</see>
|
<see>MAC</see>
|
||||||
</indexterm>
|
</indexterm>
|
||||||
<para>&os; 7-CURRENT включает в себя поддержку Аудита Событий
|
<para>&os; 6.2-RELEASE и более поздние версии &os;
|
||||||
|
включают в себя поддержку Аудита Событий
|
||||||
Безопасности (Security Event Auditing), стандарт которого описан
|
Безопасности (Security Event Auditing), стандарт которого описан
|
||||||
в проекте &posix;.1e и в опубликованном корпорацией Sun описании
|
в проекте &posix;.1e и в опубликованном корпорацией Sun описании
|
||||||
<acronym>BSM</acronym> API. Система аудита позволяет отслеживать
|
<acronym>BSM</acronym> API. Система аудита позволяет
|
||||||
события, важные для безопасности системы. Анализ лога событий
|
с предельной детализацией отслеживать события, важные для безопасности
|
||||||
может быть жизненно необходим в случае краха системы, для
|
и жизненного цикла системы. Анализ событий
|
||||||
обнаружения нежелательных вторжений и для ликвидации последствий
|
может быть необходим как для мониторинга функционирующей системы
|
||||||
событий подобного рода. После тестирования во &os; 7-CURRENT
|
так и для анализа событий, приведших к ее краху.</para>
|
||||||
поддержка системы аудита будет добавлена во &os; 6-STABLE и
|
|
||||||
более ранние ветви &os;.</para>
|
|
||||||
|
|
||||||
<warning>
|
|
||||||
<para>Поддержка аудита во &os; считается экспериментальной,
|
|
||||||
использование системы аудита должно производиться только после
|
|
||||||
тщательного ознакомления со всеми рисками использования
|
|
||||||
экспериментального программного обеспечения.</para>
|
|
||||||
</warning>
|
|
||||||
|
|
||||||
<para>В этой главе описывается, в основном, процесс установки и
|
<para>В этой главе описывается, в основном, процесс установки и
|
||||||
конфигурирования системы аудита. В том числе, приводится
|
конфигурирования системы аудита. В том числе, приводится
|
||||||
разъяснение политик аудита, а так же примеры конфигурационных
|
разъяснение политик аудита, а так же даются примеры конфигурационных
|
||||||
файлов.</para>
|
файлов.</para>
|
||||||
|
|
||||||
<para>После прочтения этой главы вы будете знать:</para>
|
<para>После прочтения этой главы вы будете знать:</para>
|
||||||
|
@ -68,9 +60,13 @@ requirements. -->
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para>Как настроить систему аудита во &os; для мониторинга
|
<para>Как настроить аудит во &os; для мониторинга
|
||||||
пользователей и процессов.</para>
|
пользователей и процессов.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para>Как просматривать журнал аудита, использовать ограничения по
|
||||||
|
размеру и специальные инструменты для его просмотра.</para>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Перед прочтением этой главы вы должны:</para>
|
<para>Перед прочтением этой главы вы должны:</para>
|
||||||
|
@ -93,20 +89,28 @@ requirements. -->
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
<para>Использование системы аудита может привести к генерированию
|
<para>Реализация аудита в &os; 6.2 - экспериментальная, использование
|
||||||
огромных журнальных файлов: их размер в некоторых конфигурациях
|
ее в реальных задачах должно производиться только после
|
||||||
может достигать нескольких гигабайт в неделю. Администраторы
|
внимательного ознакомления со всеми рисками, к которым приводит
|
||||||
должны внимательно прочитать эту главу целиком, во избежание
|
использование экспериментального программного обеспечения. К
|
||||||
непроизвольного отказа в обслуживании системы (<acronym>DoS</acronym>)
|
известным ограничениям относится и тот факт, что не все события
|
||||||
из-за неправильной конфигурации системы аудита.</para>
|
в настоящий момент протоколируемы. Например, некоторые механизмы
|
||||||
|
входа в систему (X11-основанные оконные менеджеры, многое
|
||||||
|
программное обеспечение от сторонних производителей) не
|
||||||
|
сконфигурированы для протоколирования событий входа в систему через
|
||||||
|
подсистему аудита.</para>
|
||||||
</warning>
|
</warning>
|
||||||
|
|
||||||
<para>Реализация системы аудита во &os; похожа на реализацию
|
<warning>
|
||||||
библиотеки Базового Модуля Безопасности корпорации Sun
|
<para>Использование системы в аудита может привести к генерированию
|
||||||
(&sun; Basic Security Module, <acronym>BSM</acronym>).
|
огромных журнальных файлов: их размер на сильно загруженных серверах
|
||||||
Поэтому, его конфигурация почти полностью совпадает с
|
в некоторых конфигурациях может достигать нескольких гигабайт в неделю.
|
||||||
конфигурацией аналогичных по назначению модулей в операционных
|
Администраторы должны внимательно следить за дисковым пространством
|
||||||
системах &solaris; и Mac OS X/Darwin.</para>
|
в разделе системы аудита. Например, рекомендуется выделить
|
||||||
|
отдельный раздел для файловой системы аудита
|
||||||
|
<filename>/var/audit</filename>, чтобы переполнение раздела аудита
|
||||||
|
не влияло на работоспособность всей остальной системы.</para>
|
||||||
|
</warning>
|
||||||
|
|
||||||
</sect1>
|
</sect1>
|
||||||
|
|
||||||
|
@ -139,9 +143,10 @@ requirements. -->
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis>Класс</emphasis> (class): События могут быть
|
<para><emphasis>Класс</emphasis> (class): События могут быть
|
||||||
отнесены к одному или более классам, обычно основываясь
|
отнесены к одному или более классам, обычно основываясь
|
||||||
на категории события: <quote>создание файла</quote>,
|
на категории события: <quote>создание файла</quote> (fc),
|
||||||
<quote>доступ к файлу</quote>,<quote>сеть</quote>. События
|
<quote>доступ к файлу</quote> (fo),
|
||||||
входа в систему и выхода из нее относятся к классу <literal>lo</literal>.
|
<quote>выполнение файла</quote> (ex), события
|
||||||
|
входа в систему и выхода из нее (lo).
|
||||||
Использование классов позволяет администратору создавать
|
Использование классов позволяет администратору создавать
|
||||||
высокоуровневые правила аудита без указания конкретных
|
высокоуровневые правила аудита без указания конкретных
|
||||||
операций, отчет о которых должен добавляться в журнал.</para>
|
операций, отчет о которых должен добавляться в журнал.</para>
|
||||||
|
@ -168,9 +173,33 @@ requirements. -->
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><emphasis>Префикс</emphasis>(prefix): Под префиксом понимается
|
<para><emphasis>выражение выделения</emphasis> (selection expression):
|
||||||
элемент, указывающий, вести ли аудит для успешного или
|
Строка, содержащая список префиксов и имен классов, используемая
|
||||||
ошибочного события.</para>
|
для выделения группы событий.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>предварительное выделение</emphasis> (preselection):
|
||||||
|
Процесс, во время которого система определяет, какие события имеют
|
||||||
|
приоритетную важность для администратора. Это необходимо для того,
|
||||||
|
чтобы избежать протоколирования событий, не имеющих никакой значимости.
|
||||||
|
Предварительное выделение использует ряд
|
||||||
|
<emphasis>выражений выделения</emphasis> для того, чтобы определить,
|
||||||
|
какие именно классы событий для какого пользователя необходимо вносить
|
||||||
|
в журнал, так же, как и для авторизованных и неавторизованных
|
||||||
|
процессов.</para>
|
||||||
|
</listitem>
|
||||||
|
|
||||||
|
<listitem>
|
||||||
|
<para><emphasis>Фильтрация</emphasis> (reduction):
|
||||||
|
Процесс, в результате которого записи из существующего журнала
|
||||||
|
выделяются для хранения, распечатки или анализа. Процесс во многом
|
||||||
|
аналогичен <emphasis>предварительному выделению</emphasis>. Используя
|
||||||
|
<emphasis>фильтрацию</emphasis> администраторы могут реализовывать
|
||||||
|
различные политики хранения журналов аудита. Например, детализированный
|
||||||
|
журнал может храниться месяц, но после этого он должен быть сокращен
|
||||||
|
чтобы хранить только информацию о входе в систему и выходе из нее
|
||||||
|
более длительный срок.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -178,15 +207,9 @@ requirements. -->
|
||||||
<sect1 id="audit-install">
|
<sect1 id="audit-install">
|
||||||
<title>Установка системы аудита</title>
|
<title>Установка системы аудита</title>
|
||||||
|
|
||||||
<para>Система аудита обычно устанавливается в
|
<para>Пользовательская часть подсистемы аудита устанавливается как часть
|
||||||
процессе установки системы <maketarget>installworld</maketarget>.
|
базовой системы &os; начиная с версии 6.2-RELEASE. Тем не менее,
|
||||||
Администратор может проверить, установлена ли система аудита,
|
поддержка аудита должна быть добавлена в ядро. Этого
|
||||||
просмотрев содержимое каталога
|
|
||||||
<filename role="directory">/etc/security</filename>. В нём
|
|
||||||
должны находиться файлы, начинающиеся со слова
|
|
||||||
<emphasis>audit</emphasis>. Например, <filename>audit_event</filename>.</para>
|
|
||||||
|
|
||||||
<para>Кроме того, поддержка аудита должна присутствовать в ядре. Этого
|
|
||||||
можно добиться, добавив следующую строку в конфигурационный файл
|
можно добиться, добавив следующую строку в конфигурационный файл
|
||||||
вашего специального ядра:</para>
|
вашего специального ядра:</para>
|
||||||
|
|
||||||
|
@ -195,12 +218,12 @@ requirements. -->
|
||||||
<para>Процесс сборки и установки ядра подробно описан в главе
|
<para>Процесс сборки и установки ядра подробно описан в главе
|
||||||
<xref linkend="kernelconfig">.</para>
|
<xref linkend="kernelconfig">.</para>
|
||||||
|
|
||||||
<para>После этого, необходимо разрешить запуск даемона аудита,
|
<para>После этого, необходимо разрешить запуск демона аудита,
|
||||||
добавив следующую строку в &man.rc.conf.5;:</para>
|
добавив следующую строку в &man.rc.conf.5;:</para>
|
||||||
|
|
||||||
<programlisting>auditd_enable="YES"</programlisting>
|
<programlisting>auditd_enable="YES"</programlisting>
|
||||||
|
|
||||||
<para>Для запуска даемона со специфическими параметрами нужно
|
<para>Для запуска демона со специфическими параметрами нужно
|
||||||
указать эти параметры в опции <option>auditd_flags</option>
|
указать эти параметры в опции <option>auditd_flags</option>
|
||||||
файла &man.rc.conf.5;.
|
файла &man.rc.conf.5;.
|
||||||
</sect1>
|
</sect1>
|
||||||
|
@ -211,7 +234,7 @@ requirements. -->
|
||||||
|
|
||||||
<para>Все конфигурационные файлы системы аудита находятся в каталоге
|
<para>Все конфигурационные файлы системы аудита находятся в каталоге
|
||||||
<filename role="directory">/etc/security</filename>. Перед запуском
|
<filename role="directory">/etc/security</filename>. Перед запуском
|
||||||
даемона аудита там должны находиться следующие файлы:</para>
|
демона аудита там должны находиться следующие файлы:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -261,12 +284,13 @@ requirements. -->
|
||||||
так и сокращенные параметры. Соответствия будут приведены
|
так и сокращенные параметры. Соответствия будут приведены
|
||||||
ниже.</para>
|
ниже.</para>
|
||||||
|
|
||||||
<para>Следующий список содержит все поддерживаемые классы:</para>
|
<para>Следующий список содержит все классы по умолчанию,
|
||||||
|
присутствующие в файле <filename>audit_class</filename>:</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><option>all</option> - <literal>all</literal> -
|
<para><option>all</option> - <literal>all</literal> -
|
||||||
Установить все флаги.</para>
|
Соответствует всем классам событий.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -288,7 +312,10 @@ requirements. -->
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><option>ex</option> - <literal>exec</literal> -
|
<para><option>ex</option> - <literal>exec</literal> -
|
||||||
Аудит запуска приложения.</para>
|
Аудит запуска приложения. Аудит аргументов командной строки и
|
||||||
|
переменных окружения контролируется через &man.audit.control.5;
|
||||||
|
используя параметры <literal>argv</literal> и <literal>envv</literal>
|
||||||
|
в опции <literal>policy</literal>.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
<listitem>
|
||||||
|
@ -376,13 +403,18 @@ requirements. -->
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
<para>Далее перечислены все поддерживаемые префиксы:</para>
|
<para>Эти классы событий могут быть настроены изменением конфигурационных
|
||||||
|
файлов <filename>audit_class</filename> и
|
||||||
|
<filename>audit_event</filename>.</para>
|
||||||
|
|
||||||
|
<para>Каждый класс комбинируется с префиксом, показывающим удачное
|
||||||
|
или неудачное завершение операции.</para>
|
||||||
|
|
||||||
<itemizedlist>
|
<itemizedlist>
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><literal>[пустой префикс]</literal> - Аудит проводится как для
|
<para><literal>[пустой префикс]</literal> - Аудит проводится как для
|
||||||
успешного, так и для ошибочного события. Например, просто
|
успешного, так и для ошибочного события. Например, просто
|
||||||
указание класса без префикса приведёт к занесению события
|
указание класса без префикса приведет к занесению события
|
||||||
в журнал при любом результате операции.</para>
|
в журнал при любом результате операции.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
|
@ -395,18 +427,12 @@ requirements. -->
|
||||||
<para><literal>-</literal> - Аудит только ошибочных
|
<para><literal>-</literal> - Аудит только ошибочных
|
||||||
событий.</para>
|
событий.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
</itemizedlist>
|
|
||||||
|
|
||||||
<warning>
|
<listitem>
|
||||||
<para>Использование класса <option>all</option> с любым
|
<para><literal>^</literal> - Отключение аудита как успешных, так и
|
||||||
префиксом может привести к генерации огромного количества
|
ошибочных событий.</para>
|
||||||
данных с очень большой частотой.</para>
|
</listitem>
|
||||||
</warning>
|
|
||||||
|
|
||||||
<para>Дополнительные префиксы, которые могут использоваться для
|
|
||||||
изменения настроек по умолчанию:</para>
|
|
||||||
<!-- XXX: Perhaps a variable listing here. -->
|
|
||||||
<itemizedlist>
|
|
||||||
<listitem>
|
<listitem>
|
||||||
<para><literal>^-</literal> - Отключение аудита ошибочных
|
<para><literal>^-</literal> - Отключение аудита ошибочных
|
||||||
событий.</para>
|
событий.</para>
|
||||||
|
@ -417,11 +443,13 @@ requirements. -->
|
||||||
событий.</para>
|
событий.</para>
|
||||||
</listitem>
|
</listitem>
|
||||||
|
|
||||||
<listitem>
|
|
||||||
<para><literal>^</literal> - Отключение аудита как успешных, так и
|
|
||||||
ошибочных событий.</para>
|
|
||||||
</listitem>
|
|
||||||
</itemizedlist>
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>Следующий пример выбирает успешные и не-успешные события входа в
|
||||||
|
систему и выхода из нее, и только успешные события исполнения
|
||||||
|
файла:</para>
|
||||||
|
|
||||||
|
<programlisting>lo,+ex</programlisting>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
|
@ -445,7 +473,9 @@ requirements. -->
|
||||||
<programlisting>dir:/var/audit
|
<programlisting>dir:/var/audit
|
||||||
flags:lo
|
flags:lo
|
||||||
minfree:20
|
minfree:20
|
||||||
naflags:lo</programlisting>
|
naflags:lo
|
||||||
|
policy:cnt
|
||||||
|
filesz:0</programlisting>
|
||||||
|
|
||||||
<para>Параметр <option>dir</option> указывает каталог, в
|
<para>Параметр <option>dir</option> указывает каталог, в
|
||||||
котором будет сохраняться журнал системы аудита. Как
|
котором будет сохраняться журнал системы аудита. Как
|
||||||
|
@ -467,7 +497,7 @@ minfree:20
|
||||||
naflags:lo</programlisting>
|
naflags:lo</programlisting>
|
||||||
|
|
||||||
<para>Такое значение параметра <option>flags</option>
|
<para>Такое значение параметра <option>flags</option>
|
||||||
приведёт к аудиту всех событий &man.login.1; и
|
приведет к аудиту всех событий &man.login.1; и
|
||||||
&man.logout.1;, всех административных событий, всех ошибочных
|
&man.logout.1;, всех административных событий, всех ошибочных
|
||||||
системных событий и, наконец, отключает аудит всех ошибочных
|
системных событий и, наконец, отключает аудит всех ошибочных
|
||||||
событий классов <option>fa</option>, <option>fc</option> и
|
событий классов <option>fa</option>, <option>fc</option> и
|
||||||
|
@ -528,97 +558,195 @@ audit:fc:no</programlisting>
|
||||||
<sect1 id="audit-administration">
|
<sect1 id="audit-administration">
|
||||||
<title>Администрирование системы аудита</title>
|
<title>Администрирование системы аудита</title>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Просмотр журнала аудита</title>
|
||||||
|
|
||||||
<para>Журнал событий, записываемый ядром системы аудита не может
|
<para>Журнал аудита хранится в бинарном формате BSM, поэтому для
|
||||||
быть прочитан или отредактирован как простой текст. Данные
|
его изменения и конвертации в текстовый формат понадобятся специальные
|
||||||
сохраняются и считываются методами, схожими с &man.ktrace.1; и
|
утилиты. Команда <command>praudit</command> преобразует журнал аудита
|
||||||
&man.kdump.1;, поэтому, журналы можно просмотреть только с
|
в текстовый формат; команда <command>auditreduce</command> может быть
|
||||||
помощью команды <command>praudit</command>. Информация
|
использована для ротации и фильтрации журнала в целях анализа,
|
||||||
из журналов может быть отфильтрована при помощи команды
|
архивирования или распечатки. Команда <command>auditreduce</command>
|
||||||
<command>auditreduce</command>, которая выбирает записи из
|
поддерживает множество параметров выборки, включая типы событий, классы
|
||||||
журналов, основываясь на определённых параметрах, таких как
|
событий, пользовательские события, дату и время событий и пути файлов,
|
||||||
пользователь, время события или тип операции.</para>
|
к которым относятся события.</para>
|
||||||
|
|
||||||
<para>Например, <command>praudit</command> может вывести всё
|
<para>Например, утилита <command>praudit</command> выведет все содержимое
|
||||||
содержимое определённого журнала в текстовом формате. Для этого
|
журнала аудита в текстовом формате:</para>
|
||||||
выполните команду:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
|
<screen>&prompt.root; <userinput>praudit /var/audit/AUDITFILE</userinput></screen>
|
||||||
|
|
||||||
<para>Здесь <replaceable>AUDITFILE</replaceable> - имя файла журнала
|
<para>В данном примере <replaceable>AUDITFILE</replaceable> - журнал,
|
||||||
по вашему выбору. Поскольку, файлы журналов могут содержать
|
который будет выведен в текстовом формате.</para>
|
||||||
гигантское количество данных, администратору может понадобиться
|
|
||||||
выбирать записи событий только одного пользователя. Это возможно
|
|
||||||
с помощью следующей команды, в которой
|
|
||||||
<username>trhodes</username> - имя пользователя:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>auditreduce -e trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
|
<para>Журнал аудита состоит из серии записей, которые, в свою
|
||||||
|
очередь состоят из элементов. Эти элементы команда
|
||||||
|
<command>praudit</command> выводит последовательно - по одному на строку.
|
||||||
|
Каждый элемент имеет специфический тип, например
|
||||||
|
<literal>заголовок</literal> (header) содержит заголовок pfgbcb, a
|
||||||
|
<literal>путь</literal> (path) - путь к файлу, к которому относится запись.
|
||||||
|
lookup. Следующий пример показывает запись для события выполнения
|
||||||
|
(execve):</para>
|
||||||
|
|
||||||
<para>Результатом будет выборка из файла
|
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
|
||||||
<replaceable>AUDITFILE</replaceable> всех событий, связанных с
|
exec arg,finger,doug
|
||||||
пользователем <username>trhodes</username>.</para>
|
path,/usr/bin/finger
|
||||||
|
attribute,555,root,wheel,90,24918,104944
|
||||||
|
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
|
||||||
|
return,success,0
|
||||||
|
trailer,133</programlisting>
|
||||||
|
|
||||||
<para>Есть ряд других параметров для чтения журналов аудита, для
|
<para>Эта запись является результатом успешного выполнения системного
|
||||||
более детального изучения смотрите страницу справки команды
|
вызова <literal>execve</literal>, который стал результатом выполнения
|
||||||
<command>praudit</command>.</para>
|
команды "finger doug". Элемент <literal>exec</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) описывает успешное
|
||||||
|
завершение операции с кодом завершения 0, а элемент
|
||||||
|
<literal>trailer</literal> завершает запись.</para>
|
||||||
|
|
||||||
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Ротация лог-файлов системы аудита</title>
|
<title>Фильтрация журналов аудита</title>
|
||||||
|
|
||||||
<para>Исходя из соображений безопасности, запись в журнал аудита
|
<para>Поскольку логи системы аудита могут иметь огромный размер,
|
||||||
производится только ядром системы; все управление
|
администратору, зачастую, необходимо выделить только часть записей.
|
||||||
журналом осуществляется даемоном <command>auditd</command>.
|
Например, записи, относящиеся к определенному пользователю:</para>
|
||||||
Администраторы не должны пытаться использовать
|
|
||||||
&man.newsyslog.conf.5; или другие инструменты для прямой
|
<screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
|
||||||
ротации логов системы аудита. Вместо этого, для остановки,
|
|
||||||
переконфигурации системы аудита и для ротации лог-файлов используйте
|
<para>Эта команда выделит все записи, относящиеся к пользователю
|
||||||
утилиту управления <command>audit</command>. Следующая команда
|
<username>trhodes</username>, которые хранятся в файле
|
||||||
заставит даемон <command>auditd</command> создать новый
|
<replaceable>AUDITFILE</replaceable>.</para>
|
||||||
лог-файл и переключить систему аудита на его использование.
|
</sect2>
|
||||||
Старый лог-файл будет переименован:</para>
|
|
||||||
|
<sect2>
|
||||||
|
<title>Делегирование прав просмотра журнала</title>
|
||||||
|
|
||||||
|
<para>Члены группы <literal>audit</literal> имеют доступ на чтение
|
||||||
|
к журналу аудита, находящемуся в <filename>/var/audit</filename>;
|
||||||
|
по умолчанию эта группа пуста, и только суперпользователь (root)
|
||||||
|
имеет к ним доступ. Для того, что бы передать пользователю права на
|
||||||
|
чтение журнала, его необходимо добавить в группу <literal>audit</literal>.
|
||||||
|
Право на чтение журнала аудита позволяет получить множество
|
||||||
|
информации о поведении пользователей и процессов, что может привести к
|
||||||
|
раскрытию конфиденциальных данных. Поэтому, рекомендуется делегировать
|
||||||
|
права на чтение журнала аудита с большой осторожностью.</para>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Мониторинг системы в реальном времени</title>
|
||||||
|
|
||||||
|
<para>Потоки системы аудита - клонированные псевдо-устройства,
|
||||||
|
используя которые, приложения могут получать информацию о системных
|
||||||
|
событиях в реальном времени. В первую очередь, это должно
|
||||||
|
заинтересовать авторов программ для мониторинга и определения
|
||||||
|
вторжений в систему. Тем не менее, для администратора потоки
|
||||||
|
системы аудита могут стать удобным инструментом для мониторинга
|
||||||
|
в реальном времени без того, чтобы вдаваться в детали обеспечения
|
||||||
|
безопасности при передачи прав на чтение журнала аудита. Для того,
|
||||||
|
чтобы получить поток событий в реальном времени используйте
|
||||||
|
следующую команду:</para>
|
||||||
|
|
||||||
|
<screen>&prompt.root; <userinput>praudit /dev/auditpipe</userinput></screen>
|
||||||
|
|
||||||
|
<para>По умолчанию, потоки доступны только пользователю root. Чтобы
|
||||||
|
сделать их доступными членам группы <literal>audit</literal> добавьте
|
||||||
|
правило <literal>devfs</literal> в файл
|
||||||
|
<filename>devfs.rules</filename>:</para>
|
||||||
|
|
||||||
|
<programlisting>add path 'auditpipe*' mode 0440 group audit</programlisting>
|
||||||
|
|
||||||
|
<para>Смотрите страницу справочника &man.devfs.rules.5; для более полной
|
||||||
|
информации о настройке файловой системы devfs.</para>
|
||||||
|
|
||||||
|
<warning>
|
||||||
|
<para>При неосторожном использовании возможно возникновение бесконечных
|
||||||
|
циклов событий. Например, если аудиту подвергаются все операции
|
||||||
|
сетевого ввода-вывода, и команда <command>praudit</command>
|
||||||
|
запущена во время SSH-сессии, то любое событие породит вывод
|
||||||
|
сообщения, которое в свою очередь тоже будет событием и так до
|
||||||
|
бесконечности. Разумнее будет не запускать <command>praudit</command>
|
||||||
|
на потоке событий из сессии, которая детально журналируется.</para>
|
||||||
|
</warning>
|
||||||
|
</sect2>
|
||||||
|
|
||||||
|
<sect2>
|
||||||
|
<title>Ротация журнальных файлов аудита</title>
|
||||||
|
|
||||||
|
<para>Журнал аудита пишется только ядром и управляется только демоном
|
||||||
|
аудита <command>auditd</command>. Администраторы не должны пытаться
|
||||||
|
использовать &man.newsyslog.conf.5; или другие инструменты для
|
||||||
|
прямой ротации логов. Вместо этого, для прекращения аудита,
|
||||||
|
реконфигурации и ротации журнальных файлов должна использоваться
|
||||||
|
команда <command>audit</command>. Следующая команда приведет к
|
||||||
|
созданию нового журнального файла и даст команду ядру переключиться
|
||||||
|
на запись в этот файл. Протоколирование в старый файл будет прекращено, а
|
||||||
|
сам файл - переименован. Это рекомендованный способ ротации
|
||||||
|
журнальных файлов.</para>
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
|
<screen>&prompt.root; <userinput>audit -n</userinput></screen>
|
||||||
|
|
||||||
<warning>
|
<warning>
|
||||||
<para>Если даемон <command>auditd</command> не запущен, команда
|
<para>Если демон <command>auditd</command> не запущен, то эта команда
|
||||||
завершится с ошибкой.</para>
|
окончится неудачей и будет выведено сообщение об ошибке.</para>
|
||||||
</warning>
|
</warning>
|
||||||
|
|
||||||
<para>Добавление следующей строки в файл
|
<para>Добавление следующей строки в файл
|
||||||
<filename>/etc/crontab</filename> приведёт к автоматической
|
<filename>/etc/crontab</filename> приведет к принудительной ротации
|
||||||
ротации лог-файлов каждые двенадцать часов при помощи &man.cron.8;:</para>
|
каждые двенадцать часов через &man.cron.8;:</para>
|
||||||
|
|
||||||
<programlisting>* */12 * * * root /usr/sbin/audit -n</programlisting>
|
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
|
||||||
|
|
||||||
<para>Изменения вступят в силу сразу же после сохранения файла
|
<para>Изменения вступят в силу после сохранения файла
|
||||||
<filename>/etc/crontab</filename>.</para>
|
<filename>/etc/crontab</filename>.</para>
|
||||||
|
|
||||||
|
<para>Автоматическая ротация журнальных файлов возможна при использовании
|
||||||
|
опции <option>filesz</option> в файле
|
||||||
|
&man.audit.control.5;, и описан в секции
|
||||||
|
"Формат конфигурационного файла".</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
|
|
||||||
<sect2>
|
<sect2>
|
||||||
<title>Передача прав на просмотр журнала аудита</title>
|
<title>Сжатие журнальных файлов</title>
|
||||||
|
|
||||||
<para>По умолчанию, только пользователь
|
<para>Поскольку журнальные файлы могут достигать очень больших размеров,
|
||||||
<username>root</username> имеет право просматривать журналы
|
может возникнуть необходимость сжимать их в целях хранения сразу же
|
||||||
аудита. Тем не менее, эти права могут быть переданы, например,
|
после закрытия их демоном <command>auditd</command>. Для выполнения
|
||||||
пользователям, входящим в группу <literal>audit</literal>.
|
определенных пользователем действий соответствующих разнообразным
|
||||||
Для этого необходимо передать каталог системы
|
событиям системы аудита, включая нормальное завершение работы системы
|
||||||
аудита и файлы журналов аудита группе
|
аудита и фильтрацию журнальных файлов, может быть использован скрипт
|
||||||
<literal>audit</literal>. После этого нужно дать группе права
|
<filename>audit_warn</filename>. Например, добавление следующих строк
|
||||||
на чтение каталога и находящихся в нём файлов.
|
в файл <filename>audit_warn</filename> приведет к сжатию файла
|
||||||
<!-- XXX Absent in the original chapter -->
|
после его закрытия:</para>
|
||||||
Например, если раздел журналов аудита смонтирован в
|
|
||||||
<filename>/var/audit</filename>, нужно выполнить
|
|
||||||
команды:</para>
|
|
||||||
|
|
||||||
<screen>&prompt.root; <userinput>chown -R :audid /var/audit </userinput>
|
<programlisting>#
|
||||||
&prompt.root; <userinput>chmod -R g+r /var/audit </userinput></screen>
|
# Compress audit trail files on close.
|
||||||
<!-- /XXX -->
|
#
|
||||||
|
if [ "$1" = closefile ]; then
|
||||||
|
gzip -9 $2
|
||||||
|
fi</programlisting>
|
||||||
|
|
||||||
<para>Содержимое журнала аудита дает много информации о
|
<para>Примерами других действий могут быть, например, копирование файлов в место их
|
||||||
взаимодействии пользователей, процессов и
|
последующего хранения, удаление старых журнальных файлов, фильтрация
|
||||||
функционировании системы в целом. Поэтому рекомендуется
|
журнальных файлов для удаления ненужных записей. Скрипт
|
||||||
передавать права на работу с журналами аудита с большой
|
<filename>audit_warn</filename> будет запущен только только при
|
||||||
осмотрительностью.</para>
|
корректном закрытии журнала системой аудита и не запустится
|
||||||
|
для журнальных файлов, запись в которые была прекращена в
|
||||||
|
результате некорректного завершения.</para>
|
||||||
</sect2>
|
</sect2>
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
Loading…
Reference in a new issue