Протоколирование доступа к БД

Примечание

Механизм протоколирования доступа к БД поддерживается только в СУБД ЛИНТЕР БАСТИОН.

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

Указанные функции выполняет подсистема регистрации событий (аудита), которая позволяет регистрировать следующие события:

  • включение механизмов идентификации и аутентификации;

  • SQL-запросы на доступ к ресурсам БД;

  • создание и удаление объектов БД;

  • действия по изменению правил доступа;

  • все попытки доступа к БД;

  • действия администратора БД.

Все подлежащие регистрации действия записываются в системной таблице $$$AUDIT. Кроме регистрации событий, в эту таблицу может помещаться информация о внутренних кодах завершения СУБД, изменении состояния пользовательских событий, установленных в СУБД и т.д.

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

Доступ к таблице $$$AUDIT имеют только пользователи DBA-категории и только на чтение.

В подсистеме протоколирования СУБД ЛИНТЕР предусмотрено три типа установок:

  1. глобальные: для всех пользователей и объектов БД;

  2. персональные: для конкретных пользователей или объектов БД;

  3. локальные: для конкретных пользователей и объектов БД, то есть установки между конкретными пользователями и конкретными объектами.

Анализ установок проверяются СУБД в порядке их перечисления – глобальные, персональные и локальные. Таким образом, глобальные установки обладают наименьшим приоритетом, локальные – наибольшим.

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

  • системные события (старт/останов/рестарт ядра СУБД, старт/останов подсистемы аудита, регистрация кодов завершения СУБД ЛИНТЕР);

  • события, связанные с изменением схемы БД (создание/удаление объектов БД);

  • события, связанные с подсистемой доступа (создание/изменение/удаление субъектов, привилегий, групп, уровней и т.д.);

  • события, связанные с таблицами БД (выборка, изменение, добавление, удаление строк и т.д.);

  • события, связанные с пользователями (соединение/отсоединение, открытие/закрытие курсоров, завершение транзакций, отказ в доступе и т.д.).