Техническая статья по SQL Server

Автор: Il-Sung Lee, Art Rask

Технические рецензенты: Jack Richins, Rick Byham, Sameer Tejani, Al Comeau, JC Cannon

Опубликовано: февраль 2009

Применимо к: SQL Server 2008

 Предложенная статья является машинным переводом оригинала (http://msdn.microsoft.com/en-us/library/dd392015(SQL.100).aspx).

Резюме: В SQL Server 2008 появляется SQL Server Audit - новая важная функциональность, обеспечивающая аудит на предприятиях. В то время как SQL Trace также может использоваться для аудита, SQL Server Audit предлагает ряд преимуществ, который могут помочь администраторам БД легче достичь их целей, таких как соответствие регулирующим требованиям. К таким требованиям могут относиться: возможность централизованного хранения журналов аудита и интеграция с System Center, также как и заметно улучшенная производительность.Возможно наиболее значимой функцией является возможность SQL Server Audit проводить узконаправленный аудит, например аудит определенных действий пользователя над определенных объектом. Этот документ представляет полное описание новой возможности, как ее использовать и несколько практических примеров.

Введение

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

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

  • Европейский союз директива по защите данных, политики защиты строгого данных с последствиями через ЕС и глобальной экономики.
  • HIPAA, или медицинского страхования и Закон об ответственности, частью законодательства Соединенных Штатов Америки
  • Сарбейнса-Оксли, частью Соединенных Штатов право, регулирующее корпораций.
  • Стандарт платежных карт данных безопасности, санкционированные основные кредитные карточки компаний, имеющих глобальные последствия.

Эти официальные правила влияют на организаций всех размеров, во всех отраслях промышленности во всем мире. Они оказывают значительное д��вление на организаций д��я ��беспечения их ИТ-платформ и практика являются совмес��имыми. И в конечном счете, эти требования приземлиться на ноги из администраторов, разработчиков и ИТ-специалистов управления данными.

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

Этот документ будет рассматривать новые возможности аудита SQL Server 2008, сравнить их с прошлых версий и ходить через некоторые примеры реализации.

Аудит в SQL Server 2005

В SQL Server 2005 и более ранних версий аудит был реализован с помощью комбинации инструментов. На уровеньсервера параметры, доступные для журнал успешных и/или неудачного входа в журнале приложений в операционной системе Windows ® и в журнал ошибок SQL Server . Триггеры входа, триггеры сервера и триггеры DDL были доступны для пользовательского аудита конкретные типы событий. средство выбора для подробного деятельности ревизоров, однако, был трассировка SQL. трассировка SQL — это механизм для мониторинга широкого диапазон событий внутренней к компоненту database engine SQL Server . Он используется для обнаружения взаимоблокировки, мониторинг производительности приложения, отладка и многие другие разработки или административных целей. Это полезно как аудиторский средство , поскольку она может захватить отдельных заявлений, поскольку они выполняются, в том числе идентификатор пользователя.

трассировка SQL имеет ограничения как аудиторские средство, хотя. Настройка и управление следы требует использования отдельное средство, SQL Server Profiler. Это средство любимое многими разработчиками и администраторами, но он не интегрирован с SQL Server Management Studio, главный SQL Server административный интерфейс. И его интерфейс не ориентирована на конкретную задачу создания и управления информацией ревизий. На уровеньязыка Transact-SQL следы настраиваются набор системных хранимых процедур, которые непрозрачным числовые коды как аргументы – не самые приглашения управления интерфейсов API.

Функциональные возможности трассировки в SQL Server 2005 доступен также программно через сервер управления объектов (SMO). Однако классов трассировка SMO зависят файлы определения двоичных трассировка (.tdf), автором SQL Server Profiler, поэтому они не служат действительно автономного API для управления аудита сервера.

И наконец потому что трассировка SQL является многоцелевой средство, она не всегда легко ответить на вопросы, аудитор будет заботиться о. При использовании аудиторский средство, трассировка SQL захватывает инструкции. Но это не обязательно с первого взгляда какую информацию пользователю чтение или изменение. Заявления могут ссылаться на представления, хранимые процедуры или определяемые пользователем функции, в этом вариант дальнейший анализ требуется, когда реальный вопрос "кто читать данные из этой таблица?"

Все средства, описанные выше остаются в SQL Server 2008, и они будут продолжать быть полезны для широкого круга потребностей. Но SQL Server 2008 приносит новый, более целенаправленный характер, и более глубоко интегрированы аудита возможности для таблица.

Аудит в SQL Server 2008

SQL Server 2008 Enterprise расширяет возможности аудита сервера путем введения родной аудита функциональность в компонент database engine. Новая функция аудита SQL Server поддерживает все возможности аудита решений SQL Server 2005 и обеспечивает усовершенствования например, гибкость в цели данных аудита и детализированного аудита.

Обзор

Функцию аудита SQL Server в SQL Server 2008 предназначен для замены трассировка SQL как предпочтительного решения а��дита. SQL Server Аудит призван обеспечить полный аудит возможностей и только аудита возможности, в отличие от ��рассировка SQL , который также служит для отладки производительности. В результате аудита SQL Server был разработан с учетом следующих основных целей:

  • Безопасность – функцию аудита и его объекты, должны быть действительно безопасными.
  • Производительность - производительность, последствия должны быть сведены к минимуму.
  • Управление – функцию аудита должны быть легко управлять.
  • Доступность - аудит центре вопросы должны быть легко ответить.

В последующих разделах, как реализуется каждой из этих целей проектирования.

Как упоминалось ранее, аудита SQL Server теперь обитает на сервер. Это дает новые возможности аудита SQL Server преимущества производительности и позволяет объектам аудита следует рассматривать как объекты первого класса базы данных. Будучи первым классом объекта означает, что проверка объектов могут быть созданы и манипулировать DDL-инструкции Transact-SQL (или через SQL Server Management Studio), если вы предпочитаете. Кроме того объекты ревизии будет обеспечиваться через модель знаком разрешения базы данных.

Когда создается объект аудита, назначение для события аудита должен быть указан. Типичная цель — это файл, который является вероятно подходящим для большинства случаев. Однако в SQL Server 2008, аудит событий также могут быть написаны в журнал приложений Windows. Это облегчает доступ к информации аудита в некоторых ситуациях и может позволить консолидации с помощью приложения управления. Кроме того сознавая безопасности будут рады узнать, что в журнал безопасности Windows могут быть указаны как ориентир для аудита (начиная с операционной системы Windows Server ® 2003). Это имеет важное значение в том, что в журнал безопасности Windows считается устойчивы к фальсификации и неотрекаемость. Еще одно преимущество использования журнала безопасности является, что ревизии службы по коллекции (АКГ) от Microsoft System Center Operations Manager может использоваться для безопасного сбора аудита от журналы безопасности нескольких машин и создавать сводные доклады.

Точка окончательное, но важно, упомянуть о аудита SQL Server в SQL Server 2008 — гранулярности, на котором можно задать аудит. Аудит активности пользователей, ролей или групп на объекты базы данных может быть ограничен доуровень таблица.  То есть можно задать аудит SQL Server для отслеживания конкретных мероприятий пользователя или пользователей до отдельной таблица уровень. К примеру, аудит SQL Server позволяет запись, чтобы быть изготовлены из всех обновлений для заработной платы таблица DBO.

Безопасность

Аудит является центральным компонентом стратегии обеспечения безопасности базы данных и как таковая сама функция аудита SQL Server должна быть безопасной и защищаемого объекта. Потому что это объект базы данных, привилегии для создания, изменить или удалить аудит объект управляется компонент database engine разрешение модель и правоохранительных орга��ов управления. Функцию аудита SQL Server вводит новый сервер -уровень разрешений под названием ALTER ANY SERVER AUDIT разрешить участника, чтобы создать, изменить или удалить объект аудита или спецификации аудита сервера. Кроме того разрешенияуровень базы данных - под названием ALTER ANY DATABASE AUDIT вводится разрешить участника, чтобы создать, изменить или удалить объект спецификации аудита базы данных. Спецификация аудита можно кратко охарактеризовать как объект, который описывает деятельность захватить в ревизии (более подробное описание содержится в настоящем документе).

Журнал аудита является очевидно еще один актив, который нуждается в защите. Должны быть должным о месте, куда отправлять данные аудита. В идеале данные аудита должны направляться в место, не могут быть изменены или подделаны, даже на системный администратор. Простой стратегии для этого необходимо отправить события аудита в файл в общей папке, к которой учетная записьслужба SQL Serverтолько имеет доступ на запись.  Человек в качестве ревизора явно потребуется доступ на чтение к этот файл, но никто. Кроме того, если доля находится на другом компьютере, это можно получить защиту от Windows администратора ( SQL Server , а, хотя есть очевидно, некоторые производительности соображений и подверженности перебоев в работе сети. Другим вариантом является журнал безопасности Windows. Это хороший выбор для кого-то, кто хочет хранить журнал аудита SQL Server локально, но хочет защиту от sysadmin и даже локального администратора Windows. Один последний момент – SQL Server не шифрует или иным образом защищены в журнал аудита. Таки�� дополнительные уровни защиты может применяться, разумеется, через разнообразные средства, внешними по отношению к SQL Server, такие как системой шифрованиефайлов.

Если, по какой причине, аудита SQL Server удалось записать его события аудита в цель аудита, можно настроить объект аудита выключения сервера экземпляр. Хотя завершение работы сервера экземпляр может показаться резким, это необходимость для некоторых сценариев, таких как отвечающие требованиям Common Criteria для обеспечения что сервер не может функционировать без своей деятельности проверяемой. Чтобы настроить аудит вести себя таким образом, лицо, выдача CREATE или ALTER аудита DDL должно быть дополнительно предусмотрено разрешение server завершения работы сервера. Если сервер не может запустить из-за аудит SQL Server , это позволяет воспитывать на сервере, запустив SQL Server с флагатрассировка ;   SQL Server Аудит, само по себе не будут отключены и будет отключен только поведение при завершении работы. Обратите внимание, что начинает SQL Server в однопользовательском режиме и призвана позволить DBA для запуска базы данных и при необходимости внесите изменения аудита SQL Server конфигурация . Кроме того -fфлагатрассировка может использоваться для запуска SQL Server в режиме минимальной конфигурация , в этом вариант будет отключить аудит но DDL ревизии по-прежнему может быть выдан.  На практике должно быть достаточно для большинства случаев, которые требуют аудита SQL служить реконфигурации.

Если неспособность запи в режиме минимальной конфигурация , в этом вариант будет отключить аудит но си аудита событие не вызываетэкземпляр SQL Serverзакрыть, что происходит с записи аудита?  Ответ заключается, что события аудита буферизуется в памяти до тех пор, пока они могут быть сброшены к цели. Если записи заполнить буфер памяти и не могут быть записаны в журнал аудита, сервер блокирует любой новой деятельности, которые привели бы к аудита событие , записываемых до тех пор, пока буферное пространство освобождается вверх или аудит отключен. Меняется размер буфера памяти, но это примерно 4 МБ на аудит по умолчанию вариант, которое может вместить по крайней мере 170 события аудита (точное число зависит от объема данных, содержащихся в каждом /spanсобытие). Если эта проблема не является правильным до того, как операционная система возвращает сообщение об ошибке, такие, как отказ записи на диск, аудит сеанс находится в автономном режиме с соответствующей ошибка, в журнал ошибок сервера; отменяются все события аудита буферизованный и новые. После исправления проблемы объект аудита необходимо будет перезапустить в целях аудита возобновить. Если записи потеряны аудита являются неприемлемыми, аудит должен быть настроен на закрыты, а не продолжать после сбоя записи. Для обеспечения жесткой синхронность между событий, зафиксированных в журнале аудита и активности на сервере, можно настроить аудит SQL Server для записи аудита в журнале в режиме синхронного означает, что сделки блокируются до тех пор, пока это событие записывается до места назначение. К��мпромисс здесь, очевидно, что негативно может сказаться на производительности. В большинстве ситуаций, асинхронные аудита журнала записи рекомендуется. Как указывается ниже, можно настроить количество времени, прежде чем запись происходят; увеличение значения времени от установленного по умолчанию в одну секунду может улучшить производительность сервера.

Один последний момент подчеркнуть является отразить любые изменения состояния сам объект аудита сервера в его журнал аудита. Это недостатком трассировка SQL, и это является важным элеме��том, потому что он потенциально может захватить любые попытки обойти аудит. Если предположить, что события аудита отправляются целевой объект, который не может быть изменен учетной записьюслужба SQL Server, эта функция может эффективно защитить журнал аудита от DBA.  Кроме того можно настроить аудит SQL Server для регистрации изменений для всех объектов аудита в пределах экземпляр, не только непосредственных server audit объект (это можно сделать путем добавления AUDIT_CHANGE_GROUP в спецификацию аудита сервера; Это станет более ясным позже в этом документе).

Производительность

SQL Server 2008 представляет новую инфраструктуру высокой производительности событий под названием SQL Server расширенных событий. Функция аудита SQL Server построен на вершине расширенных событий leverage преимущества производитель��ости и возможности как асинхронные и синхронные записи (по умолчанию, использует модель асинхронных событий аудита SQL Server ). Одна вещь, чтобы отметить, что является аудита событие защищенный ти�� события, продлил поэтому команды CREATE/ALTER/падение сессии события не могут использоваться непосредственно манипулировать аудита SQL Server . Для получения дополнительных сведений о расширенных событий см SQL Server электронной документации.

По умолчанию события аудита записываются в цель аудита в асинхронной моды для повышения производительности. Когда требуются более жесткие гарантии записи аудита, записываемых в журнал аудита, вы можете выбрать синхронной записи, при том понимании, что некоторое количество снижение производительности следует ожидать (точное количество зависит от объема и видов производства созданы записи аудита). Выбор асинхронный или синхронный контролируется QUEUE_DELAY возможность создания аудита DDL (описано ниже); по умолчанию значение равно 1000, который указывает, что аудит SQL Server будет очереди запись аудита до одной секунды перед записью на цели. Если позволяют допуски, вы можете набор это значение для большего числа, которые могут увеличить производительность; компромисс, что деятельность, заносимые в журнал может быть более синхронизирован с активности базы фактических данных и существует более потенциал для утраченных записей, если возникает неустранимая ошибка на сервере. Для включения синхронное ведение журнала аудита SQL Server , набор QUEUE_DELAY в значение 0 (ноль).

Целевые аудита может также помочь свести к минимуму влияние на производительность. Очевидным стратегия заключается в том, чтобы ограничить аудит в точный набор действий интерес и ничего более. Политик аудита возможности аудита SQL Server позволяют аудита настраивается таким образом, чтобы она ориентирована на конкретные действия, директоров школ и объектов (вплоть до отдельной таблица уровень). В результате ресурсы не теряется, генерации нежелательных аудита. Это в отличие от трассировка SQL, который обычно создает много записей и опирается на post-filtering для обеспечения целенаправленного аудита.

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

Управление

Возможности аудита SQL Server 2008 полностью управляемы, с использованием интерфейсов управления основной продукт, специально SQL Server Management Studio, сервер объектов управления (SMO) и Transact-SQL DDL.

В SQL Server Management Studio, аудита на уровень сервера конфигурация доступна в пользовательский интерфейс под папку бе��опасность. Две соответствующие подпапки являются ревизий и спецификации аудита сервера. База данных - аудитауровень конфигурация доступен в папке безопасности каждой базы данных, в подпапке спецификация аудита базы данных.

В отличие от предыдущих версий аудит конфигурация может полностью управляться программно через SMO, используя объекты в пространстве имен Microsoft.SqlServer.Management.SMO.

И наконец вместо того, чтобы системные хранимые процедуры, используемые для настройки трассировка SQL, аудита SQL Server использует ясно синтаксис SQL DDL для создания, управления и обеспечения ревизии.

Доступность

Данные аудита могут быть написаны в двоичном файле или в журнале событий Windows (приложение или безопасности). При записи в файл, данные аудита доступен через встроенные таблица-стоимостью функция, которая позволяет использовать синтаксис регулярного SELECT запрос журнала аудита. События записываются в журнал событий могут быть доступны в окне просмотра событий или с программным обеспечением управления специализированного журнала событий, таких как Microsoft систем Center Operations Manager. Доступ и анализировать данные аудита обсуждается более подробно далее в этом документе.

Значение аудита данных

Помимо надежной инфраструктуры для сбора данных аудита, SQL Server 2008 упрощает для удовлетворения потребностей конкретных аудита. Записи аудита регистрируются на основе проверки разрешений на объекты базы данных. Это означает, например, что инструкция SELECT для таблица a записывается как таковые, независимо от ли фактического оператора SQL ссылается таблица a, представления, хранимой процедуры или другого объекта.

Кроме того, SQL Server 2008 позволяет гранулированных определение критериев ревизии. Проверок можно ограничивается областью отдельных т��блиц, с конкретными действиями язык DML (например, удалить vs. Выбор) и конкретных участников. Эта гранулярности может уменьшить объем данных аудита, которые необходимо хранить и проанализированы для удовлетворения конкретных набор требований.

Технический обзор аудита

Чтобы понять установки и управления аудита в SQL Server 2008, то лучше начать с трех основных объектов, описывающих ревизий.

Server Audit объект описывает мишенью для данных аудита, а также некоторые топ -уровеньпараметрыконфигурация .  Подумайте о объект аудита сервера как объявление аудита приемник, или назначение. Это назначение может быть файл, журнал приложений Windows или журнал безопасности Windows. Допустимые задержки записи событий для назначение можно также настроить на этот объект. К сведению, что объект аудита сервера содержит никакой информации о том, что в настоящее время проверенные – просто где происходит данные аудита. Несколько объектов аудита сервера могут определяться с каждым конкретным объектом, указанным и оперативной независимо друг от друга.

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

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

Взаимодействие этих объектов для определения общего режима аудита изображен на рисунке 1 ниже.

Все отношения между объектами на рисунке 1, являются необязательными. Конечно без минимум один серв��р аудита и одна спецификация (сервера или базы данных), аудита не могут производить какие-либо данные. Все из этих объектов – аудита сервера, спецификации аудита сервера и спецификации аудита базы данных – может полностью управляться с DDL, SQL Server Management Studio административный интерфейс, или SMO.

Давайте просверлить вниз на подробные сведения о каждой из этих частей определения аудита.

 

Рисунок 1: размещением объектов аудита

Аудит сервера

Аудит сервера создаются с инструкцию создания аудита сервера. Помимо имя самое главное, указанный при создании аудита сервера является назначение для данных аудита. В SQL Server 2008, доступные назначения — это двоичный файл, журнал приложений Windows и в журнал безопасности Windows (конкретные – обсуждены позже – требуются разрешения учетной записислужба SQL Serverдля записи в журнал безопасности).  Для назначения файл, пользователь должен предоставить по крайней мере, путь к файлу и, при необходимости, максимальный размер и максимальное количество файлов продолжения. ИменаSQL Server аудита файлов автоматически, по следующей схеме:

<audit_name> _ <audit_guid> _nn_ <timestamp_as_bigint> .sqlaudit

Когда файл активного аудита достигает заданного максимального размера, то он автоматически откатывается в новый файл. Этот процесс продолжается вплоть до максимального количества файлов продолжения, указанный в аргументе MAX_ROLLOVER_FILES. Когда или если достигнуто максимальное количество файлов продолжения, SQL Server начинает удаление существующего файла аудита для каждого нового создан, начиная с древнейших первым. Обратите внимание, что если по какой-либо причине происходит сбой операции удаления, ревизии молча продолжается.

При необходимости проверки можно зарезервировать максимальная дискового пространства на старте. Естественно учетная записьслужба SQL Serverдолжны иметь разрешения на запись в папке назначение .

Для обеспечения контроля над компромиссы безопасности производительности, очереди задержки может быть настроена на аудита сервера. Если это значение равно 0, записи аудита записываются с��нхронно с действие , которая их создавала. Кроме того можно указать очереди задержки в миллисекундах, чтобы уменьшить влияние на производительность при нагрузке. Минимальная задержка составляет 1000 миллисекунд (по умолчанию).

Чтобы отвечать самым строгим требованиям безопасности, аудита сервера при необходимости можно настроить таким образом, чтобы SQL Server будет отключен, если происходит сбой проверки. Например, если назначение диск для журнала аудита становится недоступным, SQL Server выключается и может быть перезапущен вручную с заставок команда параметра коренной причиной остановки исправляется.

По умолчанию аудит сервера создаются в отключенном состоянии. Это может быть переопределено в DDL, таким образом, чтобы проверка включена немедленно. Однако, в большинстве случаев, администраторы захотят полностью настроить аудит перед включением его.

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

В следующем примере DDL показывает создание аудита с именем PCI_Audit, который будет записывать в файл без задержек и сервер закрыт в событие сбоя для записи в файл.

 

Создание PCI_Audit аудита сервера

ФАЙЛ (FILEPATH = «F:\AuditLogs\», MAXSIZE = 1 ГБ, MAX_ROLLOVER_FILES = 80)

С (QUEUE_DELAY = 0, ON_FAILURE = ЗАВЕРШЕНИЕ РАБОТЫ)

 

Этот аудит сnbsp; Ответ заключается, что события аудита буферизуется в памяти до тех пор, пока они могут быть сброшены к цели. Если записи заполнить буфер памяти и не могут быть записаны в журнал аудита, сервер блокирует любой новой деятельности, которые привели бы к аудита событие , записываемых до тех пор, пока буферное пространство освобождается вверх или аудит отключен. Меняется размер буфера памяти, но это примерно 4 МБ на аудит по умолчанию вариант, которое может вместить по крайней мере 170 события аудита (точное число зависит от объема данных, содержащихся в каждом событие). Если эта проблема не является правильным до того, как операционная система возвращает сообщение об ошибке, такие, как отказ записи на диск, аудит сеанс находится в автономном режиме с соответствующей ошибка, в журнал ошибок сервера; отменяются все события аудита буферизованный и новые. После исправления проблемы объект аудита необходимо будет перезапустить в целях аудита возобновить. Если записи потеряны аудита яa name=вляются неприемлемыми, аудит должен быть настроен на закрыты, а не продолжать после сбоя записи. Для обеспечения жесткой синхронность между событий, зафиксированных в журнале аудита и активности на сервере, можно настроить аудит 449ервера отключена первоначально.

Аудит сервера могут быть изменены после создания с помощью инструкции ALTER SERVER AUDIT. В следующем примере изменяется назначение в журнал приложений Windows и расслабляет параметры очереди задержки и неудачи.

 

ALTER PCI_Audit аудита сервера

ДЛЯ APPLICATION_LOG

С (QUEUE_DELAY = 1000, ON_FAILURE = ПРОДОЛЖИТЬ)

 

Оператор ALTER SERVER AUDIT также используется для включения или выключения аудита сервера.

 

ALTER PCI_Audit аудита сервера

С (СОСТОЯНИЕ = ON)

 

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

В SQL Server Management Studio сервер проверки создаются и управляются в папке ревизий, который находится под папку безопасность сервера -уровень .

 

Рисунок 2: создание аудита в SQL Server Management Studio

Разрешения

Действия аудита сервера (CREATE, ALTER или DROP) требуется разрешение ALTER ANY SERVER AUDIT, которая охватывается разрешение CONTROL SERVER.

Запись в журнал безопасности Windows

Записи безопасности Windows журнал заслуживает особого упоминания, потому что есть некоторые дополнительные соображения, принимать во внимание. Так как запись в журнал безопасности Windows — это очень привилегированная операция, учетной записислужба SQL Serverдолжна быть предоставл��на привилегия SeAuditPrivilege (также известный как "генерировать безопасности Аудит").  Это может быть достигнуто Хотя локальная политика безопасности средство (secpol.msc). Прост�� добавьте учетную запись служба для LocalPolicies/пользователя прав назначения/создание аудитов безопасности.

Кроме того гранулярность политики аудита для Windows должен быть изменен до того, как SQL Server записи могут записываться. В Windows Server 2003, использовать средство политики безопасности для изменения местные политики/Аудит доступа К объектам аудита политики установка; «Успех» и «Отказ» должна быть включена. Операционной системы на Windows Vista ® и Windows Server 2008, используйте командной строки auditpol средство и выдать команду auditpol /набор /subcategory: "Создано приложением" /success:enable /failure:enable. Пожалуйста, обратите внимание, что в некоторых средах домен политики домен может переопределить эти параметры, и в этом вариантпотребуется помощь от администратора домена. Пользователи, установившие SQL Server 2008 Developer на компьютер Windows XP не будет возможность записи данные аудита в журнал безопасности Windows, потому что эта возможность не поддерживается операционной системой.

Спецификация аудита сервера

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

Основное содержание спецификацию аудита сервера — список групп действие , которые он будет аудита. Действий, подлежащих аудиту, собираются в группы и крышку сервера -уровень деятельности такие, как изменения конфигурация сервера и входа/выхода. Эти группы являются hardwired, и подробно описаны в документации SQL Server .

Следующая инструкция создает спецификацию аудита сервера для отслеживания резервного копирования /восстановление события, SQL Server служба начинается и останавливается и изменения в состав роли сервера.

 

Создание PCI_Server_Mgmt_Spec спецификации аудита сервера

ДЛЯ PCI_Audit аудита сервера

  ДОБАВЛЕНИЕ (BACKUP_RESTORE_GROUP),

  ДОБАВЛЕНИЕ (SERVER_STATE_CHANGE_GROUP),

  ДОБАВЛЕНИЕ (SERVER_ROLE_MEMBERSHIP_CHANGE_GROUP)

С (СОСТОЯНИЕ = OFF)

 

Спецификации аудита сервера может быть переведена на другой сервер аудита после того, как они создаются с помощью инструкции ALTER спецификация аудита сервера. Это заявление также позволяет список проверенных действие групп необходимо изменить, и государство обязано быть свернут или развернут между включен (ON) и отключен (OFF).

В следующем примере добавляется группа действие в спецификации, созданный в предыдущей инструкции.

 

ИЗМЕНИТЬ PCI_Server_Mgmt_Spec спецификации аудита сервера

  ДОБАВЛЕНИЕ (SERVER_PRINCIPAL_CHANGE_GROUP)

 

Изменения в состояние аудита (включен или выключен) могут быть сделаны только вне область транзакции. Кроме того если инструкцию ALTER аудита сервера изменяет состояние от на значение OFF, он может не включать какие-либо другие изменения в той же инструкции.

В SQL Server Management Studio спецификации аудита сервера создаются и управляются в спецификации аудита сервера папку, расположенную в папке сервера -уровень безопасности.

Разрешения

Действия на спецификации аудита сервера (CREATE, ALTER или DROP) требуется разрешение ALTER ANY SERVER AUDIT, которая охватывается сервера управления.

Спецификация аудита базы данных

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

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

 

Создание PCI_Txn_Database_Spec спецификации аудита базы данных

ДЛЯ PCI_Audit аудита сервера

  ДОБАВЛЕНИЕ (DATABASE_OBJECT_PERMISSION_CHANGE_GROUP),

  ADD (выберите ON dbo.Клиент BY dbo),

  ADD (Вставка на dbo.Клиент BY dbo),

  Установка (обновление ON dbo.Клиент BY dbo),

  ADD (удалить ON dbo.Клиент BY dbo),

  ADD (EXECUTE ON dbo.usp_SubmitPO BY открытой)

 

Эта спецификация отслеживает все действия, которые попадают в DATABASE_OBJECT_PERMISSION_CHANGE группы, которая является полезной вещью для мониторинга, если у вас есть несколько администраторов работает в вашей базе данных. Кроме того, он также отслеживает конкретные действия язык DML против клиента таблица пользователем dbo и любом вызове usp_SubmitPO хранимой процедуры. Также Обратите внимание на использование ключевого слова общественности отслеживать изменения на всех пользователей.

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

<действие> НА <object> ОТ <principal>

Аудит происходит независимо от средства, в которой было принято действие . Другими словами, оператор SELECT клиента таблица будет проверяться, если пользователя действие инструкцию SELECT на клиента, оператор SELECT представление, выполняется запрос к таблица, выполнение хранимой процедуры, которая запрашивает таблицаи так далее.

Обратите внимание, что <object> в выше формат может относиться к объекту как таблица, представления, или хранимой процедуры, или всю базу данных или схемы. Для последних случаях формы базы данных:: <db_name> и схемы:: <schema_name> используются, соответственно.

Указание субъекта позволяет аудита в узкую направленность, тем самым к минимуму объем данных, захваченные в ходе ревизии. Чтобы производить аудит действие для всех участников, можно указать роли public. Например следующие записи действие всех выбирает на все объекты в рамках базы данных MyDB любым пользователем в роли MyDBRole.

 

Выберите на DATABASE::MyDB, MyDBRole

 

Как с сервера -уровень спецификации, спецификацию аудита базы данных может быть включен или отключен при создании, или впоследствии с инструкцию ALTER спецификации сервера базы данных. Инструкции ALTER позволяет также модификации список проверенных действия и группы действие .

В SQL Server Management Studio спецификации аудита базы данных создаются и управляются в папке спецификации аудита базы данных, которая находится под папку безопасностьуровень базы данных - для базы.

Разрешения

Действия на проверку базы данных (CREATE, ALTER или DROP) требуется разрешение ALTER ANY DATABASE AUDIT, которая охватывается базы данных системы управления.

Подробнее о технической архитектуры аудита

Перед тем, как мы вступаем в как читать и используются данные аудита, несколько более технические аспекты осуществления заслуживают упоминания. Ранее было указано, что аудит SQL Server обитает на сервер. Есть много аспектов этой функции, которые более тесно привязаны к СУБД, не последним из которых является то, в котором аудита события возникают. Аудит в SQL Server 2008 реализуется путем подключения разрешения внутренних проверок, которые происходят внутри компонента database engine. Когда происходит проверка разрешения, аудита SQL Server имеет возможность производить запись аудита, если указан соответствующего аудита. Это означает, что все формы доступ к объекту аудита.

Второй аспsubcategoryСоздание PCI_Server_Mgmt_Spec спецификации аудита сервераект аудита SQL Server , который следует отметить является его поведение в рамках транзакций. Есть два вида к этому. Во-первых, как операции на ревизию сам взаимодействуют с тр��нзакций границ. Все связанные с аудитом инструкций DDL, включая создание аудита сервера заявление, может быть оформлен в течение активной транзакции, если они корректировали состояние объекта аудита. Если в транзакции, создание аудита бу��ет областью действия в пределах транзакции – он будет фиксацию или откат в сделке.

Другая часть – как событий записываются, когда они происходят в рамках транзакции. Это самый простой способ описать это: они всегда проверяются. Явно будут последствия негативным гарантиям безопасности, если данные могут быть считаны, но не аудита был записан потому что незавершенная транзакция был произведен откат. Таким образом записи событий аудита происходит независимо от того, происходит ли откат или нет и область транзакции.

С помощью данных аудита

Этот раздел содержит сведения о том, в котором можно использовать и применять данные, создаваемые аудита SQL Server .

Файлы аудита

Когда аудит SQL Server 2008 сервер настроен с аудита назначение параметра File, данные аудита записываются в бинарный файл на диске. В целевое расположение может быть локальную папку или путь UNC к общему сетевому ресурсу.

Хотя аудита сервера можно указать путь, где будет создан файл аудита, имя файла автоматически создается SQL Server. Шаблон имени файла является:

_ _ <audit_guid> <audit_name>nn.sqlaudit _ <timestamp_as_bigint>

В этом шаблоне nn является номер последовательного раздела, который увеличивается при создании новых файлов аудита, если проверка настройки позволяют опрокидывание в новые файлы.

Файл аудита могут быть написаны в папку, NTFS шифрование, если учетная записьслужба SQL Serverимеет соответствующие разрешения.  Запись в папку с NTFS сжатие допускается также. В обоих случаях конечно же, следует ожидать некоторые влияние на производительность. Если целевое расположение для файла аудита в удаленной общей папке, содержание аудита не шифруются при поездках по сети.

Как уже упоминалось, аудита файл в двоичном формате и не может быть прочтен с помощью текстового редактора. SQL Server предоставляет таблица-стоимостью функция с именем fn_get_audit_file(), который используется для чтения данных аудита. Эта функция принимает аргументы, указанные в таблице 1.

Имя параметра

Тип

Описание

File_pattern

nvarchar

Каталог или путь и имя файла указанием местонахождения и проверки файлов, набор для чтения. Одна звездочка допускается как символ wild card. Может быть локальной или UNC-путь.

Initial_file_name

nvarchar

Указывает путь и имя файла в качестве файла набор с которого начинается чтение.

Audit_file_offset

bigint

Определенном месте в пределах файла в параметре initial_file_name. После этого смещение байтов из следующей записи начинается чтение.

Таблица 1: аргументы для fn_get_audit_file()

Следующее заявление гласит, что все файлы на конкретную ревизию аудита.

 

Выберите * от fn_get_audit_file (

«D:\Audits\MyAudit-_C26128D1-F97B-4B82-9E47-B6A296045B05_*.sqlaudit»,

по умолчанию, по умолчанию)

 

В следующем примере считывается, все файлы в папке E:\SqlAudits\ аудита.

 

Выберите * от fn_get_audit_file ('E:\SqlAudits\* ', по умолчанию, по умолчанию)

 

И этот пример считывает все аудиторские отчеты в конкретной ревизии, начиная от известных смещения.

 

Выберите * от fn_get_audit_file (

«D:\Audits\MyAudit-_C26128D1-F97B-4B82-9E47-B6A296045B05_*.sqlaudit»,

«D:\Audits\MyAudit-_C26128D1-F97B-4B82-9E47-B6A296045B05_0_128439520854140000.sqlaudit»,

5120)

 

Кстати можно определить параметры initial_file_name и audit_file_offset, глядя на столбцы имя_файла и audit_file_offset соответственно из выходных данных последнего вызова fn_get_audit_file().

Естественно потому что это инструкция SELECT из таблица-ценится функция, где предложение, заказать, предложениеи другой стандарт, синтаксис SQL SELECT может использоваться для формирования результирующего набор.

Потому что fn_get_audit_file() функция принимает в качестве аргумента явный путь, это можно переместить неактивных аудита файлов в новое место и читать их с помощью этой функция. На данный момент файл аудита — это просто статические данные. Таким образом можно перемещать файлы аудита и запросы по желанию после того, как они являются не более принимающих события аудита. Полезным это подразумевается что аудита файлов с нескольких серверов могут быть сведены в одну папку и запрос как набор. Таким образом администраторы или аудиторов можно легко искать ключ события через распределенный набор серверов SQL.

Fn_get_audit_file() функция возвращает, богатый набор информации захвачен аудита SQL Server . Доступны более чем двух десятков столбцы, содержащие подробности в ряде областей, таких как:

  • Дата и время событиеи это удалось (или были лишены разрешений)
  • Пользовательский контекст событие (основной идентификатор и имя на уровеньсервера и базы данных)
  • Тип действие (например, SELECT, EXECUTE, удаление)
  • Целевой объект
  • Контекст соединения (сервер и экземпляр, базы данных, схемы)
  • Фактические инструкции Transact-SQL, вызвавшее событие аудита (если применимо)
  • Имя файла аудита и позиция запись аудита в файле
  • Дополнительные XML-данные для некоторых специальных мероприятий, таких как события аудита управления

Как видно, доступен большой объем информации о каждом проверенные событие. Один из столбцов, заявление, содержит фактический текст действие , вызвавшему проверенные событие, хотя фактических значений данных в инструкции могут не отображаться, если заявление было параметризованным. Обратите внимание, что это может не называют непосредственно прове��енные ресурс. Например, проверенные выберите событие на «Таблица1» может быть вызвана оператор SELECT View1, который ссылается на «Таблица1».

Заявление поле является nvarchar и длиной 4000 символов.  В событие заявление превышает этот размер, SQL Server 2008 создает несколько записей аудита, распространяя текст инструкции по столько записей, необходимыми для захвата полное содержание. Последовательность числовое поле в записи аудита позволяет полное заявление текст необходимо собрать.

Fn_get_audit_file() функция – это ваша отдаленной точка для реализации лучших аудита анализ решения для конкретной среды. Потому что он по существу представляет данные аудита в виде таблица, она предоставляет средства для запрос, шахты, архив или отчета о ревизии журналы каким-либо образом необходимые. В этом смысле это, пожалуй наиболее гибким три возможных целей для данных аудита.

Журнал событий Windows

Аудит SQL Server 2008 можно настроить в качестве альтернативы для входа в журнал приложений Windows или журнал безопасности Windows. Это может иметь важн��е значение по нескольким причинам:

  • Журнал событие Windows — знакомы расположение и формат для многих администраторов серверов и аудиторов.
  • Журнал безопасности имеет присущие ограничения на написание, подделки и просмотра, которые делают его привлекательным как хранилище данных аудита.
  • Существуют корпорации Майкрософт и сторонних решений, направленных на укрепление, мониторинг и оповещение на журналы событие Windows. Например Microsoft System Center имеет компонент под названием службы ACS, можно выборочно консолидировать журналы событие безопасности от многих серверов. И продуктов System Center Operations Manager предназначен для мониторинга, отчетности и оповещение на журналы событие Windows.

Когда аудит сервера настроена с параметром К APPLICATION_LOG или К SECURITY_LOG, нужного журнала записываются все события аудита. События содержать ту же информацию, как возвращается в fn_get_audit() таблица-стоимостью функция аудита для файла. В журнал событие эта информация записывается в теле событие в текстовом формате.

Для пользователей, которые намереваются набор мониторинг или оповещения на записи журнала событие важно знать, какие конкретные атрибуты журнала событие будет присваиваться записи аудита SQL Server . Все события аудита SQL Server записываются с именемэкземпляр SQL Serverкакисточник событие.   Идентификатор событие — 33205. Описание событие , где могут быть найдены отличительные характеристики события. Таким образом осуществлять фильтрацию или оповещения на события аудита, журнал событий управления средство , используемый потребуется для поддержки идентификации явлений исходя из описания например, регулярное выражение поиска).

Сравнение производительности

Используя пример типичной среде клиента рабочих нагрузок OLTP, производительность аудита SQL Server был измеряется и по сравнению с трассировка SQL , где это возможно. Результаты последовательно показали преимущество в производительности для аудита SQL Server с улучшениями, от 11% до 45%. В следующем списке приводится краткая информация о используемых рабочей нагрузки и последующие таблица показывает значения для выборки из время выполнения для каждой рабочей нагрузки. Для сравнения трассировка SQL выполняется в режиме аудита C2 и аудита SQL Server настроен для проверки эквивалентные события и записывать вывод в файл.

Рабочей нагрузки 1 содержит 11 баз данных, начиная от 1.94 MB до 1812.5 МБ. Он также имеет 755 таблицы с в среднем 2761 строк, с главным образом char и затем smallint и десятичных столбцы.

Вот действия, резюме для рабочей нагрузки 1 (% от объема работы):

  • Хранимые процедуры
    • sp_cursorfetch (25.56%)
  • ВЫПОЛНЕНИЕ (38.72%)
  • Заявления:
    • ORDER BY (21.90%)
    • ВЫБЕРИТЕ ИЗ (39.51%)
  • 1,219,234 заявления были казнены.

Рабочей нагрузки 2 содержит 2 базы данных, начиная от 64 МБ до 423.88 МБ. Имеет 35 таблицы с в среднем 49,141 строк, с главным образом бит, varbinary, int, и nvarchar столбцы.

Вот действия, резюме для рабочей нагрузки 2 (% от объема работы):

  • ВЫПОЛНЕНИЕ (100%)
  • 1,633,557 заявления были казнены

Рабочей нагр��зки 3 содержит 3 базы данных от 1.94 MB до 1059.63 МБ. Имеет 154 таблицы с в среднем 586 строк, с главным образом реальных, числовые, и float столбцы.

Вот резюме для рабочей нагрузки 3 действия:

  • Хранимые процедуры
    • sp_execute (26.42%)
    • sp_prepare (26.42%)
    • sp_unprepareb (26.41%)
  • ВЫПОЛНЕНИЕ (94,25%)
  • Заявления:
    • ВЫБЕРИТЕ ИЗ (39.87%)
  • 585,400 заявления были казнены.

Рабочей нагрузки 4 содержит 1 база данных 3235.75 МБ. Имеет 84 таблицы с в среднем 144,245 строк, с главным образом int, varchar, и datetime столбцы.

Вот действия, резюме для рабочей нагрузки 4 (% от объема работы):

  • Хранимые процедуры
    • sp_cursorfetch (26.91%)
  • ВЫПОЛНЕНИЕ (95.89%)
  • 3,435,303 заявления были казнены.

Рабочая нагрузка 5 содержит 1 база данных 174.94 МБ. Имеет 152 таблицы с в среднем 4,108 строк, с главным образом char и числовые, а затем int и float столбцы.

Вот действия, резюме для рабочей нагрузки 5 (% от объема работы):

  • Хранимые процедуры
    • sp_cursorclose (21.69%)
    • sp_cursorfetch (21.69%)
    • sp_cursoropen (21.59%)
  • ВЫПОЛНЕНИЕ (78.58%)
  • Заявления:
    • ВЫБЕРИТЕ ИЗ (26,96%)
  • 296,642 заявления были казнены.

Рабочая нагрузка

Базовый время (мин)

трассировка SQL (мин)

SQL Server Аудит (мин)

Стоимость perf Vs. База

Прирост производительности vs. След

1

13.30

15.89

14.13

6.24%

11.08%

2

41.30

101.85

55.93

35.42%

45.09 %

3

5.09

6.29

5.57

9.43%

11.45%

4

63.36

76.64

68.13

7.53%

11.10%

5

3.59

4.76

4.00

11.42%

15.97%

Таблица 2: исполнения номера для vs аудита SQL Server .  трассировка SQL

В таблица, PERF VS базовых расходов рассчитывается как (базы SQL AUDIT– время) / база время и получить VS ТРАССИРОВКИ PERF рассчитывается как (SQL TRACE – аудита SQL) / ТРАССИРОВКИ SQL.

Улучшение между трассировка SQL и аудита SQL Server колеблется от 11.08% до 45.09%, с рабочей нагрузки 2 показаны наибольшие разли��ия между ними. Это скорее всего результат рабочей нагрузки, генерации огромное количество событий аудита, который стремится подчеркнуть большей эффективности аудита SQL Server на файлового ввода-вывода. Также отмечено из таблица -это стоимость запуска SQL Server аудита колеблется от 6.24% до 35.42%. Имейте в виду, что эти значения совпадают с большое количество группы действие аудита включена стоимость будет ниже с более скромные параметры аудита. Так как трассировка SQL не хватает мелкозернистых возможности аудита Аудит SQL Server , сравнение производительности между ними не пре��ставляется возможным для да��ного сценария.

Примеры

Следующие примеры реальных сценариев для использования аудита SQL Server .

Пример 1

Относительно простой, но весьма актуальным использование аудита SQL Server — для мониторинга активности привилегированных пользователей, получающих доступ к чувствительным таблица. Это легко может быть выполнено с функцию ��удита SQL Server в SQL Server 2008 параметром вверх спецификации аудита соответствующую базу данных. Для этого примера предположим, что чувствительных таблица находится в hr_db базы данных и называется hr.salary и мы хотим, чтобы определить, когда dbo (и, следовательно, sysadmin) пытается выполнить запрос в таблица. В этом примере данные аудита будут записаны в файл на удаленном ресурсе, под названием \\AuditServer\Audit, на котором SQL Server служба экземпляр имеет разрешения на запись, но не читать или изменять.

Сначала мы должны создать аудит и объекты спецификации аудита базы данных.

 

ИСПОЛЬЗОВАТЬ мастер

Создание аудита сервера audit1 В файл (FILEPATH = «\\AuditServer\Audit»)

ИСПОЛЬЗОВА��ИЕ hr_db

Создание спецификации аудита базы данных hr_dbspec для аудита сервера audit1

ADD (SELECT, UPDATE, INSERT, удалить Д hr.salary от dbo)

 

Так как объекты создаются по умолчанию отключена, они должны оба быть включены.

 

ИСПОЛЬЗОВАТЬ мастер

ИЗМЕНИТЬ аудит сервера С audit1 (состояние = ON)

ИСПОЛЬЗОВАНИЕ hr_db

Hr_dbspec изменить спецификации аудита базы данных С (состояние = ON)

 

На данный момент, включен аудит и все запросы к hr_db таблица dbo или sysadmin регистрируются, как понимаются любые действия, которые включить или отключить аудит.

Чтобы убедиться, что проверка и спецификации аудита включен, можно запрашивать системные представления.

 

Выберите is_state_enabled из sys.server_file_audits

Выберите is_state_enabled из sys.database_audit_specifications

 

Пример 2

Некоторые правила соответствия требуют, аудит доступа и использования криптографических ключей. SQL Server Аудит способен записывать всю деятельность, которая затрагивает симметричного шифрование ключ или закрытого ключ сертификат или асимметричного ключ пары. Лаконично эта деятельность охватывается DATABASE_OBJECT_CHANGE_GROUP группы действие на уровне сервера и базы данных. Группа действие DATABASE_OBJECT_CHANGE_GROUP охватывает все действия с участием использование ключ , а также CREATE, ALTER и DROP объектов в базе данных не содержится в схеме. Помимо периода первоначальной настройки базы данных должны быть низкими, означает, что большая часть деятельности, захватили под этой группы действие должно ограничиваться криптографический ключ деятельность инцидентов CREATE, ALTER и DROP. Для этого примера будет продемонстрировано создание аудита с помощью SQL Server среды Management Studio. Чтобы создать объект аудита, разверните его безопасности под экземпляр, щелкните правой кнопкой мыши ревизии, и нажмите кнопку новый аудит. Создания аудита , которая отображается на рисунке 3, диалоговое, позволяет настроить свойства ревизии.

 

Рисунок 3: диалоговое окно Создание аудита

Если значения по умолчанию являются приемлемыми, требуется только ввод является путь к файлу, предполагая, что аудита назначение представляет собой файл. Обратите внимание на то, что SQL Server Management Studio создает имя аудита по умолчанию, основанные на штамп времени. Затем должен быть создан сервер и спецификации аудита базы данных. Это может быть достигнуто путем right-clicking на спецификации аудита сервера и спецификации аудита базы данных в обозревателе объектов соответственно (см. Рисунок 4).

 

Рисунок 4: создание спецификации аудита базы данных через SQL Server Management Studio

Для базы данных аудита спецификации, создание спецификации аудита базы данных , который показан на рисунке 5, диалоговое окно.

 

Рисунок 5: диалоговое окно создать спецификацию аудита базы данных

Аудит объект, созданный в предыдущих шага необходимо быть выбраны в аудита раскрывающегося списка. Далее выберите DATABASE_OBJECT_CHANGE_GROUP из тип действия аудита раскрывающегося списка.

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

После того, как выполняется проверка, администраторы могут использовать управление на основе политик (МОП) способность управлять ревизий на нескольких серверах, чтобы увидеть ли они запущены и ли они настроены правильно. Базовое понимание PBM предполагается в ходе последующего обсуждения; для получения дополнительной информации см SQL Server электронной документации.

Создание политики, чтобы определить, включен ли аудит или спецификацию аудита достаточно проста. Чтобы создать политику, которая сообщает ли сервер имеет аудита включен, новое условие необходимо создать с помощью аспект аудита и в выражение , вычисляющем ли @ Enabled равно True (см. Рисунок 6).

 

Рисунок 6: диалогового окна Создание нового условия PBM

Обратите внимание, что значение в имя box является произвольным. Теперь, когда создается условие фильтра, следует создать новую политику. В этом примере, Новая политика присваивается имя AuditOnPolicy и значение в проверить состояние — набор состояние AuditOn, который был только что создали (Рисунок 7).

 

Рисунок 7: диалоговое окно PBM, создать новую политику

Нажав OK создает политику, которая будет оценивать объект аудита на сервере включена ли (или серверов ес��и оценки инициируется через зарегистрированные серверы диалоговое окно). Оценка политики предоставляет список аудита объектов, определенных в экземпляр и указание того, являются ли они активные или нет. Результаты оценки на рисунке 8 указывают, что одна ревизия не включена.

 

Рисунок 8: политик PBM-диалоговое окно

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

Конечно зная, что включен аудит является важным, но не менее интересные проверке что аудита настроена должным образом. Хотя определение ли группа действие , таких, как DATABASE_OBJECT_CHANGE_GROUP, было определено в спецификации аудита не могут быть прямо, это возможно. Потому что для группы действие аудита существует не PBM аспект, политики вместо этого можно охарактеризовать как T-SQL запрос , ч��обы определить, включен ли группы конкретных действие в спецификации. Один такой запрос предоставляется здесь.

 

ВЫБЕРИТЕ 1

С sys.server_audits как

     Sys.database_audit_specifications СОЕДИНЕНИЯ как s

          A.audit_guid = s.audit_guid

     Sys.database_audit_specification_details СОЕДИНЕНИЯ как d

          S.database_specification_id = d.database_specification_id

ГДЕ a.is_state_enabled = 1

     И s.is_state_enabled = 1

     И d.audit_action_name = N «DATABASE_OBJECT_CHANGE_GROUP»

 

запрос возвращает значение 1, если активного аудита содержит спецификацию, созданные с группой действие DATABASE_OBJECT_CHANGE_GROUP. Чтобы создать условие основанное на этот запрос в PBM, выполните следующие действия:

  1. Создать новое условие и в выражение, нажмите на "..."кнопку, чтобы открыть окно дополнительно диалогового окна.
  2. Прокрутите вниз функции и свойства список и дважды щелкните ExecuteSql(). Заполняет значение ячейки с текстом "ExecuteSql (returnTypeстрока , строка sqlQuery)". Можно изменить эту строка для замены строка returnType с 'числовые' и строка sqlQuery с инструкцией SELECT выше (см. рис. 9; Обратите внимание что одиночная кавычка в запрос должен быть выведен с другой одиночная кавычка).

 

Рисунок 9: PBM Advanced окно редактирования

3. После нажатия кнопки OK и возвращение создать новое выражение диалоговом завершить выражение, установив оператора для = и значение для 1.

4. Задать аспект для база данных потому, что вы хотите, чтобы этот запрос оценки для каждой базы данных экземпляр.

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

Заключение

Новая функция аудита SQL Server , введенная в SQL Server 2008 представляет собой значительное улучшение над возможности аудита, в предыдущих версиях SQL Server. Одним из ключ достижений является внедрение политик аудита в соответствии с которым события можно использовать для определенных действий объекта конкретных участников; объекты можно даже областью вплоть до отдельной таблица уровень. Производительность является еще одним большим стимулом, поскольку аудита SQL Server выполняет значительно лучше, чем сопоставимые трассировка SQL, до около 45% в некоторых случаях. Кроме того цель аудита больше не ограничивается только файлы, потому что журналы Windows приложений и безопасности в настоящее время вариантов. И учитывая преимущества, такие, как сохранение состояния аудита между перезапуск экземпляр и недобровольным запись изменения состояния аудита, Новая функция аудита SQL Server предоставляет надежные и всеобъемлющие решения аудита для предприятия.

Для получения дополнительной информации:

http://msdn2.Microsoft.com/en-us/library/cc280386 (SQL.100) .aspx: понимание аудита SQL Server

http://msdn2.Microsoft.com/en-us/library/bb630282 (SQL.100) .aspx: SQL Server расширенных событий:

http://msdn2.Microsoft.com/en-us/library/bb510667 (SQL.100) .aspx: администрирование серверов по администрированию управления

http://www.Microsoft.com/SQLServer/2008/en/US/Security.aspx: SQL Server 2008 безопасности

http://www.Microsoft.com/SQLServer/: SQL Server веб-сайт

http://TechNet.Microsoft.com/en-US/SQLServer/: SQL Server TechCenter

http://MSDN.Microsoft.com/en-US/SQLServer/: SQL Server DevCenter 

bCHANGE