Купить
 
 
Жанр: Учеба

SCO: Пособие администратора системы Unix

страница №10

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) позволяет
открывать файлы, дублируя дескрипторы открытых файлов, а также
получать специальные флаги файлов, обеспечиваемые ядром. Первый
случай представляет контролируемое событие (сделать объект доступным
для субъекта), а второй реально не связан с секретностью.
Наконец, системные вызовы могут выполнять функции, которые рассматриваются
как контролируемые события, но в данный момент не
разрешены системной маской событий.
Вывод записей системных вызовов большей частью одинаков для
всех вызовов. Варианты возникают вследствие того, что некоторые
системные вызовы действуют над объектами (например, open(S)), и
имя объекта содержится в записи. Каждая запись содержит по крайней
мере время, дату, идентификатор процесса, имя системного вызова,
тип события, регистрационный идентификатор пользователя,
реальные идентификаторы пользователя и группы, а также индикатор
успешности или неуспешности вызова.

Каждая выходная запись содержит, наряду с этими основными
информационными полями, и другие, в зависимости от системного
вызова. Базовая запись показана на Рисунке 5-1. Он содержит пример
общего заголовка, а также поля типа события, системного вызова
и результата.

Process ID: 68 Date/Time: Sat Mar 5 13:25:09 1988
Luid: root Euid: root Ruid: root Egid: root Rgid: root
Event type:
System call:
Result:

Рисунок 5-1. Общий заголовок выходной записи

Каждый системный вызов классифицируется по типу системного
события, исходя из выполняемых им действий. Это используется для
описания типа события системного вызова. Предоставляется актуальное
имя системного вызова. В большинстве случаев это однозначно
идентифицирует действие. К сожалению, некоторые системные
вызовы UNIX перегружены: точка входа системного вызова используется
для выполнения множества действий. Например, msgsys() служит
входом системного вызова для операций IPC с очередями сообщений.
Эта точка входа используется для вызова msgget(S),
msgop(S) и msgctl(S), выполняющих определенные функции IPC.
Подобные системные вызовы не являются самоочевидными. Подсистема
контроля осведомлена об этих перегруженных вызовах и
предоставляет дополнительную информацию для идентифицирования
конкретной функции. Для успешных системных вызовов результат определяется
как successful (успешный). Для вызовов, возвращающих
ошибку, эта ошибка используется для дополнительной классификации
записи. Например, вызов open(S), не выполнившийся из-за отсутствия
разрешения, классифицируется как access denial (отказ доступа).
Неудачный системный вызов, генерирующий контрольную запись,
указывает ошибку в поле результата.
- 5-38 -

Выходные записи системных вызовов можно разделить на две
группы. К первой группе относятся записи, в которых не нужно
указывать имена путей. Например, системный вызов fork(S) контролируется
для отслеживания новых процессов, порождаемых в системе,
но контрольная запись не требует имени пути. С другой стороны,
open(S) возвращает дескриптор файла для заданного имени пути.
Последующие операции, такие как close(S), используют этот
дескриптор файла. Чтобы контрольные записи были значимы, этот
второй тип записей должен содержать имя пути. С помощью программы
редукции это имя пути сопоставляется со всеми последующими
действиями, выполняемыми для данного файла, даже если эти действия
выполнялись с дескриптором файла.
В следующей таблице приведены контролируемые системные вызовы,
не содержащие информации об имени пути.

pipe fork kill
setuid setgid exit
read setpgrp msg
sem shm write

Рисунок 5-2. Системные вызовы без имен путей


Список страниц

Закладка в соц.сетях

Купить

☏ Заказ рекламы: +380504468872

© Ассоциация электронных библиотек Украины

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