Запись событий аудита SQL Server в журнал безопасности
Область применения: SQL Server — только Для Windows
В среде с повышенной безопасностью подходящим местом для записи событий доступа к объектам является журнал безопасности Windows. Другие местонахождения аудита поддерживаются, но они более уязвимы для вторжения злоумышленников.
Существует три основных требования для записи аудита сервера SQL Server в журнал безопасности Windows:
Параметр аудита доступа к объектам должен быть сконфигурирован для фиксации событий. Средство настройки политики аудита (
auditpol.exe
) предоставляет различные параметры подполитик в категории доступа к объектам аудита. Чтобы разрешить SQL Server аудиту доступа к объектам, настройте созданный приложением параметр.Учетная запись, под которой выполняется служба SQL Server, должна иметь разрешение на создание аудитов безопасности для записи в журнал безопасности Windows. По умолчанию этим разрешением обладают учетные записи и Locale Service и Network Service. Этот шаг не требуется, если SQL Server работает под одной из этих учетных записей.
Предоставьте полный доступ для учетной записи службы SQL Server к кусту реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
.Внимание
Неправильное изменение реестра может серьезно повредить вашу систему. Перед внесением изменений в реестр рекомендуется создать резервную копию всех важных данных.
ограничения и запреты
Локальные параметры для журнала безопасности могут быть перезаписаны политикой домена. В этом случае политика домена может перезаписать параметр подкатегории (
auditpol /get /subcategory:"application generated"
). SQL Server не имеет возможности обнаружить, что события, которые он пытается аудировать, не будут записаны.События могут быть потеряны, если политика аудита настроена неправильно. Политика аудита Windows может повлиять на аудит SQL Server, если она настроена для записи в журнал Безопасность Windows. Обычно журнал безопасности Windows перезаписывает более старые события. В результате сохраняются самые последние события. Однако если журнал Безопасность Windows не настроен на перезапись старых событий, то если журнал безопасности заполнен, система выдает событие Windows 1104 (журнал заполнен). После этого:
Никакие дополнительные события безопасности не записываются
SQL Server не может обнаружить, что система не может записывать события в журнале безопасности, что приводит к потере событий аудита.
После того как администратор настроит журнал безопасности, режим записи в журнал вернется в нормальное состояние.
Записи аудита SQL Server содержат значительно больше данных, чем обычные записи журнала событий Windows. Кроме того, в зависимости от конфигурации спецификации аудита SQL Server может создавать множество тысяч записей аудита в течение короткого периода времени (тысячи в секунду). В периоды высокой нагрузки это может привести к неблагоприятным условиям, если записи аудита записываются в журнал приложений или журнал безопасности.
К этим неблагоприятным условиям могут относиться следующие:
Быстрая циркуляция журнала событий (события перезаписываются очень быстро, так как файл журнала достигает предельного размера)
Другие приложения или службы, которые читают из журнала событий Windows, могут подвергнуться негативным воздействиям.
Целевой журнал событий может быть непригоден для администраторов из-за слишком быстрой перезаписи событий.
Действия, которые могут предпринять администраторы для устранения этих неблагоприятных условий:
Увеличьте размер целевого журнала (4 ГБ не является необоснованным, если спецификация аудита очень подробна).
Уменьшите количество событий аудита.
Выводит записи аудита в файл вместо журналов событий.
Разрешения
Для настройки этих параметров необходимо быть администратором Windows.
Настройка параметра доступа к объекту аудита в Windows с помощью auditpol
Откройте командную строку с правами администратора.
В меню "Пуск" перейдите в командную строку и выберите "Запуск от имени администратора".
Если откроется диалоговое окно "Контроль учетных записей пользователей", нажмите кнопку "Продолжить".
Выполните следующую инструкцию, чтобы включить аудит из SQL Server.
auditpol /set /subcategory:"application generated" /success:enable /failure:enable
Закройте окно командной строки.
Предоставьте учетной записи разрешение на создание аудитов безопасности с помощью secpol
Для любой операционной системы Windows в меню "Пуск " выберите "Выполнить".
Введите
secpol.msc
и нажмите кнопку "ОК". Если появится диалоговое окно "Пользователь контроль доступа", нажмите кнопку "Продолжить".В средстве "Локальная политика безопасности" перейдите к Параметры безопасности > Локальные политики > Назначение прав пользователей.
В области результатов откройте Создание аудитов безопасности.
На вкладке "Локальный параметр безопасности" выберите "Добавить пользователя или группу".
В диалоговом окне выбора пользователей, компьютеров или групп введите имя учетной записи пользователя, например domain1\user1, а затем нажмите кнопку "ОК" или "Дополнительно" и выполните поиск учетной записи.
Нажмите ОК.
Закройте средство политики безопасности.
Перезапустите SQL Server, чтобы включить этот параметр.
Настройка параметра доступа к объекту аудита в Windows с помощью secpol
Если операционная система более ранняя, чем Windows Vista или Windows Server 2008, в меню "Пуск " выберите "Запустить".
Введите
secpol.msc
и нажмите кнопку "ОК". Если появится диалоговое окно "Пользователь контроль доступа", нажмите кнопку "Продолжить".В средстве локальной политики безопасности перейдите к Параметры безопасности > Локальные политики > Политика аудита.
В области результатов откройте Аудит доступа к объектам.
На вкладке Параметр локальной безопасности в области Вести аудит следующих попыток доступа выберите оба параметра: Успешно и Ошибка.
Нажмите ОК.
Закройте средство политики безопасности.