Oracle DBA Forum  

Вернуться   Oracle DBA Forum > Oracle University Official Study Notes (RUS) > База данных Oracle 10g Администрирование > База данных Oracle 10g Администрирование I

Ответ
 
Опции темы Опции просмотра
  #11  
Старый 24.09.2009, 17:01
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Унифицированный журнал аудита



Унифицированный журнал аудита

Для того, чтобы воспользоваться аудитом прежде всего необходимо установить нединамический параметр AUDIT_TRAIL, указывающий на то, где будут храниться записи аудита. Аудит включается в результате установки этого параметра.
База данных Oracle 10g отслеживает данные стандартного и дифференцированного аудита в похожих полях журналов. Это позволяет проще анализировать действия в базе данных. Журналы стандартного аудита и дифференцированного аудита имеют дополняющие друг другу атрибуты.

Дополнительные данные, собираемые стандартным аудитом, включают:

Системный номер изменения (system change number, SCN), который записывается при каждом изменении в системе.
Точный код SQL, выполненный пользователем, и связанные переменные, использованные в тексте кода SQL. Эти столбцы заполняются только при условии, что AUDIT_TRAIL=DB, EXTENDED.

Дополнительные данные, собираемые дифференцированным аудитом, включают:

Серийный номер каждой записи аудита.
Номер команды, связывающий несколько записей аудита, созданных при выполнении одной и той же команды.

Общие атрибуты включают:

Глобальная временная метка в виде универсального синхронизированного времени (среднее время по Гринвичу, Universal Time Coordinates, UTC). Это поле полезно для мониторинга серверов, располагаемых в различных географических точках и временных зонах.
Номер экземпляра, значение которого уникально для каждого экземпляра Real Application Clusters (RAC).
Идентификатор транзакции, помогающий группировать записи аудита одной и той же транзакции.

Представление DBA_COMMON_AUDIT_TRAIL объединяет строки журналов стандартного и дифференцированного аудита.
__________________
Телеграм чат
Ответить с цитированием
  #12  
Старый 24.09.2009, 17:02
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Страница аудита в Enterprise Manager



Страница аудита в Enterprise Manager

На страницу аудита можно попасть с домашней страницы Database Control, щелкнув на закладке Administration , а затем на ссылке Audit Settings, расположенной в секции Users & Privileges.

Страница аудита содержит следующие секции:

Configuration; показываются текущие значения параметров конфигурации и ссылки для редактирования значений параметров.
Audit Trails; предоставляется удобный доступ к собранным данным аудита.


Для установки и снятия опций аудита используйте следующие закладки:

Audited Privileges; привилегии, за использованием которых ведется наблюдение;
Audited Objects; наблюдаемые объекты;
Audited Statements; команды, за применением которых ведется наблюдение.
__________________
Телеграм чат
Ответить с цитированием
  #13  
Старый 24.09.2009, 17:04
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Варианты задания аудита



Варианты задания аудита

Аудит команд SQL. Команда, приведенная на слайде, вызовет аудит любой команды DDL, связанной с таблицей: CREATE TABLE, DROP TABLE, TRUNCATE TABLE и т.д.

Такой вид аудита можно сфокусировать на конкретном пользователе и удачном (SUCCESSFUL) или неудачном (NOT SUCCESSFUL) завершении операции.

Код:
SQL> AUDIT TABLE BY hr WHENEVER NOT SUCCESSFUL;
Аудит системных привилегий используется для сбора данных об использовании какой-либо системной привилегии (например, DROP ANY TABLE). Он может быть сфокусирован на конкретном пользователе и удачном или неудачном завершении операции. По умолчанию каждое использование системной привилегии генерирует запись аудита. Записи можно группировать таким образом, чтобы только одна запись генерировалась для сеанса (так при изменении пользователем 100 ООО строк в таблице другого пользователя получается только одна запись аудита). Фразу BY SESSION (аудит на уровне сеанса) необходимо задавать, так как по умолчанию действует BY ACCESS (аудит на уровне доступа). Рассмотрите возможность использования аудита на уровне сеанса, чтобы ограничить влияние аудита системных привилегий на производительность и расходование памяти.

Аудит объектных привилегий применяется для наблюдения за операциями с таблицами, представлениями, процедурами, последовательностями, объектами directory и пользовательскими типами данных. Такой аудит может быть сфокусирован на удачных или неудачных операциях и фиксироваться на уровне сеанса или каждого обращения. В отличие от аудита системных привилегий по умолчанию действует аудит на уровне сеанса. Если необходимо получить в журнале записи по каждому использованию объекта, следует указывать фразу BY ACCESS.
__________________
Телеграм чат

