Разделы презентаций


Сравнительный анализ моделей безопасности в SQL Server 2000 и SQL Server 2005

Содержание

Компоненты SQL ServerРеляционный серверВнутризапросный параллелизмРаспределенные фрагментированные представления Службы тиражированияСредства создания резервных копий БДМеханизмы отказоустойчивости (Log Shipping, MSCS)Графические средства администрирования и отладкиУтилиты настройки и оптимизацииСлужбы репликацииСлужбы формирования отчетов (Reporting Services)Cлужбы оповещения (Notification

Слайды и текст этой презентации

Слайд 1Сравнительный анализ моделей безопасности в SQL Server 2000 и SQL

Server 2005
Андрей Синкин
Системный инженер
Microsoft

Мартин Рахманов
Старший инженер-программист
Рексофт

Сравнительный анализ моделей безопасности в  SQL Server 2000 и SQL Server 2005Андрей СинкинСистемный инженерMicrosoftМартин РахмановСтарший инженер-программистРексофт

Слайд 2Компоненты SQL Server
Реляционный сервер
Внутризапросный параллелизм
Распределенные фрагментированные представления
Службы тиражирования
Средства создания

резервных копий БД
Механизмы отказоустойчивости (Log Shipping, MSCS)
Графические средства администрирования и

отладки
Утилиты настройки и оптимизации
Службы репликации
Службы формирования отчетов (Reporting Services)
Cлужбы оповещения (Notification Services)
Службы анализа данных (OLAP, DataMining)
Инструменты управления (Management tools)
Программные интерфейсы доступа и разработки
ODBC, OLE DB, ADO, OLE DB for OLAP, ADO MD, ADOX, интерфейсы дистрибутора и согласования, SQL DMO, DSO, …
Компоненты SQL ServerРеляционный серверВнутризапросный параллелизмРаспределенные фрагментированные представления Службы тиражированияСредства создания резервных копий БДМеханизмы отказоустойчивости (Log Shipping, MSCS)Графические

Слайд 3По своей природе веб-приложения электронной коммерции чувствительны к защите информации.

Это послужило причиной внесения в сервер SQL Server 2000 новых значительных

улучшений системы безопасности, не только обеспечивающих наиболее высокий в отрасли уровень безопасности, но также упрощающих применение средств, необходимых для достижения этого уровня. Прежде всего, SQL Server 2000 устанавливается по умолчанию с более высоким уровнем безопасности, при этом используются средства, встроенные в новейшую интегрированную систему безопасности операционной системы Windows 2000. Это упрощает и ускоряет изоляцию сервера в производственной среде.
SQL Server 2000 также включает в себя набор новых средств обеспечения безопасности: мощную и гибкую систему безопасности сервера на ролевой основе, профили БД и приложений, интегрированные средства аудита безопасности (отслеживающие 18 различных видов событий и дополнительные события), поддержку шифрования файлов и сетевых сообщений (включая SSL), а также поддержку протокола Kerberos и возможность делегирования полномочий. SQL Server 2000 прошел проверку в рамках программы правительства США Trusted Product Evaluation Program и Агентство национальной безопасности подтвердило его соответствие уровню безопасности C2
По своей природе веб-приложения электронной коммерции чувствительны к защите информации. Это послужило причиной внесения в сервер SQL

Слайд 4Редакции SQL Server
SQL Server 2005 Enterprise Edition
SQL Server 2005

Standart Edition
SQL Server 2005 Workgroup Edition
SQL Server 2005 Express Edition

(Free)
SQL Server 2005 Developer Edition



Редакции SQL Server SQL Server 2005 Enterprise EditionSQL Server 2005 Standart EditionSQL Server 2005 Workgroup EditionSQL Server

Слайд 5Безопасность
SQL Profiler - мониторинг событий класса безопасности
Add/drop SQL login, Add/remove

database user, Add/remove database role member, Password change, GRD -

statement perms, GRD – object perms, ...
Для каждого записывается время, пользователь, хост, успех/неудача и т.д.
Шифрация трафика для всех сетевых библиотек при помощи SSL / TLS
Поддержка делегирования на основе Kerberos, интеграция с Active Directory
БезопасностьSQL Profiler - мониторинг событий класса безопасностиAdd/drop SQL login, Add/remove database user, Add/remove database role member, Password

Слайд 6Кластеризация

Cluster Service
(до 8-х узлов)
SQL Server 2005 EE
SQL Server 2005

EE
SQL Server 2005 EE
SQL Server 2005 EE
Общий дисковый массив
Fiber Channel

КластеризацияCluster Service (до 8-х узлов)SQL Server 2005 EESQL Server 2005 EESQL Server 2005 EESQL Server 2005 EEОбщий

Слайд 7Передача журналов (Log Shipping)
Основной сервер
Резервные серверы (1..n)
1. BACKUP T-LOG
T-Log
Dump
3.
RESTORE

T-LOG
WITH STANDBY
T-Log
Dump
Сервер мониторинга
2. Log COPY (“Pulled”)
Запланированные по расписанию работы

в SQL Agent
Передача журналов (Log Shipping)Основной серверРезервные серверы (1..n)1. BACKUP T-LOGT-Log Dump3.RESTORE T-LOGWITH STANDBYT-Log DumpСервер мониторинга2. Log COPY (“Pulled”)Запланированные

Слайд 8Расширенный список параллельных операций
Операция создания индекса выполняется одновременно на нескольких

потоках
Линейная масштабируемость в зависимости от числа процессоров
Каждый поток получает свой

диапазон значений
На основе известной статистики распределения индексных ключей поддерживается баланс нагрузки между потоками
На заключительном этапе поддеревья объединяются в единый индекс


Параллельное сканирование по диапазонам




A-H

I-R

S-Z


A-Z



Поток





Расширенный список параллельных операцийОперация создания индекса выполняется одновременно на нескольких потокахЛинейная масштабируемость в зависимости от числа процессоровКаждый

Слайд 9Индексированные представления
Обычное представление – всего лишь удобная форма записи сложного

оператора SELECT
Чтобы обращаться к нему как к якобы таблице
Хранится только

определение SQL-запроса, который выполняется всякий раз при обращении к представлению
Как только над представлением создается индекс, его результаты «материализуются»
И обновляются при модификации данных в исходных таблицах
Т.е. ведут себя как все приличные индексы
Представление может содержать агрегаты, операторы связывания таблиц или их комбинацию
Первый индекс над представлением должен быть
Кластерным -> для сохранения представления как таблицы
Уникальным -> для поддержки индекса актуальным при внесении изменений в таблицы

Кто выигрывает от индексированных представлений
Приложения, изобилующие запросами с многочисленными операторами связывания, группировки, агрегации
Т.е. OLAP-приложения
Оптимизатор может использовать индекс над представлением, даже если оно явно не фигурирует в запросе
Кто не выигрывает
Приложения, для которых характерны постоянные обновления в БД
Т.е. OLTP-приложения
Т.к. частая коррекция представлений снижает производительность
Группировки по высокоселективным полям
Т.к. размер представления будет ненамного меньше самой таблицы

Индексированные представленияОбычное представление – всего лишь удобная форма записи сложного оператора SELECTЧтобы обращаться к нему как к

Слайд 10Поддержка XML
SQL -> XML
SELECT … FOR XML
XML ->

SQL
OpenXML в T-SQL
UpdateGrams
XML-описание операций INSERT, UPDATE, DELETE
Bulk Load XML-файлов

в БД
XML View Mapper
Отображение XML-документа на таблицу
Поддержка XML SQL -> XML SELECT … FOR XMLXML -> SQL OpenXML в T-SQLUpdateGramsXML-описание операций INSERT, UPDATE,

Слайд 11Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 12Составляющие модели безопасности SQL Server 2000
Аутентификация
Учётные записи Windows и SQL

Server

Авторизация
Проверки разрешений на доступ к объектам и на выполнение операций

Аудит
Трассировка,

журналы сервера и системы

Составляющие модели безопасности SQL Server 2000АутентификацияУчётные записи Windows и SQL ServerАвторизацияПроверки разрешений на доступ к объектам и

Слайд 13Модель безопасности SQL Server 2000
Запрос на сетевое подключение
Запрос на подключение

к SQL Server
Переход к БД и проверка прав
Попытка выполнить действия

Модель безопасности SQL Server 2000Запрос на сетевое подключениеЗапрос на подключение к SQL ServerПереход к БД и проверка

Слайд 14Режимы доступа к SQL Server
Windows® Authentication
Доступ разрешен только с использованием

бюджета Windows NT®/ Windows 2000/2003
Обеспечивает единую регистрацию
Mixed security
Принимает доступ под

бюджетом Windows
Принимает доступ через авторизацию на SQL Server
Сложнее поддается защите
Режимы доступа к SQL ServerWindows® AuthenticationДоступ разрешен только с использованием бюджета Windows NT®/ Windows 2000/2003Обеспечивает единую регистрациюMixed

Слайд 15Учётная запись и Пользователь
Учётная запись (login) дает право на подключение
Хранится

в БД master
Относится к серверу в целом
Сама по себе не

дает прав
Исключение: Членство в фиксированной серверной роли
Пользователь (user) БД ассоциируется с правами
С ним ассоциируется схема (коллекция объектов БД)
Права назначаются пользователям БД
Действует в рамках конкретной БД
Учётная запись и ПользовательУчётная запись (login) дает право на подключениеХранится в БД masterОтносится к серверу в целомСама

Слайд 16Роли SQL Server
Фиксированные роли сервера
Гибкое администрирование сервера
Фиксированные роли БД
Гибкое администрирование

БД
Пользовательские роли БД
Пользовательские комбинации прав
Прикладные роли
Ассоциация прав с приложением, а

не с пользователем
Роли SQL ServerФиксированные роли сервераГибкое администрирование сервераФиксированные роли БДГибкое администрирование БДПользовательские роли БДПользовательские комбинации правПрикладные ролиАссоциация прав

Слайд 17Разрешения
SQL Server поддерживает три команды для работы с разрешениями (Data

Control Language - DCL):
GRANT назначает разрешение
DENY запрещает разрешение
REVOKE отзывает сделанное

ранее при помощи GRANT или DENY действие
РазрешенияSQL Server поддерживает три команды для работы с разрешениями (Data Control Language - DCL):GRANT назначает разрешениеDENY запрещает

Слайд 18Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 19Ограничения модели безопасности SQL Server 2000 и способы их устранения
1.

Неограничен доступ к метаданным для любого пользователя БД. Решение: разрабатывать

приложение так, чтобы доступ к хранимому коду на стороне SQL Server не позволил злоумышленнику нанести существенный ущерб
2. Невозможно назначить пользователю БД разрешения на выполнение определённых команд без повышения уровня его привилегий. Решение: в SQL2k решение отсутствует
3. По умолчанию непривилегированный пользователь может выполнить ряд расширенных хранимых процедур, предоставляющих доступ к важной информации. Решение: отозвать разрешения на выполнение ряда хранимых процедур для встроенной группы public
4. Отсутствуют встроенные средства шифрования данных. Решение: использовать средства сторонних производителей
5. Нет возможности ограничить количество попыток соединения с сервером при указании неверной пары учётная запись/пароль для учётных записей SQL Server. Решение: использовать для соединения с сервером только учётные записи Windows, либо использовать средства сторонних производителей
Ограничения модели безопасности  SQL Server 2000 и способы их устранения1. Неограничен доступ к метаданным для любого

Слайд 20Есть db_datareader и db_datawriter, а db_executor нет..

Есть db_datareader и db_datawriter, а db_executor нет..

Слайд 21Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 22Рекомендации по настройке
Установить самые свежие пакеты обновлений и исправлений
Отключить ненужные

сетевые протоколы
Включить протоколирование (аудит) неудачных попыток подключения
Разместить файлы данных на

файловой системе NTFS и настроить доступ к ним
Использовать только аутентификацию Windows
Указать сложные пароли для учётных записей SQL Server
Использовать непривилегированные (не административные, как минимум) учётные записи для запуска службы mssqlserver и службы SQL Server Agent.
Подробнее в разделе “SQLSecurity Checklist” на сайте www.sqlsecurity.com
Рекомендации по настройкеУстановить самые свежие пакеты обновлений и исправленийОтключить ненужные сетевые протоколыВключить протоколирование (аудит) неудачных попыток подключенияРазместить

Слайд 23Рекомендации по настройке
Microsoft Baseline Security Analyzer
Слишком много пользователей входят в

роль sysadmin
Права на выполнение CmdExec дано не только роли sysadmin
Пустой

или простой пароль
Администраторы Windows входят в роль sysadmin?
Некорректные разрешения (ACLs) на папки данных SQL Server
В логах установки остается пароль sa (sqlstp.log и др.)
Пользователь guest по умолчанию наделен излишними правами
SQL Server запущен на контроллере домена
Доступ на чтение определенных ключей реестра для группы Everyone
Наделение учетной записи для запуска SQL Server излишними полномочиями
Отсутствие пакетов исправлений и обновлений

http://www.microsoft.com/technet/security/tools/mbsahome.mspx

Service Pack Installation May Save Standard Security Password in File

Рекомендации по настройкеMicrosoft Baseline Security AnalyzerСлишком много пользователей входят в роль sysadminПрава на выполнение CmdExec дано не

Слайд 24Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 25Database Maintenance
Backup and Restore Enhancements
Checksum Integrity Checks
Dedicated Administrator Connection
Dynamic AWE
Fast

Recovery
Highly-available Upgrade
Online Index Operations
Online Restore
Parallel DBCC
Parallel Index Operations
Management Tools
MDX Query

Editor
MDX Intellisense
T-SQL Intellisense
Version Control Support
XML/A
SQLCMD Command Line Tool
Performance Tuning
Profiler Enhancements
Profiling Analysis Services
Exportable Showplan
Exportable Deadlock Traces
Full-text Search
Indexing of XML Datatype
MDAC
Side by Side installation
Microsoft Installer base setup
Support for Active Directory Deployment
SQL Client .NET Data Provider
Server Cursor Support
Asynch
Security
All Permissions Grantable
Fine Grain Administration Rights
Separation of Users and Schema


SQL Server 2005




.NET Framework
Common Language Runtime Integration
User-defined Aggregates
User-defined Data Types
User-defined Functions
SQL Server In-Proc Data Provider
Extended Triggers
Data Types
File Stream Storage Attribute
Managed SQL Types
New XML Datatype
SQL Server Engine
New Message Service Broker
HTTP Support (Native HTTP)
Database Tuning Advisor
Enhanced Read ahead & scan
Extended Indexes
Multiple Active Result Sets
Persisted Computed Columns
Queuing Support
Snapshot Isolation Level
Scale Up Partitioning
VIA support
NUMA support
Database Failure and Redundancy
Fail-over Clustering (up to 8 node)
Enhanced Multi-instance Support
Database Mirroring
Database Viewpoints
XML
XQUERY Support (Server & Mid Tier)
XML Data Manipulation Language
FOR XML Enhancements
XML Schema (XSD) Support
MSXML 6.0 (Native)
XQuery Designer

Replication
Auto-tuning Replication Agents
Oracle Publication
Improved Blob Change Tracking
OLAP and Data Mining
Analysis Management Objects
Windows Integrated Backup and Restore
Web Services/XML for Analysis
DTS and DM Integration
Eight new DM algorithms
Auto Packaging and Deployment
Data Transformation Services
New Architecture (DTR + DTP)
Complex Control Flows
Control Flow Debugging
For Each Enumerations
Property Mappings
Full Data Flow Designer
Full DTS Control Flow Designer
Graphical Presentation of Pkg Execution
Immediate Mode and Project Mode
Package (Advanced) Deployment Tools
Custom Tasks and Transformations
Reporting Services
Multiple Output Formats
Parameters (Static, Dynamic, Hierarchical)
Bulk Delivery of Personalized Content
Support Multiple Data Sources
Sharepoint Support
Visual Design Tool
Charting, Sorting, Filtering, Drill-Through
Scheduling, Caching
Complete Scripting Engine
Scale Out architecture
XML Report Definition

Database Maintenance	Backup and Restore EnhancementsChecksum Integrity ChecksDedicated Administrator ConnectionDynamic AWE	Fast Recovery	Highly-available Upgrade	Online Index Operations	Online Restore	Parallel DBCC	Parallel Index

Слайд 26Что нового в модели безопасности SQL Server 2005
Более жесткие настройки

по умолчанию
Сокрытие метаданных
Парольная политика
Новые разрешения и уровни разрешений
Разделение схемы и

владельца
Контекст выполнения хранимого кода
Безопасность .NET кода
Встроенное шифрование данных
Триггеры на DDL
Что нового в модели безопасности SQL Server 2005Более жесткие настройки по умолчаниюСокрытие метаданныхПарольная политикаНовые разрешения и уровни

Слайд 27Настройки по умолчанию
Требуется явное включение дополнительной функциональности
Microsoft .NET Framework
SQL

Service Broker Network Connectivity
Analysis Services http connectivity
Следующие службы находятся в

режиме запуска Manual
SQL Server Agent
full-text search
Новый сервис Data Transformation Services

При установке требуется задание пароля учётной записи sa
даже если сервер будет применять исключительно режим
аутентификации Windows
Настройки по умолчаниюТребуется явное включение дополнительной функциональности Microsoft .NET FrameworkSQL Service Broker Network ConnectivityAnalysis Services http connectivityСледующие

Слайд 28Сокрытие метаданных
Системные объекты теперь находятся в скрытой базе mssqlsystemresource
Catalog Views

– замена и расширение системных таблиц, данные из Catalog Views

фильтруются в зависимости от того, кто делает запрос
Разрешение VIEW DEFINITION позволяет обойти сокрытие метаданных и его можно выдать на трех уровнях: базы, схемы, объекта
Шифрование хранимого кода стало надёжным
Сокрытие метаданныхСистемные объекты теперь находятся в скрытой базе mssqlsystemresourceCatalog Views – замена и расширение системных таблиц, данные

Слайд 29Парольная политика
Для учётной записи SQL Server можно указать следующие параметры

команды CREATE/ALTER LOGIN:
Необходимость сменить пароль при первом соединении с сервером

(MUST_CHANGE)
Необходимость проверки срока действия пароля (CHECK_EXPIRATION)
Необходимость применения локальной парольной политики Windows (CHECK_POLICY)
CHECK_EXPIRATION и CHECK_POLICY работают полноценно на Windows 2003 Server и более новых системах, а на Windows 2000 это сводится к проверке жестко зашитых правил
Парольная политикаДля учётной записи SQL Server можно указать следующие параметры команды CREATE/ALTER LOGIN:Необходимость сменить пароль при первом

Слайд 30Парольная политика

Парольная политика

Слайд 31Новые разрешения
Разрешения можно выдавать на четырех уровнях:

Сервера
Базы
Схемы
Объекта

Выданные разрешения уровня

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

sys.server_permissions и sys.database_permissions
Новые разрешенияРазрешения можно выдавать на четырех уровнях: СервераБазыСхемыОбъектаВыданные разрешения уровня сервера и уровня базы данных можно получить

Слайд 32Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 33Проблема неразделения схемы и пользователя


User
Database Object
управляется
User 2
Удаление пользователей может привести

к необходимости изменения кода приложения!

Проблема неразделения схемы и пользователяUserDatabase ObjectуправляетсяUser 2Удаление пользователей может привести к необходимости изменения кода приложения!

Слайд 34Удаление пользователя => изменение кода приложения
App1
App2
SELECT custID FROM User1.OrdersTable
Изменение App1
Изменение

App2
OrdersTable

InsertOrderProc
SELECT custID FROM User2.OrdersTable
Exec User1.InsertOrderProc (@orderid)
Exec User2.InsertOrderProc (@orderid)

Пользователь = User1


SCHEMA = User1

Пользователь = User2
SCHEMA = User2

Удаление пользователя => изменение кода приложенияApp1App2SELECT custID FROM User1.OrdersTableИзменение App1Изменение App2OrdersTableInsertOrderProcSELECT custID FROM User2.OrdersTableExec User1.InsertOrderProc (@orderid)Exec User2.InsertOrderProc

Слайд 35Разделение схемы и владельца
База данных может содержать множество схем
Каждая схема

имеет только одного владельца – пользователя или роль
Каждый пользователь имеет

схему по умолчанию
Большинство объектов БД находятся в схемах
Создание объекта внутри схемы требует полномочий CREATE и полномочий ALTER или CONTROL на эту схему
Цепочка владения по-прежнему основана на владельцах, а не на схемах



владеет

имеет схему по умолчанию

владеет

владеет

Схема 3

База данных

Разделение схемы и владельцаБаза данных может содержать множество схемКаждая схема имеет только одного владельца – пользователя или

Слайд 36Разделение схемы и владельца


User
Database Object
Schema
содержится в
управляется
управляется
User 2
управляется
Удаление пользователя не потребует

изменения кода приложения

Разделение схемы и владельцаUserDatabase ObjectSchemaсодержится вуправляетсяуправляетсяUser 2управляетсяУдаление пользователя не потребует изменения кода приложения

Слайд 37Удаление пользователя не приводит к изменению кода приложения
App1
App2
SELECT custID FROM

User1.OrdersTable
OrdersTable

InsertOrderProc
Exec User1.InsertOrderProc (@orderid)

Владелец = User1
SCHEMA = User1
Владелец = User2


SCHEMA = User1
Удаление пользователя не  приводит к изменению кода приложенияApp1App2SELECT custID FROM User1.OrdersTableOrdersTableInsertOrderProcExec User1.InsertOrderProc (@orderid)Владелец = User1 SCHEMA

Слайд 38Разделение схемы и владельца
Разделение владельцев (principals) и схем
Владелец (Principal)
Сущность от

которой защищают объекты
Доступны через представление sys.database_principals
Схема (Schema)
Контейнер объектов; 3-я часть

полного наименования
Доступны через представление sys.schemas
Понятие схемы по умолчанию
Присуще пользователю или роли приложения
Используется при разрешении имен; механизм для поиска объектов
Содержится в представлении sys.database_principals
Удаление пользователя не требует изменения кода приложения
Разделение схемы и владельцаРазделение владельцев (principals) и схемВладелец (Principal)Сущность от которой защищают объектыДоступны через представление sys.database_principalsСхема (Schema)Контейнер

Слайд 39

Schema
содержится в
User 2
управляется
Default Schema
User1
Default Schema S1
User2
User3
Разделение схемы и владельца
Схема по

умолчанию дает дополнительный контроль над разрешением имен

Schemaсодержится вUser 2управляетсяDefault SchemaUser1Default Schema S1User2User3Разделение схемы и владельцаСхема по умолчанию дает дополнительный контроль над разрешением имен

Слайд 40Схема по умолчанию
Используется для разрешения имен
Не всем пользователям нужно управлять

схемами
Один и тот же процесс разрешения имён для нескольких пользователей
Схема

dbo может является не обязательно единственной общей схемой в плане разрешения имен
Зачем это нужно?
для того, чтобы объект мог быть доступен из любого контекста, его не обязательно создавать в схеме dbo
Разрешение создания объектов в схеме dbo может привести к некоторому риску безопасности при использовании цепочек владения
Схема по умолчаниюИспользуется для разрешения именНе всем пользователям нужно управлять схемамиОдин и тот же процесс разрешения имён

Слайд 41Содержание
Обзор модели безопасности SQL Server 2000
Ограничения модели безопасности и способы

их устранения
Рекомендации по настройке
Что нового в SQL Server 2005?
Новая модель

разрешений
Безопасность метаданных
Более гранулярные разрешения
Покрывающие разрешения
Разделение схемы и владельца
Контекст выполнения хранимого кода
СодержаниеОбзор модели безопасности SQL Server 2000Ограничения модели безопасности и способы их устраненияРекомендации по настройкеЧто нового в SQL

Слайд 42

User 3
Select Perms проверяются для User3
Execute Perms проверяются для User3
User1.Proc1
User1.T1
Execute

Perms проверяются для User3
Нет проверки Perms для User3
‘EXECUTE AS ‘X’


Execute Perms проверяются для User3

Select Perms проверяются для ‘X’.
а не для User3

SQL 2005

SQL 2000


Контекст выполнения хранимого кода

User 3Select Perms  проверяются для User3Execute Perms проверяются для User3User1.Proc1User1.T1Execute Perms проверяются для User3Нет проверки Perms

Слайд 43Возможность указывать контекст выполнения
процедуры, функции, триггеры
Цепочка владения теперь не является

единственным механизмом упрощающим назначение прав
Правила цепочек владения по-прежнему применимы
Разрешения проверяются

для тек.контекста
В отличие от цепочек владения применимо и к командам DDL
Применимо и к динамическому SQL

Контекст выполнения хранимого кода

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

Слайд 44Контекст выполнения хранимого кода
Для хранимых процедур и определяемых пользователем функций

(кроме inline table-valued) предусмотрено четыре выражения для указания контекста выполнения,

т.е. пользователя, который будет использоваться при проверке разрешений на объекты, на которые ссылается процедура или функция.

CALLER – выполнять под вызвавшим пользователем
SELF – под создавшим процедуру
USER = username - под указанным пользователем
OWNER – под текущим владельцем процедуры
Контекст выполнения хранимого кодаДля хранимых процедур и определяемых пользователем функций (кроме inline table-valued) предусмотрено четыре выражения для

Слайд 45По умолчанию – EXECUTE AS CALLER. Для указания имени пользователя

username (отличного от своего) необходимо выполнение одного из условий:

Входить в

фиксированную серверную роль sysadmin
Входить в фиксированную роль базы данных db_owner
Обладать разрешением на имперсонализацию учетной записи, соответствующей пользователю username.

Можно использовать EXECUTE AS USER = username в качестве “обертки” команд, разрешения на которые нельзя передавать. Например так можно делегировать TRUNCATE.

Контекст выполнения хранимого кода

По умолчанию – EXECUTE AS CALLER. Для указания имени пользователя username (отличного от своего) необходимо выполнение одного

Слайд 46Создание набора разрешений с помощью EXECUTE AS
Сценарий:
Database Admin хочет дать

возможность делать усечение (truncate) ряда таблиц каждую ночь.
Проблема:
Truncate непередаваемое разрешение
Минимальное

покрывающее разрешение - ALTER, но оно дает больше прав чем нужно
Решение: нам поможет EXECUTE AS!
Создать процедуру, которая усекает нужные таблицы
Указать в строке execute as пользователя с правами ALTER
Дать разрешение на выполнение процедуры нужному пользователю
Результат:
Мы только что сделали Truncate назначаемым разрешением!
Создание набора разрешений с помощью EXECUTE ASСценарий:Database Admin хочет дать возможность делать усечение (truncate) ряда таблиц каждую

Слайд 47Безопасность .NET кода
Для .NET сборок предусмотрено указание одного из трех

уровней безопасности при загрузке в SQL Server командой CREATE ASSEMBLY: SAFE

- доступ ко внешним ресурсам не допускается EXTERNAL_ACCESS – допускается доступ к файлам, сетевым ресурсам, реестру, переменным окружения UNSAFE - доступ ко всем ресурсам, в том числе к неуправляемому коду

Если сборка в процессе работы выйдет за указанные при ее загрузке пределы, то CLR сгенерирует исключение и выполнение прекратится.

Безопасность .NET кодаДля .NET сборок предусмотрено указание одного из трех уровней безопасности при загрузке в SQL Server

Слайд 48Поддержка криптографии
В SQL Server 2005 есть встроенные средства шифрования, цифровой

подписи и верификации

Поддерживаемые типы ключей:
Симметричные ключи
RC4, RC2, DES, AES
Асимметричные ключи
Rivest-Shamir-Adelman

Encryption (RSA)
Поддержка криптографииВ SQL Server 2005 есть встроенные средства шифрования, цифровой подписи и верификацииПоддерживаемые типы ключей:Симметричные ключиRC4, RC2,

Слайд 49Поддержка криптографии

Поддержка криптографии

Слайд 50Триггеры на DDL
Появилась возможность создавать триггеры для DDL, что
позволяет

вести расширенный аудит. Создаются на базу
или сервер, не могут

быть INSTEAD OF.
Триггеры на DDLПоявилась возможность создавать триггеры для DDL, что позволяет вести расширенный аудит. Создаются на базу или

Слайд 51Конечные точки (Endpoints)
Абстракция номера порта, транспортного протокола и принципала

Как происходит

соединение:

Клиент указывает номер порта
Сервер вычисляет Endpoint, который соответствует указанному порту
Сервер

проверят, что этот Endpoint правильно сконфигурирован
Сервер проверят, что указанные принципал имеет разрешение на соединение с данным Endpoint
Конечные точки (Endpoints)Абстракция номера порта, транспортного протокола и принципалаКак происходит соединение:Клиент указывает номер портаСервер вычисляет Endpoint, который

Слайд 52Человеку свойственно ошибаться SQL Injection
Как избежать:
Отказаться от динамических запросов в

пользу хранимых процедур или параметризованных запросов.
Использовать регулярные выражения для проверки

пользовательского ввода до того, как он будет отправлен в СУБД.
Использовать функции для экранирования специальных символов
Проверка пользовательского ввода
Соответствие типов
Никогда не строить T-SQL команды непосредственно из введенных пользователем данных
Использовать процедуры для проверки ввода либо вынести проверку на уровень приложения
Никогда не принимать строки, участвующие в создании имени файла и содержащие: AUX, CLOCK$, COM1, .., COM8, CON, CONFIG$, LPT1, .., LPT8, NUL и PRN
Человеку свойственно ошибаться  SQL InjectionКак избежать: Отказаться от динамических запросов в пользу хранимых процедур или параметризованных

Слайд 53Подведение итогов
SQL Server 2000 – промышленная СУБД с надежным механизмом

контроля доступа к информации

SQL Server 2005 – упростит жизнь разработчикам

и администраторам при создании и поддержке надежных и безопасных приложений
Подведение итоговSQL Server 2000 – промышленная СУБД с надежным механизмом контроля доступа к информацииSQL Server 2005 –

Слайд 54Ресурсы
Для разработчиков и профессионалов в IT
Официальная страница о SQL

Server 2005
http://www.microsoft.com/sql/2005

Один из самых интересных сайтов, посвященных безопасности SQL Server
http://www.sqlsecurity.com

Российское

сообщество по SQL Server
http://www.sql.ru
Каждый месяц в Microsoft Russia проводится семинар, посвященный SQL Server (уже 18 - в Москве, 4 – в Питере, до 70 участников)
РесурсыДля разработчиков и профессионалов в IT Официальная страница о SQL Server 2005http://www.microsoft.com/sql/2005Один из самых интересных сайтов, посвященных

Слайд 55© 2004 Microsoft Corporation. All rights reserved.
This presentation is for

informational purposes only. MICROSOFT MAKES NO WARRANTIES, EXPRESS OR IMPLIED,

IN THIS SUMMARY.
© 2004 Microsoft Corporation. All rights reserved.This presentation is for informational purposes only. MICROSOFT MAKES NO WARRANTIES,

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика