Процедуры контроля

В данном разделе описывается, как устанавливать, инициировать, модифицировать и прекращать контроль системы. Доступ к каждой из этих функций осуществляется через sysadmsh. Выход на верхний уровень функций контроля производится выбором System->Audit; это следующие функции:

Enable/Disable
Инициирование и прекращение контроля
Collection
Выбор критерия контроля Формирование конфигурации подсистемы и управление контролируемыми событиями и пользователями. Кроме того, можно управлять параметрами установки, влияющими на производительность и надежность подсистемы и ее данные
Report
Редукция данных контроля и составление отчетов Создание и сохранение выборочных файлов рeдукции, редукция сессий контроля с помощью файлов сбора данных и удаление сокращенных файлов после того, как они становятся ненужными
Files
Сопровождение файла контрольных записей Проверка сессий контроля, накопленных в системе, архивирование сессий контроля на ре- зервном носителе, восстановление ранее сохраненных сессий контроля, удаление ненужных сессий контроля, пуск и останов контроля по мере надобности

Процедура контроля состоит из трех этапов, описанных в последующих разделах:

  1. Установка схемы сбора данных
  2. Включение контроля
  3. Генерация контрольных отчетов

Установка схемы сбора данных

Чтобы задать, какие данные следует собирать и где их следует хранить, сделайте в sysadmsh следующий выбор:

       System->Audit->Collection

На экране появятся следующие элементы для выбора:

Directories
Каталоги файлов сбора данных контроля и уплотненных файлов
Events
Системная маска типов событий
IDs
Выбор контроля пользователя и группы
Parameters
Параметры подсистемы контроля
Summary
Распечатка статистики текущей сессии контроля

Выберите, какую информацию вы хотите поставлять; каждый выбор описан в одном из последующих разделов. Информация о сборе данных, заданная вами, записывается в файл параметров. Система поставляется с файлом параметров, заданным по умолчанию, но вы должны модифицировать его, чтобы он удовлетворял вашим требованиям. Инициированная подсистема контролирует события в соответствии с содержимым файла параметров до тех пор, пока параметры не будут модифицированы, или до прекращения контроля, или до останова системы. Заметим, что некоторые параметры можно модифицировать в ходе контроля, а другие действительны только в момент инициирования контроля. По мере описания очередной области конфигурации отмечаются статические и динамические величины.

Каталоги контроля

Файлы сбора данных, генерируемые подсистемой контроля, и уплотненные файлы, генерируемые демоном контроля, записываются в заданные вами каталоги. Сессия контроля может содержать файлы, записанные во множество различных каталогов. К концу сессии остаются только уплотненные файлы, так как файлы сбора данных удаляются подсистемой, когда они прочитаны демоном контроля. Вам не нужно отслеживать каталоги, в которые записываются файлы, поскольку эта информация имеется в журнальном файле сессии.

Вы можете увеличить производительность системы, поместив каталоги контроля в файловую систему, расположенную на отдельном физическом устройстве от остальных файловых систем. Это уменьшит соперничество за ресурсы диска. Кроме того, контроль требует значительного пространства, даже с учетом уплотнения. Когда места на диске становится мало, подсистема выдает предупреждение; если свободного пространства в файловой системе становится слишком мало, то подсистема выключает контроль. По этой причине подсистема и демон поддерживают несколько каталогов. При возникновении ошибки во время записи в каталог или при исчерпании места на диске подсистема и демон пытаются воспользоваться альтернативными каталогами, чтобы продолжить работу.

Каждое имя файла следует вводить с указанием абсолютного имени пути. Число каталогов, которые вы можете определить, ничем не ограничено. Если никакие каталоги не заданы, подсистема и демон создают все файлы в корневой файловой системе, используя зарезервированный каталог подсистемы контроля /tcb/audittmp. Такая установка файлов конфигурации контроля делается по умолчанию.

Маска событий контроля

Как уже говорилось в разделе "Типы событий контроля", имеется некоторое число событий контроля, которые можно выбрать:

                          Таблица 5.5
                        События контроля
