Безопасность в SQL Server 2008 - Аудит системы безопасности

ОГЛАВЛЕНИЕ

 

Аудит системы безопасности

Подсистема аудита — это новая функция SQL Server, позволяющая проверять события ядра базы данных и настраивать параметры проверки. Для записи данных аудита используются расширенные события. В подсистеме имеются средства и процессы, которые необходимы для того, чтобы проводить, сохранять и просматривать конфигурации аудита для различных серверов и объектов баз данных.

Подсистема аудита SQL Server работает быстрее, чем функция трассировки, а среда SQL Server Management Studio упрощает создание и контроль журналов аудита. Теперь можно проводить более подробные проверки: отслеживать инструкции SELECT, INSERT, UPDATE, DELETE, REFERENCES и EXECUTE для отдельных пользователей. Более того, подсистема аудита польностью поддерживает инструкции T-SQL CREATE SERVER AUDIT и CREATE SERVER AUDIT SPECIFICATION, а также связанные с ними инструкции ALTER и DROP.

Для настройки аудита необходимо его создать и указать место записи событий. Аудит может храниться в журнале безопасности Windows, в журнале приложений Windows или в любом файле. Вы присваиваете аудиту имя и настраиваете его характеристики, в частности, путь к файлу аудита и его максимальный размер. Также можно настроить аудит так, чтобы в случае сбоя проверки работа SQL Server завершалась. Если события аудита нужно записывать в несколько журналов, создается несколько аудитов.

Следующий этап — создание спецификаций аудита. В спецификации аудита сервера собирается информация об экземпляре SQL Server; в нее включаются объекты, относящиеся к серверу: данные учетных записей, членство в серверных ролях. Там же имеется информация о базе данных, контролируемая в основной базе данных, например сведения о правах доступа к базе. При создании спецификации аудита вы указываете, в какой аудит будут поступать наблюдаемые события. Вы можете создать несколько аудитов сервера и несколько спецификаций аудита, но аудит может иметь только одну активную спецификацию в каждый конкретный момент времени.

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

События подсистемы аудита SQL Server, используемые в спецификациях аудита сервера, объединяются в коллекции связанных событий. Они предоставляются в виде групп действий аудита. Если такую группу добавить в спецификацию аудита, можно будет отслеживать события, включенные в группу. К примеру, существует группа действий аудита DBCC_GROUP, предоставляющая доступ к командам DBCC. Отдельно же команды DBCC включаться в аудит не могут.

Всего существует 35 групп действий аудита сервера, причем некоторые из них тесно связаны друг с другом. Например, группы SUCCESSFUL_LOGIN_GROUP, FAILED_LOGIN_GROUP и LOGOUT_GROUP. Также есть тип действий аудита AUDIT_ CHANGE_GROUP, который можно использовать для проверки самого процесса аудита.

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

Скажем, действие SELECT можно использовать для проверки запросов SELECT, обращенных к отдельной таблице, источником которых является пользователь Mary, или роль FINANCE_DEPT, или роль базы данных Public. Нельзя не отметить, что все это предоставляет широчайшие возможности контроля и дает большой запас гибкости при настройке аудита.