Последний раз редактировалось Marley; 24.09.2009 в 17:10.
Ответить с цитированием
  #14  
Старый 24.09.2009, 17:11
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Использование и сопровождение информации аудита



Использование и сопровождение информации аудита

Подсказка по наилучшему практическому использованию: поскольку аудит увеличивает системную нагрузку, отключите все, что не используется.
__________________
Телеграм чат
Ответить с цитированием
  #15  
Старый 24.09.2009, 17:13
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Аудит по значениям



Аудит по значениям

Аудит базы данных не может регистрировать значения столбцов для операций вставки, изменения и удаления при выполнении аудита объектов. Аудит по значениям (value-based auditing) расширяет аудит базы данных, отслеживая изменения фактических значений. Такой аудит может быть выполнен с помощью триггеров базы данных (срабатывающие по событиям конструкции PL/SQL).

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

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



Аудит, выполняемый в триггере, сфокусирован на перехвате изменений оклада в таблице hr . employees. Когда строка изменяется, триггер проверяет значение столбца salary.

Если старое значение не совпадает с новым, триггер вставляет запись аудита в таблицу audit_employees (созданную ранее отдельной операцией в схеме SYSTEM).

Запись аудита включает имя пользователя, адрес IP компьютера клиента, с которого были произведены изменения, главный ключ, однозначно определяющий измененную строку, и значения старого и нового окладов.

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

- адрес IP, с которого подсоединился пользователь;
- первые 48 символов имени программы, используемой для соединения пользователя с экземпляром;
- наименование терминала, используемого для соединения с экземпляром.

Полный список параметров пользователя см. в разделе "SYSCONTEXT" документа Oracle Database SQL Reference.
__________________
Телеграм чат
Ответить с цитированием
  #16  
Старый 24.09.2009, 17:19
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Дифференцированный аудит



Дифференцированный аудит

Аудит БД фиксирует только операцию, но не всегда сохраняет информацию о команде. Дифференцированный аудит (fine grained auditing - FGA) позволяет регистрировать команды запросов и манипулирования данных языка SQL. FGA - это наиболее точно сфокусированный вид аудита по сравнению с аудитом по значениям и стандартным аудитом БД.

Параметры FGA позволяют сфокусироваться на отдельных столбцах таблицы или представления, задать условия (определяемые администратором спецификации) выполнения аудита. Политика FGA может быть определена на основе нескольких столбцов. По умолчанию аудит выполняется, когда команда SQL содержит любой из наблюдаемых столбцов (audit_column_opts = DBMS_FGA . ANY_COLUMNS). Можно также определить аудит, регистрирующий действие, если команда SQL содержит все наблюдаемые столбцы (audit_column_opts = DBMS_FGA. ALL_COLUMNS).

Используйте пакет PL/SQL DBMSFGA, чтобы создать политику аудита (audit policy) для таблицы или представления. Когда строки блока запроса содержат наблюдаемые столбцы и удовлетворяют условиям аудита, срабатывает событие аудита, в результате которого создается и сохраняется в журнале строка аудита. Дополнительно событие аудита может вызвать выполнение процедуры. FGA автоматически фокусируется на уровне команды, поэтому одна команда SELECT, возвращающая тысячи строк генерирует только одну запись аудита.
__________________
Телеграм чат
Ответить с цитированием
  #17  
Старый 24.09.2009, 17:20
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Политика FGA



Политика FGA

Пример на слайде показывает политику FGA, созданную с помощью процедуры DBMS_FGA. ADD_POLIC, которая имеет следующие аргументы:


Policy Name (наименование политики)
Каждой политике FGA, когда она создается, присваивается имя. В примере на слайде это ИМЯ - AUDIT_EMPS_SALARY:
policy_name => 'audit_emps_salary'


Audit Condition (условия аудита)
Условие аудита - это предикат на SQL, определяющий, когда срабатывает событие аудита. В примере на слайде ведется наблюдение за всеми строками отдела продаж (sales), номер которого 10:
audit_condition => department_id = 10'


Statement Туре (тип команды)
Аудит можно вести за командой SELECT или же за заданными списком командами INSERT,UPDATE, DELETE.


Audit Column (наблюдаемые столбцы)
Параметр audit_column указывает, за какими данными ведется наблюдения. Событие аудита происходит, когда столбец входит в команду SELECT или условие аудита допускает выборку наблюдаемых данных. В примере на слайде определяется аудит двух столбцов:

audit_column => 'SALARY, COMMISION_PCT'
Этот аргумент необязательный. Если он не задан, только AUDIT_CONDITION определяет условие срабатывания события аудита.