----------------------------------------------------------------
A. Startup/Shutdown                   B. Login/Logoff
C. Process Create/Delete              D. Make Object Available
E. Map Object to Subject              F. Object Modification
G. Make Object Unavailable            H. Object Creation
I. Object Deletion                    J. DAC Changes
K. DAC Denials                        L. Admin/Operator Actions
M. Insufficient Privilege             N. Resource Denials
O. IPC Functions                      P. Process Modifications
Q. Audit Subsystem Events             R. Database Events
S. Subsystem Events                   T. Use of Privilege
----------------------------------------------------------------
 A. Запуск/Останов                   B. Вход/Выход из системы
 C. Создать/Удалить процесс          D. Сделать объект доступным
 E. Отобразить объект в субъект      F. Модификация объекта
 G. Сделать объект недоступным       H. Создание объекта
 I. Удаление объекта                 J. Изменения DAC
 K. Отказы DAC                       L. Действия оператора/Админ.
 M. Недостаточные привилегии         N. Отказы ресурса
 O. Функции IPC                      P. Модификации процесса
 Q. События подсистемы контроля      R. События базы данных
 S. События подсистемы               T. Использование привилегий
----------------------------------------------------------------

Каждый тип события выводится на экран и соответствует бук- ве, находящейся в верхней части экрана. Для событий, подлежащих контролю, тип события следует задать вместе с символом "Y". Типы событий, не подлежащие контролю, исключаются опцией "N". Для пе- реключения ввода с "Y" на "N" и обратно пользуйтесь клавишей пробела. Для перехода от одного элемента к другому используйте клавиши перемещения курсора. Данную маску событий можно модифи- цировать и динамически изменять для текущей сессии контроля и/или записывать в файл параметров для использования в последую- щих сессиях контроля.

Выбор пользователя и группы

Поля User и Group можно использовать для динамического изменения выбора контроля в текущей сессии или для следующих сессий. Выбор пользователей и групп можно производить многократно в течение одной сессии. Если никакие пользователи и группы не выбраны, в результате все пользователи и группы будут исключены из данного выбора. Это означает, что все процессы в системе подлежат контролю.

Параметры подсистемы контроля

