2e6b8c4fe615341de975538628292617.ppt
- Количество слайдов: 47
Защита информации в системах BI. Некоторые вопросы авторизации, разграничения доступа и аудита в SQL Server 2000. Галина Кутузова Администратор СУБД ВИММ-БИЛЛЬ-ДАНН kutuzova@wbd. ru
План презентации • • Обзор методов защиты информации в SQL 7. 0 Повышение уровня аудита Возможность выбора режима безопасности при установке (Setup) Усиление безопасности при сетевом доступе Расширение возможностей серверных ролей Другие усовершенствования в плане безопасности MS SQL 2000 сертифицирован по классу C 2 Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Модель безопасности SQL Server Запрос на сетевое соединение Установление связи с сервером SQL Запрос к SQL Server на аутентификацию польвателя Установление прав на уровне сервера Переключение на базу Установление прав на уровне базы Попытка выполнить какое-либо действие Проверка прав на любые действия в базе Конференция Платформа 2001 Москва, ноябрь 2000
Режимы безопасности SQL Server • Режим безопасности средствами Windows NT • Аутентификация только средствами Windows NT/ Windows 2000 • Обеспечивает сетевую поддержку single sign-on (единственное предъявление пароля) • Смешанный режим безопасности • Разрешается аутентификация средствами Windows NT • Разрешается аутентификация средствами SQL Server • Сложнее обеспечивать безопасность Конференция Платформа 2001 Москва, ноябрь 2000
Роли в SQL Server • Фиксированные серверные роли • Гибкое админитрирование сервера • Фиксированные базовые роли • Гибкое админитрирование баз • Пользовательские базовые роли • Комбинированная безопасность • Роли приложений • Права выдаются приложению, а не пользователю Конференция Платформа 2001 Москва, ноябрь 2000
Права в SQL Server • Три основных вида прав: • Разрешить (Grant) • Запретить (Deny) • Отменить (Revoke) выданное разрешение (Grant) или запрет (Deny) GRANT - REVOKE [DENY] REVOKE DENY Конференция Платформа 2001 Москва, ноябрь 2000 GRANT DENY +
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Аудит в SQL Server 7. 0 • SQL server 7. 0 отслеживает попытку регистрации • Записи, внесенные в event viewer • 18453 : login succeeded for user ’WBDkutuzova'. Connection: trusted • 18456 : login failed for user ’kutuzova' • Установка аудита осуществляется через Еnterprise Мanager – закладка Server Security (ключ в реестре) Конференция Платформа 2001 Москва, ноябрь 2000
Аудит в SQL Server 7. 0 • Использование Profiler для захвата SQL операторов • • • Большая нагрузка на сервер Нет необходимости отслеживать deny операторы Нет гарантии в 100% аудите • Profiler не разрабатывался для осуществления аудита безопасности… • Разрабатывался как инструмент мониторинга выполнения запросов, а не как инструмент безопасности Конференция Платформа 2001 Москва, ноябрь 2000
Аудит в SQL Server 2000 • Было решено, что Profiler имеет неплохой механизм для аудита. • Profiler разбит на две отдельные компоненты: • SQL trace – серверная сторона профилирования • SQL profiler – UI компоненты • Новая переработанная реализация SQL Trace для SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Расширенные возможности SQL Trace • Одновременная поддержка нескольких файлов (rollover) • Можно сохранить старую трассу при объявлении новой • Можно задать максимальный размер файла для трассы или время ее окончания • Опция “Черный ящик” • Гарантирует 5 Mb информации об exceptions в случае падения сервера • Можно создать трассу с опцией TRACE_PRODUCE_BLACKBOX • Перекрывается новыми возможностями SQL Server 2000 • Оставлена для совместимости Конференция Платформа 2001 Москва, ноябрь 2000
События аудита в SQL Server 2000 • Отслеживается 18 различных видов событий: • • Login/logout GRD - statement perms GRD – object perms Add/drop SQL login GRD NT login rights Modify login property Password change event Add/remove from fixed server role • Add/remove database user Конференция Платформа 2001 Москва, ноябрь 2000 • Add/remove database role member • Add/drop a database role • Change Approle password • Statement permission used • Object permission used • Backup/restore event • DBCC command issued • Audit modification event • Server shutdown/pause/start
Аудит в SQL Server 2000 • Для каждого события несколько подтипов • Пример - GRD object permission: • • • Grant Revoke Deny • Каждое событие включает как минимум: • • Success or Failure Server Name Date/Time of event Application Name Конференция Платформа 2001 Москва, ноябрь 2000 • • NT Username SPID Host Name Statement Text
Как включить аудит • Аудит (кроме аудита уровня C 2) - это именно трасса профайлера • Т. о. надо просто включить трассу профайлера при помощи новых процедур, добавляющих события аудита • Можно инициировать трассу при старте сервера, если необходим исчерпывающий аудит • Включите запуск трассы в хранимую процедуру • Включите хранимую процедуру в автостарт CREATE PROC p_audittrace WITH ENCRYPTION AS EXEC sp_trace_create @traceid output, 2, n‘d: program filesmicrosoft sql servermssqlauditmyaudit’, 500 … RETURN GO EXEC sp_procoption ‘p_audittrace’, ‘startup’, ‘on’ Конференция Платформа 2001 Москва, ноябрь 2000
Программное создание трассы exec master. . xp_cmdshell "del d: temptrace. trc" waitfor delay '00: 01' declare @trace_id as int, @onoff as bit set @onoff = 1 exec sp_trace_create @traceid = @trace_id OUTPUT, @options = 2, @tracefile = N'd: temptrace‘ select * from : : fn_trace_getinfo(default) /* Добавляем в trace события. Соответствие Event. ID - название события описано в документации на sp_trace_setevent. */ exec sp_trace_setevent @traceid = @trace_id, @eventid = 41, @columnid = 1, @on = @onoff -- SQL: Stmt. Completed. . . /* Добавляем в trace колонки. Соответствие Column. ID - название колонки описано в документации на sp_trace_setevent. */ exec sp_trace_setevent @traceid = @trace_id, @eventid = 41, @columnid = 1, @on = @onoff –- Text. Data. . . Конференция Платформа 2001 Москва, ноябрь 2000
Программное создание трассы /* Устанавливаем фильтр по Column. ID = 10 (приложению). @logical_operator = 0 == AND; @comparison_operator = 6 == LIKE, подробнее см. документацию на sp_trace_setfilter */ exec sp_trace_setfilter @traceid = @trace_id, @columnid = 10, @logical_operator = 0, @comparison_operator = 6, @value = N'SQL Query%‘ /* Стартуем trace */ exec sp_trace_setstatus @traceid = @trace_id, @status = 1. . . /* Останавливаем trace */ exec sp_trace_setstatus @traceid = @trace_id, @status = 0 /* Закрываем trace и удаляем с сервера его определение. После этого. trc-файл можно удалить, до этого - sharing violation */ exec sp_trace_setstatus @traceid = @trace_id, @status = 2 /* Открыть. trc-файл из Profiler'a в DOSовской строке "C: Program FilesMicrosoft SQL Server80ToolsBinnprofiler. exe" /Fd: temptrace. trc', либо сразу в виде таблицы: */ select * from : : fn_trace_gettable('d: temptrace. trc', 1) Конференция Платформа 2001 Москва, ноябрь 2000
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Setup и режим безопасности • При установке на NTFS – гарантированный безопасный доступ к файлам • Только учетные записи сервисов и локальная группа администраторов имеют полный доступ к файлам • Теперь защищаются также и ключи SQL Server в реестре • Подобно правам на файлы на NTFS • По умолчанию устанавливается режим безопасности только средствами Windows NT/2000 • Setup напоминает о необходимости установки непустого пароля при выборе смешанного режима безопасности Конференция Платформа 2001 Москва, ноябрь 2000
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Новые возможности сетевых библиотек • Трафик по всем сетевым библиотекам может шифроваться с использованием SSL/TLS • В предыдущих версиях – только для Multiprotocol (RPC) • Полная поддержка протокола Kerberos и делегирования полномочий • Прилинкованные серверы могут использовать ваши действительные полномочия в Windows 2000 • Без необходимости установки отображения (mapping) между логинами Конференция Платформа 2001 Москва, ноябрь 2000
Условия SSL-шифрования • Необходим сертификат на сервер, чтобы использовать SSL-шифрование, и клиент должен доверять этому сертификату • Сертификат устанавливается, используя Microsoft Internet Explorer • При запросе сертификата должно указываться полное DNS-имя сервера Конференция Платформа 2001 Москва, ноябрь 2000
Установка SSL-шифрования по сети • При стандартном режиме безопасности пароль шифруется всегда • Нет необходимости в шифровании при встроенном режиме безопасности • При желании можно установить шифрование для всех соединений данного пользователя • Для этого используется флажок в сетевой утилите клиента • Но если клиент не доверяет сертификату, соединение с сервером установлено не будет Конференция Платформа 2001 Москва, ноябрь 2000
Настройка безопасности в SQL Server 2000 • Можно установить шифрование на все соединения с данным SQL Server • Включить шифрование через серверные сетевые утилиты • Любое соединение, которое не сможет установить SSL -сессию, будет отвергнуто • Необходимо иметь сертификат на сервер • Иначе никакое соединение невозможно (включая локальные) Конференция Платформа 2001 Москва, ноябрь 2000
Керберос и возможность делегирования • Керберос - новый протокол безопасности для Windows 2000 • Обеспечивает гораздо большую безопасность, чем NTLM • Обеспечивает делегирование, которое дает возможность прозрачно переносить полномочия на другие сервера Клиент WBDGalina Конференция Платформа 2001 Москва, ноябрь 2000 Сервер 1 Сервер 2 распознает Вас как WBDGalina
Активизация делегирования • Необходим домен Windows 2000, использующий службу каталогов (Active Directory) и клиент и сервер, использующие Керберос • Это означает, что на всех компьютерах д. б. установлена Windows 2000 • Что необходимо установить в службе каталогов : • Учетная запись пользователя, запрашивающего делегирование, д. б. зависима • Т. е. опция, указывающая, на то, что она не м. б. делегирован, д. б. отключена • Для учетной записи, под к-й работает сервис SQL Server, д. б. выставлена опция, что ему доверяют делегирование • trusted for delegation • Серверу, на к-м запущен SQL Server, должно быть разрешено делегировать полномочия • Выставить опцию, что компьютеру доверено делегирование - Computer is Платформа 2001 Конференцияtrusted for delegation Москва, ноябрь 2000
Активизация делегирования (учетная запись пользователя) • SQL Server должен иметь Service Principal Name (SPN), которое назначается администратором домена Windows 2000 той учетной записи, под которой работает служба SQLServer на данной конкретной машине • При установке SPN используется утилита setspn из Windows 2000 Resource Kit • Setspn –A MSSQLSvc/Host: <порт> <учетная запись пользователя> • Пример: setspn –A MSSQLSvc/galinahome. wbd. ru: 1433 galina • Не следует указывать имя домена в учетной записи: wimmbilldanngalina – работать не будет Конференция Платформа 2001 Москва, ноябрь 2000
Активизация делегирования (учетная запись машины) • При работе SQLServer под Local. System, регистрация происходит автоматически при старте SQLServer • Не требуется никаких дополнительных действий со стороны пользователя • При желании можно воспользоваться вышеприведенной утилитой: Setspn –A MSSQLSvc/Host: <порт> <машина> • Пример: setspn –A MSSQLSvc/galinahome: 1433 galinahome • Local. System гораздо проще, но теряем в функциональности Конференция Платформа 2001 Москва, ноябрь 2000
Дополнительные условия для делегирования • Все учетные записи должны находиться в одном домене или в доверительном дереве. • Не следует использовать динамически назначенные порты (ТСР) для именованных экземпляров • В SPN входит номер порта Конференция Платформа 2001 Москва, ноябрь 2000
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Расширение возможностей серверных ролей • Добавлена серверная роль Bulk. Admin • Позволяет использовать оператор BULK INSERT • Необходимо иметь права на запись на таблицу, в которую происходит загрузка данных • Security. Admin может менять пароли • Но только не у членов роли sysadmin • Server. Admin может управлять всем, что связано с сообщениями • Это не было осуществлено должным образом в SQL Server 7. 0 • Сейчас член этой роли может выполнять sp_addmessage, sp_dropmessage и sp_altermessage Конференция Платформа 2001 Москва, ноябрь 2000
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
EFS и Crypto. API • Полная поддержка системы шифрования (EFS Encrypted File System ) при работе на Windows 2000 • Улучшение шифрования на сервере • Использование Crypto. API для шифрования различных объектов / паролей в SQL server • Исключено поле SUID из всех системных таблиц • sysdatabases, syslogins, sysremotelogins, sysusers, and sysprocesses • Sysalternates удалена полностью • Suser_id(), Suser_name() возвращают NULL Конференция Платформа 2001 Москва, ноябрь 2000
Безопасность при создании резервных копий • Паролями защищаются • Backup Media • Backup Sets • Предотвращает несанкционированное восстановление • Предотвращает несанкционировнную дозапись в устройство при использовании родных инструментов и других MTF совместимых приложений • Внимание! • Сами данные не шифруются и могут быть прочитаны при помощи средств, лежащих ниже слоя абстракции MTF • Не защищает от перезаписи носителя Конференция Платформа 2001 Москва, ноябрь 2000
Определяемые пользователем функции (UDF) · Чтобы создать функцию · Новое разрешение на CREATE FUNCTION · если используется в SCHEMABOUND: необходимы разрешения REFERENCES на любую вызываемую function/table/view. · REFERENCES разрешения могут выдаваться на представления и функции · Чтобы вызвать функцию: · Разрешения типа EXECUTE д. б. назначены на скалярные функции, разрешения типа SELECT на табличные функции · При использовании функций в ограничениях типа CHECK или DEFAULT, необходимо на эту функцию раздать ссылочные (REFERENCES) разрешения Конференция Платформа 2001 Москва, ноябрь 2000
План презентации • Обзор методов защиты информации в SQL 7. 0 • Повышение уровня аудита • Возможность выбора режима безопасности при установке (Setup) • Усиление безопасности при сетевом доступе • Расширение возможностей серверных ролей • Другие усовершенствования в плане безопасности • MS SQL 2000 сертифицирован по классу C 2 • Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
SQL Server 2000 Version 8. 0 August 2000 Microsoft Corporation SQL Server 2000 Version 8. 0 Август 2000 г.
Что такое сертификат С 2 • Первоначально – составная часть Оранжевой Книги • Набор критериев по оценке безопасности компьютерных систем, разработанный Национальным Агентством Безопасности (NSA) по заказу Министерства Обороны США в 1981 г. • В 1996 г. доработан и включен на правах самостоятельного профиля защиты в международный стандарт CCITSE • Common Criteria for Information Technology Security Evaluation • Создавался при участии США, Великобритании, Германии, Франции, Канады и др. • С 2 описывает степень защиты с контролем доступа • Включает требования С 1 • Разграничение пользователей и данных (Trusted Computing Base – TCB) • C 2 – дальнейшее устрожение, аудит, пользователь несет Конференция Платформа 2001 ответственность за совершаемые действия индивидуальную Москва, ноябрь 2000
SQL Server 2000 и уровень C 2 • SQL Server 2000 удовлетворяет требованиям уровня безопасности C 2 и получил этот статус в августе 2000 г. • См. http: //www. radium. ncsc. mil/tpep/epl/entries/TTAP-CSC-EPL 00 -001. html • Данный факт служит лишним подтверждением того, что • Возможности по защите информации значительно усилены в SQL Server 2000 • Предоставляемый аудит соответствует жестким корпоративным стандартам • Чтобы включить C 2 аудит: • Exec sp_configure ‘C 2 audit mode’, 1 go reconfigure • Перезапустить SQL Server Конференция Платформа 2001 Москва, ноябрь 2000
Ограничения C 2 • Возможен только при установке на NTFS • SQL Server будет остановлен (shut down), если нет возможности писать в специальный файл аудита • Файл имеет фиксированный размер в 200 MB • Пишется в папку: mssqldata и называется audit_YYYYMMDDHHMMSS_1 • На момент подготовки доклада Windows 2000 не обладает сертификатом С 2 • Только на Windows NT 4. 0 + SP 6 a • С 2 не описывает межмашинное взаимодействие • Напр. , репликация нарушает условия С 2 • FTS не был установлен в тестах С 2 Конференция Платформа 2001 Москва, ноябрь 2000
Общая картина в плане сертификации СУБД по степени защиты (по состоянию на ноябрь 2000 г. ) Класс СУБД - В 3 - В 2 - В 1 Sybase Secure SQL Server 11. 0. 6 (Янв. 1997), Informix-On. Line/Secure 5. 0 (Ноябрь 1994), Trusted Oracle 7. 0. 13. 1 (Апр. 1994) С 2 Microsoft SQL Server 8. 0 (Август 2000), Sybase Adaptive Server Anywhere 7. 0. 0 with C 2 Update (Cент. 2000), Oracle 7. 0. 13. 1 (Апр. 1994) Классы зарезервированы для систем, которые тестировались по более высоким требованиям, но были D признаны несоответствующими Конференция Платформа 2001 Москва, ноябрь 2000 С 1 Строже А 1
План презентации • • Обзор методов защиты информации в SQL 7. 0 Повышение уровня аудита Возможность выбора режима безопасности при установке (Setup) Усиление безопасности при сетевом доступе Расширение возможностей серверных ролей Другие усовершенствования в плане безопасности MS SQL 2000 сертифицирован по классу C 2 Некоторые возможности разграничения доступа в аналитических службах SQL Server 2000 Конференция Платформа 2001 Москва, ноябрь 2000
Модель доступа • Интегрированная с Windows NT/2000 • В новой версии был добавлен доступ к хранилищу по HTTP Dim cat as new ADOMD. Catalog cat. Active. Connection = "Provider = msolap; " & _ " Datasource =" _ & " http: //<URL>/; " & _ " Initial Catalog = Food. Mart 2000" • Соответственно, аутентификация средствами IIS • Анонимная • Базовая • User Name + Password открытым текстом • NT Challenge / Response = integrated • Средствами SSL • В этом случае многомерный сервер полагается на IIS в плане аутентификации пользователей Конференция Платформа 2001 Москва, ноябрь 2000
Безопасность уровня ячейки • Впервые появилась в SP 1 к SQL Server 7. 0 • В версии 8. 0 добавлен графический интерфейс Конференция Платформа 2001 Москва, ноябрь 2000
Безопасность уровня измерения • Вообще говоря, может быть реализована существующими методами • См. предыдущий слайд • Но удобнее рассматривать измерения как отдельные сущности • Наделенные своими правилами доступа Конференция Платформа 2001 Москва, ноябрь 2000
Иллюстрация ролевой безопасности • Выбираем действие: чтение, послед. чтение (contiguous), запись, . . . • Выбираем диапазон ячеек или совокупность членов измерения • описываемых средствами MDX или накликанных мышкой Cell-level security Employees East Total salary Sq Ft 50 N/A 16, 500 Central 75 $7, 600 K 20, 625 West N/A Member-level security 35 10, 500 Employees Sq Ft East 50 16, 500 Central 75 20, 625 West 35 10, 500
Выводы • Улучшение методов защиты информации по продукту в целом • Обеспечение безопасности начинается с момента установки • Значительно усилен сетевой уровень безопасности • Поддержка осбенностей безопасности Windows 2000 • Продукт сертифицирован по классу C 2 Конференция Платформа 2001 Москва, ноябрь 2000
Во Запросы? SELECT INSERT UPDATE DELETE SHUTDOWN WITH NOWAIT Конференция Платформа 2001 Москва, ноябрь 2000
2e6b8c4fe615341de975538628292617.ppt