1 / 46

Алексей Князев a.knyazev@t-sql.ru http ://t-sql.ru

http://www.EkbIT.Pro. Алексей Князев a.knyazev@t-sql.ru http ://www.t-sql.ru. XEvents и Audit. Содержание. Средства мониторинга XEvents Audit Заключение Вопросы?. SQL Server 2012. Средства аудита в SQL Server 2000 and UP. Немного истории. «А где бабуля…?» Зачем убирать SQL Trace?.

gryta
Download Presentation

Алексей Князев a.knyazev@t-sql.ru http ://t-sql.ru

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. http://www.EkbIT.Pro Алексей Князев a.knyazev@t-sql.ru http://www.t-sql.ru XEventsи Audit

  2. Содержание Средства мониторинга XEvents Audit Заключение Вопросы?

  3. SQL Server 2012 Средства аудита в SQL Server 2000 and UP

  4. Немного истории

  5. «А где бабуля…?» Зачем убирать SQL Trace?

  6. SQL Server 2012 XEvents – расширенные события

  7. Extended Events Engine

  8. Генерация событий

  9. SSMS ADDIN (SQL Server 2008)

  10. SQL Server 2012 UI

  11. Основные команды DDL

  12. Демонстрация XEvents (Расширенные события)

  13. SQL Server 2012 Audit

  14. Про аудит… • Что нового в SQL Server 2012 в сравнении с SQL Server 2008? • Влияние аудита на производительность? • Можно ли защитить журнал аудита от DBA? • Что произойдет, если аудит не сможет писать события? • Что делать, если SQL Server не запускается из-за аудита? • Что еще я должен знать про аудит?

  15. Что изменилось по сравнению с SQL Server 2008?

  16. Много чего. Аудит в SQL Server стал более гибким и надежным.

  17. Подсистема аудита SQL ServerУлучшения

  18. Аудит поддерживается во всех редакциях • Основные возможности аудита • Аудит сервера • Аудит БД только в Enterprise • Больше не нуженSQLTrace (!) • В будущих версиях будет удалён • Основные преимущества аудита • Производительность • Несколько аудитов для нескольких целей • Управляемость и изоляция • Несколько сценариев реагирования на сбой аудита

  19. Улучшение устойчивости Select… Rollback • Было: • В случаи сбоя записи событий аудита они могли потеряться • ИспользовалосьON_FAILURE = SHUTDOWN • Теперь: • Автоматическое восстановление при большинстве сбоев • Добавлено“ON_FAILURE = FAIL_OPERATION” • Добавлено“MAX_FILES” option

  20. T-SQL Стек выполнения (дополнительная информация в аудите) SelectSpeaker, Cityfrom dbo.Speaker24PASS execdbo.Get_Speaker dbo.Speaker24PASS dbo.Get_Speaker Audit Log

  21. Демонстрация T-SQL Стек выполнения

  22. Пользовательские события аудита • sp_audit_write() exec sp_audit_write 1234, 1, N‘Hello World’ @user_defined_event_id @succeeded @user_defined_info Audit Log

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

  24. Запись с фильтрацией CREATE SERVER AUDIT audit_name TO { [ FILE (<file_options> [ , ...n ]) ] | APPLICATION_LOG | SECURITY_LOG } [ WITH ( <audit_options> [ , ...n ] ) ] [ FILTER = <predicate_expression> ] } … <predicate_expression> ::= {    [ NOT ] <predicate_factor> | {( <predicate_expression> ) }     [ { AND | OR } [ NOT ] { <predicate_factor> | ( <predicate_expression> ) } ]     [ ,...n ] } • Запись в журнал аудита только ключевых событий • Остальные события аудита генерируются, но не записываются • ИспользуетсяXEvents(расширенные события) фильтрация

  25. Демонстрация Аудит с фильтром

  26. Создаёт ли аудит дополнительную нагрузку на сервер БД?

  27. Да ...

  28. Производительность Аудита • Зависит от: • Рабочей нагрузки • Того, что отслеживаем • Сравнение аудита SQL Server с SQL Trace для 5 разных типичных рабочих нагрузок у клиентов ...

  29. SQL Server Audit vs SQL Trace

  30. Можно ли защитить журнал аудита от DBA? Вечная борьба с SA 

  31. Да! 

  32. Windows Security Log • “Tamper-proof” log (защищённый журнал) • DBA не может очистить журнал (если он не Administrator на сервере) • System Center Operations Manager пакет Audit Collection Service Защита данных аудита • Копирование журналов аудита в безопасное место • Папка или «шара» может быть закрыта от DBA • Журналы аудита доступны только на чтение, когда аудит активен • Можно обеспечить дополнительную защиту от несанкционированного доступа путем шифрования папки • Комбинируйте решения • Фиксируйте все попытки изменить аудит в Windows Security Log • Все остальные события записывайте в файл

  33. Audit Write Failure (Shutdown) • Остановка службы • События аудита из буфера теряются

  34. Размер буфера аудита • Размер буфера аудита варьируется, но составляет около 4 Мб (эквивалент не менее 170 событий, в зависимости от текста инструкции) Audit Write Failure (Continue) • Buffer filled • Сервер блокирует новые события аудита • Не оказывает влияние на другие Аудиты • Блокировка продолжается пока нет возможности записать в буфер или Аудит не доступен • System error • Аудит сессии не происходит • Производится запись вжурнал ошибок SQLServer • Все последующие события вновь пытаются записаться в лог Аудита • При каждом новом события Аудит пытается перезапуститься

  35. Размер буфера аудита • Размер буфера аудита варьируется, но составляет около 4 Мб (эквивалент не менее 170 событий, в зависимости от текста инструкции) Audit Write Failure (Fail Operation) • Buffer filled • Сервер откатывает все события, которые должны попасть в Аудит • Не влияет на другие Аудиты • Все повторные события откатываются пока Аудит не доступен • Все последующие события продолжают осуществлять попытку записи в журнал Аудита

  36. Что делать, если SQL Server не запускается из-за аудита?

  37. Потребуется запуск сервера в однопользовательском режиме

  38. Устранить причину сбоя • Например очистить диск Запуск после сбоя • Шаг 1 • Запуск SQL Server в однопользовательском режиме, “-m” • Аудит работает, но режим shutdown-on-failure не активен • Администратор аудита изменяет настройки Аудита • Шаг 2 • Запуск в минимальной конфигурации, “-f” • Аудит отключен, но события DDL продолжают логироваться. • Шаг 3 • Если используется “Fail Operation” и “AUDIT_ CHANGE_GROUP”, используйте DAC подключение • События аудита генерируются но не вызывают сбой • Бонус

  39. Демонстрация Использование Аудита совместно с политиками (Policy-Based Management)

  40. Что еще я должен знать про аудит?

  41. Всего несколько ключевых вещей.

  42. Что ещё вы должны знать про аудит Параметризованные запросы Журналы аудита не сжаты и не зашифрованы Запись в файл быстрее чем в журнал событий Нет аудита выходных рекордсетов

  43. Заключение

  44. Заключение Расширенные события и Аудит в SQL Server 2012 претерпели ряд существенных изменений Повысилась управляемость и отказоустойчивость Появились новые возможности (пользовательские события, фильтры, T-SQL стек, политики) Высокая производительность Мониторинг активности администратора и предотвращение фальсификации журналов Аудита SQL Trace уходит в прошлое и уже сейчас необходимо полностью от него отказаться (!!!)

  45. Q&A Ваши вопросы

  46. Ресурсы • Books Online: • Security Enhancements (Database Engine), http://msdn.microsoft.com/en-us/library/cc645578(v=sql.110).aspx • SQL Server Audit (Database Engine), http://msdn.microsoft.com/en-us/library/cc280386(v=SQL.110).aspx • Whitepaper: • Auditing in SQL Server 2008, http://msdn.microsoft.com/en-us/library/dd392015(v=SQL.100).aspx • SQL Server Security Forum: • http://social.msdn.microsoft.com/forums/en-US/sqlsecurity/threads/ • SQL Security Blog: • http://blogs.msdn.com/b/sqlsecurity/ • Наш сайт • http://www.EkbIT.Pro • Мой блог • http://www.t-sql.ru

More Related