Вы можете изменить некоторые параметры контроля, чтобы настроить контроль в соответствии с требованиями системы. Некоторые из этих параметров связаны с проблемами компромисса между производительностью и надежностью, обсуждавшимися выше. Теперь это станет яснее. Имеются следующие параметры:


   Write to disk...                             (Запись на диск)

     Эти два параметра определяют  частоту,   с  которой  данные
     контроля синхронно сбрасываются в файл сбора данных контро-
     ля из внутренних буферов контроля.  Сброс можно контролиро-
     вать либо   количеством данных,  накопленных перед записью,
     либо истечением заданного интервала времени. Последняя воз-
     можность особенно полезна,   когда  генерируются  небольшие
     объемы данных и частота генерации записей размазана по вре-
     мени. Можно задать сброс и по счетчику байтов, и по истече-
     нию времени. Интервал времени всегда задается в секундах.
       Плохой выбор этих величин может  неблагоприятно  повлиять
     на производительность.   Слишком частые операции записи за-
     медляют работу системы при чрезмерном трафике ввода-вывода.
     С другой стороны, когда эти значения слишком велики, растет
     вероятность потери данных в случае фатального сбоя системы.
     Рекомендуется при  каждом заполнении одного внутреннего бу-
     фера делать сброс.  Таким образом, обычно достаточно задать
     счетчик сброса равным 1024 (размер внутреннего буфера).

   Wake up daemon...                      (Активизировать демон)

     Данный параметр управляет демоном контроля. Этот демон пос-
     тоянно читает с устройства контроля и получает записи,  по-
     мещенные в файлы сбора данных. Затем эти записи уплотняются
     и записываются   в уплотненные файлы,  которые впоследствии
     подвергаются редукции. Для получения максимальной эффектив-
     ности алгоритма уплотнения демону следует читать блоки дан-
     ных размером от 4К до 5К байт.  Для этого нужна специальная
     обработка в   подсистеме,   так  как обычно операция чтения
     возвращает управление,  когда доступны какие-либо данные, а
     не ждет,    когда накопится определенный объем данных.  Для
     максимальной эффективности этот параметр  должен  лежать  в
     диапазоне от   4096 до 5120 байт.  По умолчанию принимается
     величина 4096 байт.

   Collection buffers                      (Буферы сбора данных)

     Этот параметр  позволяет задать число буферов сбора данных,
     используемых подсистемой. Она использует эти внутренние бу-
     фера для  сбора данных контроля,  записываемых в файл сбора
     данных. Для  увеличения эффективности системы  используется
     несколько буферов, так как все процессы совместно использу-
     ют буферное пространство при попытках занесения записи. При
     наличии нескольких  буферов  процессы могут отложить записи
     на хранение и продолжать выполнение без  блокировки,   даже
     если на   предыдущих буферах выполняется ввод-вывод.  Нужно
     как минимум два буфера.  Большинство систем не могут эффек-
     тивно использовать более 4-6 буферов без проблем с произво-
     дительностью. Не  существует вполне  определенного  способа
     вычисления оптимального числа буферов. В общем случае зада-
     вайте эту величину исходя из ожидаемой загрузки  процессами
     системы.

   Collection/Audit output file switch...

      (Переключение выходных файлов контроля/файлов сбора данных)
     Эти два параметра позволяют задать максимальный размер, ко-
     торого могут  достигать  файлы  сбора  данных и уплотненные
     файлы перед созданием нового файла. Если для обоих парамет-
     ров выбрать маленькие значения,  это приведет к чрезмерному
     числу переключений файлов.  Так как уплотненные файлы явля-
     ются постоянными,  это также может вызвать обилие небольших
     файлов в системе.  Если выбрать слишком  большие  значения,
     это создаст ситуацию,  при которой файлы сбора данных конт-
     роля будут использовать много места на диске, даже если они
     будут частично считаны демоном контроля, что должно было бы
     вызвать их удаление.  Размером уплотненных файлов  контроля
     можно управлять потому, что эти файлы остаются в системе до
     редукции или удаления.  Желательно,  чтобы эти файлы  имели
     размер, приемлемый  для  работы с ними,  в том числе для их
     легкого сохранения и восстановления.  По умолчанию для фай-
     лов сбора данных берется значение 50К байт, а для уплотнен-
     ных файлов - 1 мегабайт.  Убедитесь,  что максимальный раз-
     мер, выбранный  для уплотненных файлов,  не превышает уста-
     новленной в системе величины ulimit,  контролирующей макси-
     мальный размер, допустимый для пользовательского файла.

   Compacted audit output files
                           (Уплотненные выходные файлы контроля)

     Эта опция предусмотрена на случай, если нужно иметь и неуп-
     лотненные файлы контроля. Особой необходимости использовать
     эту опцию нет, так как уплотнение не требует много дополни-
     тельного времени на обработку, а итоговая экономия места на
     диске обычно больше 60 процентов.  Алгоритм уплотнения  со-
     держится в пользовательском процессе демона контроля,  а не
     выполняется в ядре подсистемы.

   Enable audit on system startup
                         (Включить контроль при запуске системы)

     Если ответ положительный,  то в результате  контроль  будет
     начинаться автоматически  при  каждой перезагрузке системы.
     Это поле выходит на экран только через опцию View; оно  ус-
     танавливается в соответствии с тем, был ли контроль включен
     или выключен. Если контроль был выключен, то при запуске он
     будет отключаться.

   Shutdown gracefully on disk full
             (Выполнить постепенный останов при заполнении диска)

     Эта опция позволяет системе выполнить автоматический  оста-
     нов, если она исчерпала пространство на диске; это помогает
     избежать порчи данных.

   Change parameters for this/future session
                 (Изменить параметры для данной/следующей сессии)

     Последние две  опции на экране позволят вам динамически из-
     менять текущую сессию и/или вносить изменения в  постоянную
     часть файла параметров контроля для следующих сессий.

Текущая статистика

Последняя опция, предусмотренная в меню Collection, - это получение статистики текущей сессии контроля. Сюда входит информация о номере текущей сессии, количестве файлов сбора данных и уплотненных файлов, количестве записей, созданных механизмом контроля ядра, и записей, созданных прикладными программами, и др. Если в данный момент контроль не действует, статистика не выводится.

Пример распечатки Summary:

зддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддддд
Ё         *** Audit Subsystem Statistics ***
Ё                               (Статистика подсистемы контроля)
Ё  Current Audit Session-6      (Текущая сессия контроля - 6)
Ё  Current Collection File Sequence Number-1488
Ё                 (Порядковый номер текущего файла сбора данных)
Ё  Total count of audit data written:      7659433
Ё                 (Общий счетчик записанных данных контроля)
Ё  Total count of audit records written:   156666
Ё                 (Общий счетчик записанных контрольных записей)
Ё  Audit records written by applications:  81
Ё        (Контрольные записи, сделанные прикладными программами)
Ё  Audit records written by system calls:  155083
Ё        (Контрольные записи, сделанные системными вызовами)
Ё  System calls not selected for audit:    751889
Ё                 (Системные вызовы, не отобранные для контроля)
Ё  Total number of audit device reads:     2977
Ё        (Общее число операций чтения на устройстве контроля)
Ё  Total number of audit device writes:    324
Ё        (Общее число операций записи на устройстве контроля)
Ё  Total number of collection files:       1489
Ё                 (Общее число файлов сбора данных)
Ё

