Один из краеугольных камней инфраструктуры системы безопасности в сервере Oracle Database – контролируемость (accountability): возможность регистрации действий пользователей в системе базы данных. Когда действия происходят (например, пользователь обновляет определенную таблицу), сервер базы данных регистрирует эти события в журнале аудита (audit trails), который может находиться либо в базе данных в специальной таблице AUD$ схемы SYS, либо в специальных файлах операционной системы (ОС). Когда эти данные хранятся в базе данных, они защищаются резервным копированием этой базы, и администратору базы данных легко запрашивать их, используя обычные операторы языка SQL. Однако в этом случае после совершения злонамеренного обновления любой, кто имеет доступ к схеме SYS, потенциально может стереть из журнала аудита соответствующие данные.
Журнал аудита в среде ОС принадлежит владельцу программного обеспечения сервера Oracle, поэтому его хранение в специальных файлах ОС – один из способов защиты от доступа пользователей с привилегиями SYS. Вы можете иметь отдельные учетные записи ОС для администраторов базы данных, которые позволяют им администрировать базу данных и даже они могут иметь привилегии SYSDBA, но эти привилегии не разрешают администраторам удалять или изменять файлы журнала аудита. Использование файлов журнала аудита в файловой системе (с аккуратным разграничением доступа на уровне ОС и базы данных) может удовлетворить требования по безопасности многих организаций.
Другое преимущество журнала аудита в среде ОС заключатся в его доступности, даже если экземпляр сервера базы данных не работает. Неудобство такого журнала состоит в том, что для его интерпретации необходимо анализировать файлы журнала аудита, используя инструменты, подходящие для этой ОС и формата файлов.
В сервере Oracle Database 10g Release 2 функциональные возможности аудита на уровне ОС были расширены – теперь в среде ОС можно создавать файлы журнала аудита в стандартном XML-формате. XML-документы легко распознаваемы, существует много инструментов (работающих во многих ОС) для чтения и форматирования этих документов, поэтому такие журналы аудита легко анализировать. Для облегчения запросов к содержимому этих журналов аудита есть также соответствующий SQL-интерфейс. В этой статье, я покажу, как настраивать журнал аудита в XML-формате и эффективно использовать его.