SQL Server представляет собой сложную систему, в которой постоянно происходят изменения, — будь то конфигурация сервера или содержимое баз данных. Отследить изменения сложно, особенно в тех случаях, когда изменения касаются тонко настроенных правил делегирования для тех сред, которые управляются несколькими администраторами и операторами.
В Рунете мы смогли найти следующие материалы по аудиту SQL Server:
Хабр также не отстаёт – здесь есть хороший пост по отслеживанию изменений в SQL Server.
Однако вопрос о написании актуального и полного руководства по аудиту SQL Server остается открытым (у нас в планах написать такое руководство – наподобие этого и этого).
Пока же в этом посте мы рассмотрим возможности по аудиту SQL Server’a с помощью нашей программы NetWrix SQL Server Change Reporter. Программа выпускается в двух версиях: базовой бесплатной и расширенной коммерческой. Сначала мы рассмотрим, что есть в базовой версии программы, а затем более подробно остановимся на расширенной версии.
Тем более, недавно мы выпустили новую версию нашего решения для аудита изменений SQL Server – NetWrix SQL Server Change Reporter 2.5. В новой версии мы добавили поддержку аудита содержимого баз данных – той функции, которую давно ждали пользователи.
Заинтересованных приглашаем под кат.
Начнем с того, зачем вообще программа нужна и что она делает.
Ключевые ее функции:
Почему штатная система отслеживания изменений SQL Server недостаточна?
Подсистема аудита была представлена впервые в SQL Server 2008 и с тех пор не сильно изменилась (мы проверяли, см. видео обзора возможностей аудита в SQL Server 2012). Между тем, администраторам баз данных важно оперативно отреагировать на изменения в конфигурации и содержимом баз данных. При использовании только штатной системы аудита, которая просто позволяет получать большие массивы данных о событиях, такая возможность отсутствует. Согласитесь, что у администратора БД не так уж много времени, чтобы вручную отслеживать изменения, а потом разбираться с ними. Подобные проблемы, конечно, решаются написанием скриптов (например, 1, 2), но получаемая в результате их работы информация, мягко говоря, не позволяет оперативно понять, что изменилось – нужно дополнительно тратить время на ее интерпретацию. Для небольших организаций, вполне возможно, такой вариант, хоть и требует больших затрат времени от администратора, но все же приемлем. Однако с увеличением количества SQL серверов и изменений в базах данных возрастает потребность в автоматизации процесса оповещения об изменениях.
Итак, программа NetWrix SQL Server Change Reporter и была создана, чтобы упростить процесс отслеживания изменений в SQL Server. В работе программы применяется технология NetWrix AuditAssurance, которая заключается в использовании данных журналов событий и полученной из снимков конфигурации SQL Server информации. Таким образом достигается полнота отображения произведенных изменений и наглядность представляемой информации. А теперь подробнее о самой программе.
Как программа работает?
С общим принципом работы наших программ Вы, наверное, уже знакомы (см. обзоры 1, 2, 3).
Вкратце обозначим следующие моменты:
Программа работает с версиями SQL Server начиная от 2000 до 2012 (да, новую версию SQL Server мы также поддерживаем). Для сбора данных аудита сервисный аккаунт, используемый для запуска программы, должен иметь права системного администратора на целевом сервере.
Установка NetWrix SQL Server Change Reporter 2.5 осуществляется на любом компьютере в домене, в котором расположены наблюдаемые экземпляры SQL Server. Процесс установки программы достаточно прост, поэтому мы его описывать не будем.
После того, как программа установлена, необходимо провести ее настройку. Обратите внимание, что интерфейсы настройки базовой и расширенной версий программы различаются.
Конфигурирование бесплатной версии осуществляется через специальную утилиту.
В которой можно:
Сбор данных в базовой версии
NetWrix SQL Server Change Reporter автоматически осуществляет сбор данных ежедневно в 3 утра. Время можно изменить в Планировщике заданий (имя задания – NetWrix SQL Server Change Reporter). Также можно запустить сбор данных вручную.
При запуске задачи делаются снимки конфигурации SQL Server, а также анализируются данные журналов событий, состояние конфигурации сравнивается с предыдущим, и информация об изменениях отправляется на указанный адрес электронной почты.
Как выглядит отчет в бесплатной базовой версии
Как мы можем видеть, не указан автор изменений и рабочая станция, на которой было произведено изменение. В бесплатную версию включены отчеты об изменениях пользователей, логинов, прав доступа, ролей и схем БД. Дополнительный функционал доступен в коммерческой версии программы.
Помимо получения запланированных отчетов можно также получать и отчеты по запросу (on-demand reports):
Такова вкратце работа бесплатной версии. В расширенной версии (которую можно опробовать в течение 20 дней) доступно больше функций.
Для начала вся работа осуществляется через консоль NetWrix Enterprise Management Console, которая напоминает всем знакомую MMC.
Проводим настройку программы:
Пара подтверждающих действий — и программа настроена.
Созданный нами наблюдаемый объект появился в узле Managed Object (в данном случае Production Servers).
Работа с программой
Итак, Вы уже сделали большую часть работы, настроив программу. На указанный Вами адрес электронной почты ежедневно будут отправляться итоговые отчеты по изменениям. Если Вам необходимо получить отчет вручную, не дожидаясь автоматического сбора данных, то нажмите кнопку Run.
После того, как сбор данных будет завершен, на указанные адреса электронной почты будет отправлен итоговый отчет. Пример отчета
В программе возможно не только получение автоматических отчетов, но и формирование отчетов по запросу (ad-hoc Reports). (Managed Objects -> Production Servers -> SQL Server Change Reporter – Ad-hoc reports).
Здесь выбирается SQL Server, задается период, за который нужно сформировать отчет, а также выбирается тип аудита (конфигурации или содержимого баз данных). По нажатию на Run предлагается выбрать html или csv отчет.
Еще одна важная функция – это расширенные отчеты.
Расширенные отчеты позволяют получать отчеты, созданные для решения конкретных задач используя предустановленные фильтры и шаблоны. Многие из таких отчетов требуется нормативами по информационной безопасности.
Их можно посмотреть либо в консоли, либо на веб-портале SQL Report Manager через браузер. Доступно два типа отчетов
(All Changes и Object Changes).
Выберите отчет из папок, задайте параметры и нажмите View Report. Ниже продемонстрирован отчет по всем изменениям на SQL серверах.
И по традиции презентация на тему настройки программы и работы с ней.
Скачать программу можно на сайте (необходимо регистрация).
P.S. 15 ноября у нас состоится веб-конференция, на которой мы рассказываем, как отслеживать изменения SQL Server с помощью новой версии NetWrix SQL Server Change Reporter. Присоединяйтесь.
В Рунете мы смогли найти следующие материалы по аудиту SQL Server:
Хабр также не отстаёт – здесь есть хороший пост по отслеживанию изменений в SQL Server.
Однако вопрос о написании актуального и полного руководства по аудиту SQL Server остается открытым (у нас в планах написать такое руководство – наподобие этого и этого).
Пока же в этом посте мы рассмотрим возможности по аудиту SQL Server’a с помощью нашей программы NetWrix SQL Server Change Reporter. Программа выпускается в двух версиях: базовой бесплатной и расширенной коммерческой. Сначала мы рассмотрим, что есть в базовой версии программы, а затем более подробно остановимся на расширенной версии.
Тем более, недавно мы выпустили новую версию нашего решения для аудита изменений SQL Server – NetWrix SQL Server Change Reporter 2.5. В новой версии мы добавили поддержку аудита содержимого баз данных – той функции, которую давно ждали пользователи.
Заинтересованных приглашаем под кат.
Начнем с того, зачем вообще программа нужна и что она делает.
Ключевые ее функции:
- Фиксируются изменения, вносимые в экземпляры, базы данных, пользователей, роли, логины, схемы, полномочия, таблицы, сохраненные процедуры (stored procedures) и другие объекты SQL Server; на основании этих изменений создаются ясные и понятные отчеты
- Фиксируются все изменения, вносимые в содержимое БД; на основании этой информации строятся отчеты (и могут автоматически отправляться по e-mail)
- Обеспечивается соответствие требованиям нормативов в области ИБ (широкая библиотека стандартных отчетов, которые могут быть предоставлены аудиторам)
- Фиксируются на ранних стадиях неавторизованные и нежелательные изменения, которые могут вести к “падению” сервера и БД
- Отображение в отчетах того, кто осуществил изменение, где, когда и с какой рабочей станции
- Возможность создания отчетов по запросу (ad-hoc reports)
- Хранение собранных данных аудита и создание на основании этих данных отчетов за любой период времени
Почему штатная система отслеживания изменений SQL Server недостаточна?
Подсистема аудита была представлена впервые в SQL Server 2008 и с тех пор не сильно изменилась (мы проверяли, см. видео обзора возможностей аудита в SQL Server 2012). Между тем, администраторам баз данных важно оперативно отреагировать на изменения в конфигурации и содержимом баз данных. При использовании только штатной системы аудита, которая просто позволяет получать большие массивы данных о событиях, такая возможность отсутствует. Согласитесь, что у администратора БД не так уж много времени, чтобы вручную отслеживать изменения, а потом разбираться с ними. Подобные проблемы, конечно, решаются написанием скриптов (например, 1, 2), но получаемая в результате их работы информация, мягко говоря, не позволяет оперативно понять, что изменилось – нужно дополнительно тратить время на ее интерпретацию. Для небольших организаций, вполне возможно, такой вариант, хоть и требует больших затрат времени от администратора, но все же приемлем. Однако с увеличением количества SQL серверов и изменений в базах данных возрастает потребность в автоматизации процесса оповещения об изменениях.
Итак, программа NetWrix SQL Server Change Reporter и была создана, чтобы упростить процесс отслеживания изменений в SQL Server. В работе программы применяется технология NetWrix AuditAssurance, которая заключается в использовании данных журналов событий и полученной из снимков конфигурации SQL Server информации. Таким образом достигается полнота отображения произведенных изменений и наглядность представляемой информации. А теперь подробнее о самой программе.
Как программа работает?
С общим принципом работы наших программ Вы, наверное, уже знакомы (см. обзоры 1, 2, 3).
Вкратце обозначим следующие моменты:
- Работа продукта основана на планировщике заданий, в котором специально для продукта создается запланированное задание, которое инициирует сбор данных аудита раз в сутки (или чаще). По завершению сбора данных, продукт отправляет отчет на заданные адреса электронной почты и загружает данные в базу данных SQL (последнее доступно только в коммерческой версии);
- Помимо почтовых отчетов, коммерческая версия продукта также содержит библиотеку отчетов, разработанных под конкретные задачи аудита, работающих на основе SQL Reporting Services. Работа с библиотекой отчетов может осуществляться как напрямую из консоли, так и из веб-портала через стандартный браузер;
- Отчеты с информацией по уже собранным данным аудита доступны в любое время, а сам сбор данных в случае необходимости может быть инициирован вручную.
Программа работает с версиями SQL Server начиная от 2000 до 2012 (да, новую версию SQL Server мы также поддерживаем). Для сбора данных аудита сервисный аккаунт, используемый для запуска программы, должен иметь права системного администратора на целевом сервере.
Установка NetWrix SQL Server Change Reporter 2.5 осуществляется на любом компьютере в домене, в котором расположены наблюдаемые экземпляры SQL Server. Процесс установки программы достаточно прост, поэтому мы его описывать не будем.
После того, как программа установлена, необходимо провести ее настройку. Обратите внимание, что интерфейсы настройки базовой и расширенной версий программы различаются.
Бесплатная версия
Конфигурирование бесплатной версии осуществляется через специальную утилиту.
В которой можно:
- Активировать работу программы
- Указать экземпляры серверов, изменения на которых должны отслеживаться
- Выбрать место хранения данных
- Определить периодичность доставки отчетов
- Задать настройки e-mail отчетов (SMTP-сервер, адрес получателя и т.п.)
- Произвести дополнительные настройки
Сбор данных в базовой версии
NetWrix SQL Server Change Reporter автоматически осуществляет сбор данных ежедневно в 3 утра. Время можно изменить в Планировщике заданий (имя задания – NetWrix SQL Server Change Reporter). Также можно запустить сбор данных вручную.
При запуске задачи делаются снимки конфигурации SQL Server, а также анализируются данные журналов событий, состояние конфигурации сравнивается с предыдущим, и информация об изменениях отправляется на указанный адрес электронной почты.
Как выглядит отчет в бесплатной базовой версии
Как мы можем видеть, не указан автор изменений и рабочая станция, на которой было произведено изменение. В бесплатную версию включены отчеты об изменениях пользователей, логинов, прав доступа, ролей и схем БД. Дополнительный функционал доступен в коммерческой версии программы.
Помимо получения запланированных отчетов можно также получать и отчеты по запросу (on-demand reports):
- Запускаем Report Viewer
- Указываем экзепляр SQL сервера, тип отчета и даты снапшотов
- Generate – выбираем тип отчета (csv или html) и сохраняем его в нужное место
Такова вкратце работа бесплатной версии. В расширенной версии (которую можно опробовать в течение 20 дней) доступно больше функций.
Полная версия программы
Для начала вся работа осуществляется через консоль NetWrix Enterprise Management Console, которая напоминает всем знакомую MMC.
Проводим настройку программы:
- Создаем наблюдаемый объект (объекты можно группировать в папки)
- Открывается Мастер создания нового управляемого объекта (New Managed Object Wizard) – выбираем computer collection
- Далее задаем имя коллекции компьютеров и указываем учетную запись, под которой будет осуществляться сбор данных
- Конфигурируем настройки SMTP сервера
- Настраиваем функцию получения расширенных отчетов
- Далее добавляем экземпляры SQL сервера
- Указываем имя экземпляра SQL сервера
- Далее. На этапе конфигурирования настроек программы (Configure SQL Server Change Reporter Settings) необходимо указать получателей отчетов по изменениям конфигурации SQL Server.
- Обратите внимание на то, что аудит изменений содержимого баз данных необходимо включить отдельно. Такой тип аудита поддерживается в версиях MS SQL Server 2005 и выше.
Для настройки аудита содержимого БД используется свое диалоговое окно (Database Content Audit), где настраиваются правила для данных, подлежащих мониторингу
.
- Необходимо выбрать Specify.
- Добавляем правило (Add) по которому будут собираться данные по аудиту изменений баз данных
Обратите внимание, что в настоящее время не поддерживаются следующие типы столбцов: text, ntext, image, binary, varbinary, Timestamp, sql_variant.
Пара подтверждающих действий — и программа настроена.
Созданный нами наблюдаемый объект появился в узле Managed Object (в данном случае Production Servers).
Работа с программой
Итак, Вы уже сделали большую часть работы, настроив программу. На указанный Вами адрес электронной почты ежедневно будут отправляться итоговые отчеты по изменениям. Если Вам необходимо получить отчет вручную, не дожидаясь автоматического сбора данных, то нажмите кнопку Run.После того, как сбор данных будет завершен, на указанные адреса электронной почты будет отправлен итоговый отчет. Пример отчета
В программе возможно не только получение автоматических отчетов, но и формирование отчетов по запросу (ad-hoc Reports). (Managed Objects -> Production Servers -> SQL Server Change Reporter – Ad-hoc reports).
Здесь выбирается SQL Server, задается период, за который нужно сформировать отчет, а также выбирается тип аудита (конфигурации или содержимого баз данных). По нажатию на Run предлагается выбрать html или csv отчет.
Еще одна важная функция – это расширенные отчеты.
Расширенные отчеты позволяют получать отчеты, созданные для решения конкретных задач используя предустановленные фильтры и шаблоны. Многие из таких отчетов требуется нормативами по информационной безопасности.
Их можно посмотреть либо в консоли, либо на веб-портале SQL Report Manager через браузер. Доступно два типа отчетов
(All Changes и Object Changes).
Выберите отчет из папок, задайте параметры и нажмите View Report. Ниже продемонстрирован отчет по всем изменениям на SQL серверах.
И по традиции презентация на тему настройки программы и работы с ней.
Скачать программу можно на сайте (необходимо регистрация).
P.S. 15 ноября у нас состоится веб-конференция, на которой мы рассказываем, как отслеживать изменения SQL Server с помощью новой версии NetWrix SQL Server Change Reporter. Присоединяйтесь.