Включение/выключение контроля

Чтобы включить или выключить контроль, используйте следующие выборы в sysadmsh:

        System->Audit->Enable
        System->Audit->Disable

Функция включения, используя текущий файл параметров контроля, выполняет инициализацию подсистемы. Функция выключения доступна из того же меню и вызывает постепенный выход из контроля (когда все файлы сбора данных прочитаны демоном и уплотнены). Затем демон прекращает работу, оставляя лишь журнальный файл сессии контроля и уплотненные файлы сессии.

Помните, что если выключить контроль, а затем вновь его включить, не перезагрузив систему, то это может вызвать потерю некоторых данных процесса, нужных для поддержания состояния процесса. Если контроль прекращен для модификации некоторых параметров, учтите, что большинство параметров подсистемы можно модифицировать и в процессе контроля. Для обеих функций - включения и выключения - предусмотрены экраны для подтверждения, которое нужно сделать до завершения функции в sysadmsh. Когда контроль включается или выключается, на экран выходит сообщение о состоянии контроля в момент перезагрузки; если контроль выключен, то при запуске системы он будет выключен, а если включен, то он будет вновь включен.

Сопровождение файлов контроля

Функции сопровождения файлов контроля доступны в sysadmsh при следующем выборе:

        System->Audit->Files

Доступны следующие файловые функции:

List
Вывод списка файлов сессии контроля в системе
Backup
Дублирование файлов сессии контроля на резервном носителе
Delete
Удаление файла сессии контроля
Restore
Восстановление файлов сессии контроля с резервного носителя

Сессия контроля состоит из журнального файла сессии и группы уплотненных файлов, сгенерированных между моментами включения и выключения подсистемы контроля. Каждый файл сбора данных и уплотненный файл, созданный во время сессии, получает уникальный номер от этой сессии. После завершения сессии остается только журнальный файл и уплотненные файлы. Функции сопровождения файлов проверяют, какие сессии еще имеются в системе, и дают возможность удалить уже не нужные сессии.

Вывод списка контрольных записей

Этот выбор дает немедленный ответ: выводится список файлов, доступных в каталогах контроля.

Дублирование контрольных записей

Поскольку сессии контроля требуют много места на диске, часто оказывается необходимым внести данные контроля в архив, а затем либо сократить их, либо восстановить на некоторый период времени, если они нужны для анализа проблем, которые нельзя выявить немедленно. Такую возможность дает интерфейс дублирования/восстановления. Опция Backup требует в качестве ввода номер сессии. Его можно получить, сгенерировав контрольный отчет (см. ниже). Выбрав дублирование, вы должны выбрать и выходное устройство для дублирования. Им может служить любой съемный носитель, доступный в системе.

Замечание

Контроль требует очень много места на диске. В зависимости от количества пользователей в системе и от количества контролируемых событий, может потребоваться еженедельное дублирование и удаление файлов сессий. Если имеется расписание дублирования, то выбор опции дублирования контроля, вероятно, не потребуется. Вновь заметим, что очень важно удалить файлы после того, как они продублированы в свободном пространстве на диске.

Точно так же сессии, которые были продублированы на съемных носителях с помощью программы интерфейса, могут быть восстановлены опцией Restore. Для этого вставьте носитель с сохраненными файлами сессии в устройство восстановления и задайте имя устройства.

Удаление файлов

Для удаления сессий контроля предусмотрен выбор Delete. Сессии можно внести в архив на резервном носителе, а затем удалить, чтобы освободить место в файловой системе для других файлов контроля. Сессии удаляются по номеру сессии. Типичный сценарий должен включать составление отчета (см. ниже) для определения, какие сессии существуют и которые из них можно удалить. Затем номер сессии предоставляется опции Delete, которая удаляет все файлы, связанные с этой сессией.

Составление контрольных отчетов

Чтобы посмотреть контрольный журнал какой-либо сессии, выберите в sysadmsh:

        System->Audit->Report

Доступны следующие опции:

