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

Презентация:



Advertisements
Похожие презентации
Компоненты SQL Server Реляционный сервер –Внутризапросный параллелизм –Распределенные фрагментированные представления (серверные фермы) –Службы тиражирования.
Advertisements

Лекция 27 Лекция 27 Идентификация пользователей. Проверка и назначение полномочий и представлений данных пользователей. Защита базы данных. Контроль параллельной.
Администрирование информационных систем Администрирование БД. Управление разрешениями.
Обеспечение безопасности данных. Управление доступом к данным. Управление доступом к данным. Управление пользователями БД. Управление пользователями БД.
Урок 1. Обзор сервера SQL Server. Обзор Что такое сервер SQL Server Архитектура сервера SQL Server Система безопасности сервера SQL Server Базы данных.
«Управление доступом к данным» Подготовила студентка 2 курса 10 группы ГМУ Филиппова Галина Валерьевна.
Безопасность СУБД СУБД имеет свои собственные: Пользовательские бюджеты Механизм ведения аудита Механизм разграничения доступа Язык программирования Механизм.
Администрирование информационных систем Обеспечение доступности серверов БД.
Единая система аутентификации Обзор решения Москва, 2012г.
Доступ в DB2 Белькова Евгения, программист отдела тестирования, группа DB2 Tools.
Top 10 возможностей ASP.NET 2.0. Выбор сделан на основе опросов разработчиков Top 10 – горячая десятка возможностей.
Администрирование информационных систем Начало работы с MS SQL Server 2000.
Сетевые службы Для конечного пользователя сеть это не компьютеры, кабели и концентраторы и даже не информационные потоки, для него сеть это, прежде всего,
Методы и средства обеспечения информационной безопасности в системе 1С:Предприятие 8.1 П.Б.Хорев доцент кафедры информационной безопасности РГСУ.
Технология модели «клиент-сервер». Роли Компьютер, управляющий тем или иным ресурсом, принято называть сервером этого ресурса Компьютер, желающий воспользоваться.
Администрирование и безопасность MySQL. Создание и удаление пользователей Под учетной записью пользователя MySQL подразумевается строка в таблице user.
БД (администрирование) 1 Базы данных (администрирование) Аблов Игорь Васильевич Кафедра информационных технологий.
Kaspersky Security 8.0 для SharePoint Server Ключевые возможности и преимущества.
Урок 6. Восстановление баз данных. Обзор Процесс регенерации на сервере SQL Server Подготовка к восстановлению базы данных Восстановление резервных копий.
Безопасность СУБД Раздел IV. Безопасность СУБД Рассматриваемые темы: Модель безопасности СУБД MS SQL Server Анализ защищённости СУБД.
Транксрипт:

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

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

Редакции 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 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

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

Передача журналов (Log Shipping) Основной сервер Резервные серверы (1..n) 1. BACKUP T-LOG T-LogDump 3. RESTORE T-LOG WITH STANDBY T-LogDump Сервер мониторинга 2. Log COPY (Pulled) Запланированные по расписанию работы в SQL Agent

Расширенный список параллельных операций Операция создания индекса выполняется одновременно на нескольких потоках –Линейная масштабируемость в зависимости от числа процессоров Каждый поток получает свой диапазон значений –На основе известной статистики распределения индексных ключей поддерживается баланс нагрузки между потоками –На заключительном этапе поддеревья объединяются в единый индекс Параллельное сканирование по диапазонам A-H I-RS-Z A-Z Поток

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

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

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

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

Модель безопасности SQL Server 2000 Определение прав на подключение Подключение к компьютеру с SQL Server Проверка прав на выполнение действий Запрос на сетевое подключение Запрос на подключение к SQL Server Переход к БД и проверка прав Попытка выполнить действия Создание контекста работы с БД

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

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

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

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

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

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

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

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

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

Рекомендации по настройке Microsoft Baseline Security Analyzer Слишком много пользователей входят в роль sysadmin Слишком много пользователей входят в роль sysadmin Права на выполнение CmdExec дано не только роли sysadmin Права на выполнение CmdExec дано не только роли sysadmin Пустой или простой пароль Пустой или простой пароль Администраторы Windows входят в роль sysadmin? Администраторы Windows входят в роль sysadmin? Некорректные разрешения (ACLs) на папки данных SQL Server Некорректные разрешения (ACLs) на папки данных SQL Server В логах установки остается пароль sa (sqlstp.log и др.) В логах установки остается пароль sa (sqlstp.log и др.) Пользователь guest по умолчанию наделен излишними правами Пользователь guest по умолчанию наделен излишними правами SQL Server запущен на контроллере домена SQL Server запущен на контроллере домена Доступ на чтение определенных ключей реестра для группы Everyone Доступ на чтение определенных ключей реестра для группы Everyone Наделение учетной записи для запуска SQL Server излишними полномочиями Наделение учетной записи для запуска SQL Server излишними полномочиями Отсутствие пакетов исправлений и обновлений Отсутствие пакетов исправлений и обновлений Service Pack Installation May Save Standard Security Password in File

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