Объект
Объектом аудита может быть таблица или представление. Он определяется с помощью двух аргументов:

схема, содержащая объект;
имя объекта.

В примере на слайде задается аудит таблицы hr . employees: object_schema => 'hr' object__name => 'employees'


Обработчик
Необязательная PL/SQL-процедура обрабатывает событие и выполняет дополнительные действия в ходе аудита. Например, обработчик события может послать сигнальное сообщение администратору. Когда обработчик не задан, только запись о событии аудита вставляется в журнал аудита. Когда же обработчик задан, кроме вставки записи о событии аудита выполняется обработчик события.
Запись (вход; entry) события аудита содержит название политики, имя пользователя, выполнившего команду SQL, а также саму команду SQL и ее связанные переменные.

Обработчик событий определяется двумя аргументами:

схема, содержащая программную единицу PL/SQL;
имя программной единицы PL/SQL.


Пример на слайде содержит описание процедуры SECURE.LOG_EMPS_SALARY в качестве обработчика прерываний:

handler_schema => 'secure'
handler_module => 'log_emps_salary'


По умолчанию информация о тексте и связанных переменных SQL (SQL_TEXT и SQL_BIND) всегда пишется в журнал в столбцы с типом LOB. Поведение по умолчанию может быть изменено (например, если в системе наблюдается деградация производительности).


Статус
Статус определяет, включена ли политика FGA. Пример:
enable => TRUE
__________________
Телеграм чат

Последний раз редактировалось Marley; 24.09.2009 в 17:23.
Ответить с цитированием
  #18  
Старый 24.09.2009, 17:24
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Указания по аудиту команд DML



Указания по аудиту команд DML

В соответствие с определенной для команд DML политикой FGA аудит регистрирует команду DML, когда обрабатываемые строки (как старые, так и новые) удовлетворяют условию, заданному в предикате политики.

Однако, если в политике определены также наблюдаемые столбцы, аудит регистрирует команду, если данные удовлетворяют условию, заданному в предикате политики FGA и если в команде есть ссылки на наблюдаемые столбцы.

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

FGA позволяет вести наблюдение за командами MERGE. При выполнении такого аудита регистрируются базовые команды INSERT и UPDATE, когда они удовлетворяют политикам FGA, определенным для команд INSERT или UPDATE.

Если политику FGA, приведенную на предыдущем слайде, переопределить для команды UPDATE, тогда первая из приведенных выше команд будет регистрироваться аудитом, а вторая нет.
__________________
Телеграм чат
Ответить с цитированием
  #19  
Старый 24.09.2009, 17:24
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Указания по использованию FGA



Указания по использованию FGA

При использовании FGA для наблюдения за командами SELECT регистрируется сама команда, но не фактически выбираемые строки. Однако, используя совместно FGA и Flashback Query, можно воспроизвести строки в том виде, в котором они существовали в момент выборки данных.

Дополнительные сведения о Flashback Query см. в уроке "Флэшбэк".

Дополнительные сведения о пакете DBMSFGA см. в документе Oracle Database, PL/SQL
Packages and Types Reference.
__________________
Телеграм чат
Ответить с цитированием
  #20  
Старый 24.09.2009, 17:26
Marley Marley вне форума
Senior Member
 
Регистрация: 19.09.2009
Сообщений: 7,211
По умолчанию Аудит АБД



Аудит АБД

Привилегии SYSDBA и SYSOPER позволяют пользователю запускать и останавливать базу данных. Поскольку эти привилегии могут использоваться при закрытой базе данных, журнал аудита должен храниться вне базы данных. Oracle автоматически регистрирует установление соединений с привилегиями SYSDBA и SYSOPER. Такой метод отслеживания санкционированных и несанкционированных действий с привилегиями SYSDBA и SYSOPER может предоставить полезные сведения, но только, если просматривать журнал аудита в ОС.

База данных не регистрирует ничего кроме событий входа в систему, если только аудит не включен специально. Для включения аудита пользователей с привилегиями SYSDBA и SYSOPER устанавливается параметр инициализации:

audit_sys_operations=TRUE (по умолчанию FALSE.)

Когда ведется аудит операций пользователя SYS, параметр инициализации audit_filewdest контролирует месторасположение записей аудита. На платформе Windows журнал аудита по умолчанию располагается в журнале событий (event log) Windows. На платформах UNIX и Linux записи аудита сохраняются в $ORACLE HOME/rdbms/audit.
__________________
Телеграм чат
Ответить с цитированием
Ответ
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход


Текущее время: 08:16. Часовой пояс GMT +3.


Powered by vBulletin®