List
Вывод списка всех доступных файлов выборки
View
Просмотр параметров в файле выборки
Create
Создание нового файла выборки
Modify
Модификация имеющегося файла выборки
Delete
Удаление имеющегося файла выборки
Generate
Выполнение цикла редукции, с заданием сессии контроля и файла выборки

Как говорилось выше, критерий сбора данных контроля представляет первый уровень выбора для контроля. После того, как данные собраны, их можно сократить (выполнить редукцию), т.е. обработать для получения нужной коллекции данных о конкретном аспекте работы системы. Меню редукции данных позволяют выбрать выполнение редукции и определить, какие нужны записи. Опция Generate обеспечивает широкий диапазон критериев пост-выборки, с помощью которых можно указать конкретные события, пользователей или объекты.

Последняя опция выводит на экран сокращенный вывод сессии контроля. Для этого требуется номер сессии и файл выборки, которым может быть любой из файлов выборки, построенный с помощью опций создания или обновления файлов выборки.

Файлы выборки

Программа редукции использует для пост-выборки контрольных записей файл под названием файл выборки. Этот файл строится программой интерфейса Администратора контроля на основе вашего ввода. Вы можете строить и сохранять множество файлов, каждый со своим набором критериев выбора. Затем можно выполнить редукцию несколько раз для одних и тех же данных сессии, но каждый раз с различными файлами выборки. Таким образом, вы можете строить и сохранять файлы выборки, часто используемые при редукции данных. Когда нужно будет выполнить редукцию данных, можно использовать уже построенные файлы.

Для сопровождения файлов выборки используются опции List, View, Create, Modify и Delete. Процедура выборки подробнее обсуждается в следующем разделе. Экран с опциями, приведенными выше, используется для вызова экрана следующего уровня, чтобы выполнить нужную функцию над файлом выборки. Как ясно из названий опций, файлы выборки могут быть созданы, обновлены, модифицированы или удалены.

Для редукции контрольных записей можно выбрать следующие критерии:

     Event types     Типы событий
                     Каждый тип  события,  который следует отби-
                     рать, помечается  буквой "Y". Типы событий,
                     которые нужно исключить из выборки, остают-
                     ся с пробелами или помечаются  буквой  "N".
                     Если событие не выбрано, то соответствующие
                     ему записи будут удалены из вывода.
     Start and Stop times       Начальное и конечное время
                     Если есть подозрение, что в некоторый пери-
                     од времени могло произойти событие, связан-
                     ное с секретностью,  то  с  помощью  данной
                     возможности можно   выбрать  только записи,
                     сгенерированные в этот период.  Это поможет
                     сосредоточиться на анализе записей, которые
                     вероятнее всего прояснят происшедшее.
     Users/Groups    Пользователи/Группы
                     Для контроля  можно  выделить пользователей
                     или группы пользователей.  Если целью  про-
                     никновения в систему был определенный поль-
                     зовательский бюджет, то можно выбрать толь-
                     ко те записи,  которые были сгенерированы с
                     идентификатором пользователя   или  группы,
                     соответствующим данному  пользователю.  Это
                     позволит при просмотре записей  сконцентри-
                     роваться на подозреваемых бюджетах.
     Files           Файлы
                     Для выбора  контрольных  записей  из вывода
                     можно также использовать файлы (имена  объ-
                     ектов). Если запись содержит несколько имен
                     объектов и заданное имя  совпадает с каким-
                     нибудь именем объекта в записи,  то эта за-
                     пись выбирается. Имена объектов должны быть
                     заданы в виде абсолютных имен  путей,   так
                     как все  относительные имена объектов прог-
                     рамма редукции преобразует в абсолютные.

Можно использовать любую комбинацию этих критериев. Например, для одной сессии можно задать выборку по временному интервалу, по идентификатору пользователя и по имени объекта. Если запись попадает в заданный интервал времени, сгенерирована заданным пользователем и содержит один из заданных объектов, то она выбирается для вывода.

При выборке записей действует система приоритетов, управляющая применением критериев выборки. Если тип событий контроля не задан, то запись не выбирается, независимо от остальных критериев. Аналогично, если определена выборка по времени и запись не удовлетворяет критерию, она не выбирается. Если запись удовлетворяет критерию выбора по типу события и по времени, то она выбирается в том случае, если в ней содержится идентификатор пользователя (регистрационный, эффективный или реальный), идентификатор группы (эффективный или реальный) или объект, заданный в файле выборки. Если никакие пользователи, группы и объекты не заданы, то выполняется выборка только по типу события и по времени.