Database 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 AsynchSecurity All Permissions Grantable Fine Grain Administration Rights Separation of Users and Schema SQL Server 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

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

Настройки по умолчанию Требуется явное включение дополнительной функциональности –Microsoft.NET Framework –SQL Service Broker Network Connectivity –Analysis Services http connectivity Следующие службы находятся в режиме запуска Manual –SQL Server Agent –full-text search –Новый сервис Data Transformation Services При установке требуется задание пароля учётной записи sa даже если сервер будет применять исключительно режим аутентификации Windows

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

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

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

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

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

Проблема неразделения схемы и пользователя User Database Object управляется Table View SP Function User 2 Разрешение имен Н-р: Select * from Foo User.foo User.foo dbo.foo dbo.foo Удаление пользователей может привести к необходимости изменения кода приложения!

Удаление пользователя => изменение кода приложения App1 App2 SELECT custID FROM User1. OrdersTable Изменение App1 Изменение App2 OrdersTable InsertOrderProc SELECT custID FROM User2. OrdersTable Exec User1. InsertOrderProc Exec User2. InsertOrderProc Пользователь = User1 SCHEMA = User1 Пользователь = User2 SCHEMA = User2

Разделение схемы и владельца База данных может содержать множество схем Каждая схема имеет только одного владельца – пользователя или роль Каждый пользователь имеет схему по умолчанию Большинство объектов БД находятся в схемах Создание объекта внутри схемы требует полномочий CREATE и полномочий ALTER или CONTROL на эту схему Цепочка владения по-прежнему основана на владельцах, а не на схемах Role1User1 владеет имеет схему по умолчанию владеет Approle1 владеет Схема 1Схема 2 Схема 3 SP1 Fn1 Tab1 База данных

Разделение схемы и владельца User Database Object Schema содержится вуправляется управляется Table View Stored Proc Function User 2 управляется Удаление пользователя не потребует изменения кода приложения

Удаление пользователя не приводит к изменению кода приложения App1 App2 SELECT custID FROM User1. OrdersTable OrdersTable InsertOrderProc Exec User1. InsertOrderProc Владелец = User1 SCHEMA = User1 Владелец = User2 SCHEMA = User1

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

Schema содержится в Table View Stored Proc Function User 2 управляется Default Schema User1 Default Schema S1 User2 User3 Разрешение имен Select * from foo S1.fooS1. foo Dbo.fooDbo.foo Разделение схемы и владельца Схема по умолчанию дает дополнительный контроль над разрешением имен

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

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

User 3 Select Perms проверяются для User3 Execute Perms проверяются для User3 User1.Proc1 User1.T1 Нет проверки Perms для User3 User 3 User2.Proc1 User1.T1 EXECUTE AS X EXECUTE AS X Execute Perms проверяются для User3 Select Perms проверяются для X. а не для User3 SQL 2005 SQL 2000 User2.Proc1User1.T1 Контекст выполнения хранимого кода

Возможность указывать контекст выполнения –процедуры, функции, триггеры Цепочка владения теперь не является единственным механизмом упрощающим назначение прав –Правила цепочек владения по-прежнему применимы Разрешения проверяются для тек.контекста –В отличие от цепочек владения применимо и к командам DDL Применимо и к динамическому SQL Контекст выполнения хранимого кода

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

По умолчанию – EXECUTE AS CALLER. Для указания имени пользователя username (отличного от своего) необходимо выполнение одного из условий: Входить в фиксированную серверную роль sysadmin Входить в фиксированную роль базы данных db_owner Обладать разрешением на имперсонализацию учетной записи, соответствующей пользователю username. Можно использовать EXECUTE AS USER = username в качестве обертки команд, разрешения на которые нельзя передавать. Например так можно делегировать TRUNCATE. Контекст выполнения хранимого кода

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

Безопасность.NET кода Для.NET сборок предусмотрено указание одного из трех уровней безопасности при загрузке в SQL Server командой CREATE ASSEMBLY : SAFE - доступ ко внешним ресурсам не допускается EXTERNAL_ACCESS – допускается доступ к файлам, сетевым ресурсам, реестру, переменным окружения UNSAFE - доступ ко всем ресурсам, в том числе к неуправляемому коду Если сборка в процессе работы выйдет за указанные при ее загрузке пределы, то CLR сгенерирует исключение и выполнение прекратится.

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

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

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

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

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

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

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

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