Operating System

Вид материалаРеферат

Содержание


S. Subsystem Events T. Use of Privilege
S. События подсистемы T. Использование привилегий
Подобный материал:
1   2   3   4   5   6   7   8   9   10   ...   36
События контроля

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" и обратно пользуйтесь клавишей пробела. Для перехода от одного элемента к другому используйте клавиши перемещения курсора. Данную маску событий можно модифи­цировать и динамически изменять для текущей сессии контроля и/или записывать в файл параметров для использования в последую­щих сессиях контроля.

.

- 5-29 -

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

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

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

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

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

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

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

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

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

.

- 5-30 -

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

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

Collection/Audit output file switch...

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

Compacted audit output files

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

.

- 5-31 -

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

| (Общее число файлов сбора данных)

|

.

- 5-32 -

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

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

System->Audit->Enable

System->Audit->Disable

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

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

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

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

System->Audit->Files

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

List Вывод списка файлов сессии контроля в системе

Backup Дублирование файлов сессии контроля на резерв-

ном носителе

Delete Удаление файла сессии контроля

Restore Восстановление файлов сессии контроля с ре-

зервного носителя

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

.

- 5-33 -

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

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

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

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

Замечание

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

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

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

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

.

- 5-34 -

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

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

System->Audit->Report

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

List Вывод списка всех доступных файлов выборки

View Просмотр параметров в файле выборки

Create Создание нового файла выборки

Modify Модификация имеющегося файла выборки

Delete Удаление имеющегося файла выборки

Generate Выполнение цикла редукции, с заданием сессии

контроля и файла выборки

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

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

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

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

Для сопровождения файлов выборки используются опции List, View, Create, Modify и Delete. Процедура выборки подробнее об- .

- 5-35 -

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

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

Event types Типы событий

Каждый тип события, который следует отби­рать, помечается буквой "Y". Типы событий, которые нужно исключить из выборки, остают­ся с пробелами или помечаются буквой "N". Если событие не выбрано, то соответствующие ему записи будут удалены из вывода.

Start and Stop times Начальное и конечное время

Если есть подозрение, что в некоторый пери­од времени могло произойти событие, связан­ное с секретностью, то с помощью данной возможности можно выбрать только записи, сгенерированные в этот период. Это поможет сосредоточиться на анализе записей, которые вероятнее всего прояснят происшедшее.

Users/Groups Пользователи/Группы

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

Files Файлы

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

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

При выборке записей действует система приоритетов, управля­ющая применением критериев выборки. Если тип событий контроля не задан, то запись не выбирается, независимо от остальных критери- .

- 5-36 -

ев. Аналогично, если определена выборка по времени и запись не

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

Понятие редукции данных

Опция reduce меню Audit Report имеет важное значение, как и все компоненты, ответственные за генерацию контрольных записей. Эта утилита преобразует уплотненные данные контрольного журнала в организованную и читабельную совокупность записей, позволяющую выявить проблемы в системе. Средства редукции дают возможность сократить время, требуемое для анализа интересующих записей. Вы можете сконцентрироваться на конкретном пользователе, на группе пользователей, имени объекта, типах событий и записях, сгенери­рованных за определенный интервал времени. Все это можно исполь­зовать совместно, что дает мощный механизм для выбора.

Чтобы расшифровать контрольный журнал, нужно понять значе­ние записей, выдаваемых программой. Помните, что контрольные записи исходят из трех источников: системные вызовы, надежные прикладные программы и защищенные подсистемы. Форматы записей для разных источников очень сильно отличаются друг от друга. Бо­лее того, разные системные вызовы сильно отличаются и друг от друга по содержанию, так как выполняют специфические функции. Например, при создании процесса fork(S) нужно указать только идентификатор создаваемого процесса и идентификатор породившего его процесса. А для системного вызова open(S) должны быть запи­саны объект, для которого выполняется операция, и его имя. Для таких системных вызовов, как mount(S) и link(S), должна быть за­писана и другая информация; каждый из них требует записи двух имен объектов. Утилита редукции сортирует представленные ей за­писи и выводит информацию в упорядоченном виде.

Выходные записи можно классифицировать на две категории: записи системных вызовов, выданные механизмом контроля ядра, и контрольные записи прикладных программ. Некоторые элементы счи­таются общими для всех выходных записей. Например, дата и время записи, а также связанный с ней идентификатор процесса выводятся в записи любого типа. В остальном содержимое записи зависит от того, что было под контролем.

Форматы записей системных вызовов

Записи системных вызовов составляют большинство записей в контрольном журнале. В операционной системе имеется более 60 системных вызовов. Не все они подлежат контролю, так как только некоторые системные вызовы считаются связанными с секретностью. Чуть больше половины системных вызовов имеют возможность создать контрольную запись. Некоторые системные вызовы поддерживают по .

- 5-37 -

несколько функций (такие, как fcntl(S), msgsys(S), shmsys(S),

semsys(S)), а контрольные записи могут генерироваться только для

отдельных функций. Например, системный вызов fcntl(S) позволяет

открывать файлы, дублируя дескрипторы открытых файлов, а также

получать специальные флаги файлов, обеспечиваемые ядром. Первый

случай представляет контролируемое событие (сделать объект дос­тупным для субъекта), а второй реально не связан с секретностью. Наконец, системные вызовы могут выполнять функции, которые расс­матриваются как контролируемые события, но в данный момент не разрешены системной маской событий.