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:
Denis Peplin 2007-06-26 07:11:00 +00:00
parent a49e3ced2d
commit 0642b5a2a7
Notes: svn2git 2020-12-08 03:00:23 +00:00
svn path=/head/; revision=30337

View file

@ -1,10 +1,10 @@
<!--
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$
Original revision: 1.13
Original revision: 1.25
-->
<!-- Need more documentation on praudit, auditreduce, etc. Plus more info
@ -38,27 +38,19 @@ requirements. -->
<primary>Аудит событий безопасности</primary>
<see>MAC</see>
</indexterm>
<para>&os;&nbsp;7-CURRENT включает в себя поддержку Аудита Событий
<para>&os;&nbsp;6.2-RELEASE и более поздние версии &os;
включают в себя поддержку Аудита Событий
Безопасности (Security Event Auditing), стандарт которого описан
в проекте &posix;.1e и в опубликованном корпорацией Sun описании
<acronym>BSM</acronym> API. Система аудита позволяет отслеживать
события, важные для безопасности системы. Анализ лога событий
может быть жизненно необходим в случае краха системы, для
обнаружения нежелательных вторжений и для ликвидации последствий
событий подобного рода. После тестирования во &os;&nbsp;7-CURRENT
поддержка системы аудита будет добавлена во &os;&nbsp;6-STABLE и
более ранние ветви &os;.</para>
<warning>
<para>Поддержка аудита во &os; считается экспериментальной,
использование системы аудита должно производиться только после
тщательного ознакомления со всеми рисками использования
экспериментального программного обеспечения.</para>
</warning>
<acronym>BSM</acronym> API. Система аудита позволяет
с предельной детализацией отслеживать события, важные для безопасности
и жизненного цикла системы. Анализ событий
может быть необходим как для мониторинга функционирующей системы
так и для анализа событий, приведших к ее краху.</para>
<para>В этой главе описывается, в основном, процесс установки и
конфигурирования системы аудита. В том числе, приводится
разъяснение политик аудита, а так же примеры конфигурационных
разъяснение политик аудита, а так же даются примеры конфигурационных
файлов.</para>
<para>После прочтения этой главы вы будете знать:</para>
@ -68,9 +60,13 @@ requirements. -->
</listitem>
<listitem>
<para>Как настроить систему аудита во &os; для мониторинга
<para>Как настроить аудит во &os; для мониторинга
пользователей и процессов.</para>
</listitem>
<listitem>
<para>Как просматривать журнал аудита, использовать ограничения по
размеру и специальные инструменты для его просмотра.</para>
</itemizedlist>
<para>Перед прочтением этой главы вы должны:</para>
@ -93,20 +89,28 @@ requirements. -->
</itemizedlist>
<warning>
<para>Использование системы аудита может привести к генерированию
огромных журнальных файлов: их размер в некоторых конфигурациях
может достигать нескольких гигабайт в неделю. Администраторы
должны внимательно прочитать эту главу целиком, во избежание
непроизвольного отказа в обслуживании системы (<acronym>DoS</acronym>)
из-за неправильной конфигурации системы аудита.</para>
<para>Реализация аудита в &os; 6.2 - экспериментальная, использование
ее в реальных задачах должно производиться только после
внимательного ознакомления со всеми рисками, к которым приводит
использование экспериментального программного обеспечения. К
известным ограничениям относится и тот факт, что не все события
в настоящий момент протоколируемы. Например, некоторые механизмы
входа в систему (X11-основанные оконные менеджеры, многое
программное обеспечение от сторонних производителей) не
сконфигурированы для протоколирования событий входа в систему через
подсистему аудита.</para>
</warning>
<para>Реализация системы аудита во &os; похожа на реализацию
библиотеки Базового Модуля Безопасности корпорации Sun
(&sun; Basic Security Module, <acronym>BSM</acronym>).
Поэтому, его конфигурация почти полностью совпадает с
конфигурацией аналогичных по назначению модулей в операционных
системах &solaris; и Mac OS X/Darwin.</para>
<warning>
<para>Использование системы в аудита может привести к генерированию
огромных журнальных файлов: их размер на сильно загруженных серверах
в некоторых конфигурациях может достигать нескольких гигабайт в неделю.
Администраторы должны внимательно следить за дисковым пространством
в разделе системы аудита. Например, рекомендуется выделить
отдельный раздел для файловой системы аудита
<filename>/var/audit</filename>, чтобы переполнение раздела аудита
не влияло на работоспособность всей остальной системы.</para>
</warning>
</sect1>
@ -122,7 +126,7 @@ requirements. -->
<itemizedlist>
<listitem>
<para><emphasis>событие</emphasis>(event): Событие, которое
<para><emphasis>событие</emphasis> (event): Событие, которое
может быть занесено в журнал. Администратор может выбирать,
какие именно события будут журналироваться подсистемой
аудита. Список важных для безопасности системы
@ -137,18 +141,19 @@ requirements. -->
</listitem>
<listitem>
<para><emphasis>Класс</emphasis>(class): События могут быть
<para><emphasis>Класс</emphasis> (class): События могут быть
отнесены к одному или более классам, обычно основываясь
на категории события: <quote>создание файла</quote>,
<quote>доступ к файлу</quote>,<quote>сеть</quote>. События
входа в систему и выхода из нее относятся к классу <literal>lo</literal>.
на категории события: <quote>создание файла</quote> (fc),
<quote>доступ к файлу</quote> (fo),
<quote>выполнение файла</quote> (ex), события
входа в систему и выхода из нее (lo).
Использование классов позволяет администратору создавать
высокоуровневые правила аудита без указания конкретных
операций, отчет о которых должен добавляться в журнал.</para>
</listitem>
<listitem>
<para><emphasis>Запись</emphasis>(record): <quote>Запись</quote> -
<para><emphasis>Запись</emphasis> (record): <quote>Запись</quote> -
это единичная запись в журнале, описывающая то или иное
событие. Запись обычно содержит информацию о типе события,
информацию о субъекте события (пользователе), время события,
@ -158,7 +163,7 @@ requirements. -->
</listitem>
<listitem>
<para><emphasis>Журнал</emphasis>(trail):
<para><emphasis>Журнал</emphasis> (trail):
<quote>журнал</quote> аудита, или лог-файл -
содержит серию <quote>записей</quote> о системных событиях.
Как правило, журнал содержит записи в строгом
@ -168,9 +173,33 @@ requirements. -->
</listitem>
<listitem>
<para><emphasis>Префикс</emphasis>(prefix): Под префиксом понимается
элемент, указывающий, вести ли аудит для успешного или
ошибочного события.</para>
<para><emphasis>выражение выделения</emphasis> (selection expression):
Строка, содержащая список префиксов и имен классов, используемая
для выделения группы событий.</para>
</listitem>
<listitem>
<para><emphasis>предварительное выделение</emphasis> (preselection):
Процесс, во время которого система определяет, какие события имеют
приоритетную важность для администратора. Это необходимо для того,
чтобы избежать протоколирования событий, не имеющих никакой значимости.
Предварительное выделение использует ряд
<emphasis>выражений выделения</emphasis> для того, чтобы определить,
какие именно классы событий для какого пользователя необходимо вносить
в журнал, так же, как и для авторизованных и неавторизованных
процессов.</para>
</listitem>
<listitem>
<para><emphasis>Фильтрация</emphasis> (reduction):
Процесс, в результате которого записи из существующего журнала
выделяются для хранения, распечатки или анализа. Процесс во многом
аналогичен <emphasis>предварительному выделению</emphasis>. Используя
<emphasis>фильтрацию</emphasis> администраторы могут реализовывать
различные политики хранения журналов аудита. Например, детализированный
журнал может храниться месяц, но после этого он должен быть сокращен
чтобы хранить только информацию о входе в систему и выходе из нее
более длительный срок.</para>
</listitem>
</itemizedlist>
</sect1>
@ -178,15 +207,9 @@ requirements. -->
<sect1 id="audit-install">
<title>Установка системы аудита</title>
<para>Система аудита обычно устанавливается в
процессе установки системы <maketarget>installworld</maketarget>.
Администратор может проверить, установлена ли система аудита,
просмотрев содержимое каталога
<filename role="directory">/etc/security</filename>. В нём
должны находиться файлы, начинающиеся со слова
<emphasis>audit</emphasis>. Например, <filename>audit_event</filename>.</para>
<para>Кроме того, поддержка аудита должна присутствовать в ядре. Этого
<para>Пользовательская часть подсистемы аудита устанавливается как часть
базовой системы &os; начиная с версии 6.2-RELEASE. Тем не менее,
поддержка аудита должна быть добавлена в ядро. Этого
можно добиться, добавив следующую строку в конфигурационный файл
вашего специального ядра:</para>
@ -195,12 +218,12 @@ requirements. -->
<para>Процесс сборки и установки ядра подробно описан в главе
<xref linkend="kernelconfig">.</para>
<para>После этого, необходимо разрешить запуск даемона аудита,
<para>После этого, необходимо разрешить запуск демона аудита,
добавив следующую строку в &man.rc.conf.5;:</para>
<programlisting>auditd_enable="YES"</programlisting>
<para>Для запуска даемона со специфическими параметрами нужно
<para>Для запуска демона со специфическими параметрами нужно
указать эти параметры в опции <option>auditd_flags</option>
файла &man.rc.conf.5;.
</sect1>
@ -211,7 +234,7 @@ requirements. -->
<para>Все конфигурационные файлы системы аудита находятся в каталоге
<filename role="directory">/etc/security</filename>. Перед запуском
даемона аудита там должны находиться следующие файлы:</para>
демона аудита там должны находиться следующие файлы:</para>
<itemizedlist>
<listitem>
@ -261,12 +284,13 @@ requirements. -->
так и сокращенные параметры. Соответствия будут приведены
ниже.</para>
<para>Следующий список содержит все поддерживаемые классы:</para>
<para>Следующий список содержит все классы по умолчанию,
присутствующие в файле <filename>audit_class</filename>:</para>
<itemizedlist>
<listitem>
<para><option>all</option> - <literal>all</literal> -
Установить все флаги.</para>
Соответствует всем классам событий.</para>
</listitem>
<listitem>
@ -288,7 +312,10 @@ requirements. -->
<listitem>
<para><option>ex</option> - <literal>exec</literal> -
Аудит запуска приложения.</para>
Аудит запуска приложения. Аудит аргументов командной строки и
переменных окружения контролируется через &man.audit.control.5;
используя параметры <literal>argv</literal> и <literal>envv</literal>
в опции <literal>policy</literal>.</para>
</listitem>
<listitem>
@ -376,13 +403,18 @@ requirements. -->
</listitem>
</itemizedlist>
<para>Далее перечислены все поддерживаемые префиксы:</para>
<para>Эти классы событий могут быть настроены изменением конфигурационных
файлов <filename>audit_class</filename> и
<filename>audit_event</filename>.</para>
<para>Каждый класс комбинируется с префиксом, показывающим удачное
или неудачное завершение операции.</para>
<itemizedlist>
<listitem>
<para><literal>[пустой префикс]</literal> - Аудит проводится как для
успешного, так и для ошибочного события. Например, просто
указание класса без префикса приведёт к занесению события
указание класса без префикса приведет к занесению события
в журнал при любом результате операции.</para>
</listitem>
@ -395,18 +427,12 @@ requirements. -->
<para><literal>-</literal> - Аудит только ошибочных
событий.</para>
</listitem>
</itemizedlist>
<warning>
<para>Использование класса <option>all</option> с любым
префиксом может привести к генерации огромного количества
данных с очень большой частотой.</para>
</warning>
<listitem>
<para><literal>^</literal> - Отключение аудита как успешных, так и
ошибочных событий.</para>
</listitem>
<para>Дополнительные префиксы, которые могут использоваться для
изменения настроек по умолчанию:</para>
<!-- XXX: Perhaps a variable listing here. -->
<itemizedlist>
<listitem>
<para><literal>^-</literal> - Отключение аудита ошибочных
событий.</para>
@ -417,11 +443,13 @@ requirements. -->
событий.</para>
</listitem>
<listitem>
<para><literal>^</literal> - Отключение аудита как успешных, так и
ошибочных событий.</para>
</listitem>
</itemizedlist>
<para>Следующий пример выбирает успешные и не-успешные события входа в
систему и выхода из нее, и только успешные события исполнения
файла:</para>
<programlisting>lo,+ex</programlisting>
</sect2>
<sect2>
@ -445,7 +473,9 @@ requirements. -->
<programlisting>dir:/var/audit
flags:lo
minfree:20
naflags:lo</programlisting>
naflags:lo
policy:cnt
filesz:0</programlisting>
<para>Параметр <option>dir</option> указывает каталог, в
котором будет сохраняться журнал системы аудита. Как
@ -467,7 +497,7 @@ minfree:20
naflags:lo</programlisting>
<para>Такое значение параметра <option>flags</option>
приведёт к аудиту всех событий &man.login.1; и
приведет к аудиту всех событий &man.login.1; и
&man.logout.1;, всех административных событий, всех ошибочных
системных событий и, наконец, отключает аудит всех ошибочных
событий классов <option>fa</option>, <option>fc</option> и
@ -528,97 +558,195 @@ audit:fc:no</programlisting>
<sect1 id="audit-administration">
<title>Администрирование системы аудита</title>
<sect2>
<title>Просмотр журнала аудита</title>
<para>Журнал событий, записываемый ядром системы аудита не может
быть прочитан или отредактирован как простой текст. Данные
сохраняются и считываются методами, схожими с &man.ktrace.1; и
&man.kdump.1;, поэтому, журналы можно просмотреть только с
помощью команды <command>praudit</command>. Информация
из журналов может быть отфильтрована при помощи команды
<command>auditreduce</command>, которая выбирает записи из
журналов, основываясь на определённых параметрах, таких как
пользователь, время события или тип операции.</para>
<para>Журнал аудита хранится в бинарном формате BSM, поэтому для
его изменения и конвертации в текстовый формат понадобятся специальные
утилиты. Команда <command>praudit</command> преобразует журнал аудита
в текстовый формат; команда <command>auditreduce</command> может быть
использована для ротации и фильтрации журнала в целях анализа,
архивирования или распечатки. Команда <command>auditreduce</command>
поддерживает множество параметров выборки, включая типы событий, классы
событий, пользовательские события, дату и время событий и пути файлов,
к которым относятся события.</para>
<para>Например, <command>praudit</command> может вывести всё
содержимое определённого журнала в текстовом формате. Для этого
выполните команду:</para>
<para>Например, утилита <command>praudit</command> выведет все содержимое
журнала аудита в текстовом формате:</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> - имя файла журнала
по вашему выбору. Поскольку, файлы журналов могут содержать
гигантское количество данных, администратору может понадобиться
выбирать записи событий только одного пользователя. Это возможно
с помощью следующей команды, в которой
<username>trhodes</username> - имя пользователя:</para>
<para>В данном примере <replaceable>AUDITFILE</replaceable> - журнал,
который будет выведен в текстовом формате.</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>Результатом будет выборка из файла
<replaceable>AUDITFILE</replaceable> всех событий, связанных с
пользователем <username>trhodes</username>.</para>
<programlisting>header,133,10,execve(2),0,Mon Sep 25 15:58:03 2006, + 384 msec
exec arg,finger,doug
path,/usr/bin/finger
attribute,555,root,wheel,90,24918,104944
subject,robert,root,wheel,root,wheel,38439,38032,42086,128.232.9.100
return,success,0
trailer,133</programlisting>
<para>Есть ряд других параметров для чтения журналов аудита, для
более детального изучения смотрите страницу справки команды
<command>praudit</command>.</para>
<para>Эта запись является результатом успешного выполнения системного
вызова <literal>execve</literal>, который стал результатом выполнения
команды "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>
<title>Ротация лог-файлов системы аудита</title>
<title>Фильтрация журналов аудита</title>
<para>Исходя из соображений безопасности, запись в журнал аудита
производится только ядром системы; все управление
журналом осуществляется даемоном <command>auditd</command>.
Администраторы не должны пытаться использовать
&man.newsyslog.conf.5; или другие инструменты для прямой
ротации логов системы аудита. Вместо этого, для остановки,
переконфигурации системы аудита и для ротации лог-файлов используйте
утилиту управления <command>audit</command>. Следующая команда
заставит даемон <command>auditd</command> создать новый
лог-файл и переключить систему аудита на его использование.
Старый лог-файл будет переименован:</para>
<para>Поскольку логи системы аудита могут иметь огромный размер,
администратору, зачастую, необходимо выделить только часть записей.
Например, записи, относящиеся к определенному пользователю:</para>
<screen>&prompt.root; <userinput>auditreduce -u trhodes /var/audit/AUDITFILE | praudit</userinput></screen>
<para>Эта команда выделит все записи, относящиеся к пользователю
<username>trhodes</username>, которые хранятся в файле
<replaceable>AUDITFILE</replaceable>.</para>
</sect2>
<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>
<warning>
<para>Если даемон <command>auditd</command> не запущен, команда
завершится с ошибкой.</para>
<para>Если демон <command>auditd</command> не запущен, то эта команда
окончится неудачей и будет выведено сообщение об ошибке.</para>
</warning>
<para>Добавление следующей строки в файл
<filename>/etc/crontab</filename> приведёт к автоматической
ротации лог-файлов каждые двенадцать часов при помощи &man.cron.8;:</para>
<filename>/etc/crontab</filename> приведет к принудительной ротации
каждые двенадцать часов через &man.cron.8;:</para>
<programlisting>* */12 * * * root /usr/sbin/audit -n</programlisting>
<programlisting>0 */12 * * * root /usr/sbin/audit -n</programlisting>
<para>Изменения вступят в силу сразу же после сохранения файла
<filename>/etc/crontab</filename>.</para>
<para>Изменения вступят в силу после сохранения файла
<filename>/etc/crontab</filename>.</para>
<para>Автоматическая ротация журнальных файлов возможна при использовании
опции <option>filesz</option> в файле
&man.audit.control.5;, и описан в секции
"Формат конфигурационного файла".</para>
</sect2>
<sect2>
<title>Передача прав на просмотр журнала аудита</title>
<title>Сжатие журнальных файлов</title>
<para>По умолчанию, только пользователь
<username>root</username> имеет право просматривать журналы
аудита. Тем не менее, эти права могут быть переданы, например,
пользователям, входящим в группу <literal>audit</literal>.
Для этого необходимо передать каталог системы
аудита и файлы журналов аудита группе
<literal>audit</literal>. После этого нужно дать группе права
на чтение каталога и находящихся в нём файлов.
<!-- XXX Absent in the original chapter -->
Например, если раздел журналов аудита смонтирован в
<filename>/var/audit</filename>, нужно выполнить
команды:</para>
<para>Поскольку журнальные файлы могут достигать очень больших размеров,
может возникнуть необходимость сжимать их в целях хранения сразу же
после закрытия их демоном <command>auditd</command>. Для выполнения
определенных пользователем действий соответствующих разнообразным
событиям системы аудита, включая нормальное завершение работы системы
аудита и фильтрацию журнальных файлов, может быть использован скрипт
<filename>audit_warn</filename>. Например, добавление следующих строк
в файл <filename>audit_warn</filename> приведет к сжатию файла
после его закрытия:</para>
<screen>&prompt.root; <userinput>chown -R :audid /var/audit </userinput>
&prompt.root; <userinput>chmod -R g+r /var/audit </userinput></screen>
<!-- /XXX -->
<programlisting>#
# Compress audit trail files on close.
#
if [ "$1" = closefile ]; then
gzip -9 $2
fi</programlisting>
<para>Содержимое журнала аудита дает много информации о
взаимодействии пользователей, процессов и
функционировании системы в целом. Поэтому рекомендуется
передавать права на работу с журналами аудита с большой
осмотрительностью.</para>
<para>Примерами других действий могут быть, например, копирование файлов в место их
последующего хранения, удаление старых журнальных файлов, фильтрация
журнальных файлов для удаления ненужных записей. Скрипт
<filename>audit_warn</filename> будет запущен только только при
корректном закрытии журнала системой аудита и не запустится
для журнальных файлов, запись в которые была прекращена в
результате некорректного завершения.</para>
</sect2>
</sect1>
</chapter>