Главная      Учебники - Разные     Лекции (разные) - часть 20

 

Поиск            

 

работа

 

             

работа

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ

РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ

ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЯ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ

ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ

Институт математики и компьютерных наук

Кафедра Информационной Безопасности

Разработка прав доступа к персональной информации

Выполнил:

Студент группы № 358

Валуйский Филипп Сергеевич

Руководитель:

ст. преподаватель

Нестерова Ольга Андреевна

Дата сдачи: ___________

Оценка : ______________

Тюмень 2009 г.

Оглавление

Введение 3

Справка к Федеральному закону «О персональных данных» 5

Основные понятия, используемые в настоящем Федеральном законе 6

Сравнение SQL Server 2008 с Oracle Database 11g 7

Аннотация 7

Основные положения 7

Производительность и масштабируемость 7

Безопасность 7

Производительность труда разработчиков 8

Бизнес-аналитика 8

Интеграция с системой Microsoft Office 9

Совокупная стоимость владения 9

Сравнение возможностей 10

Безопасность в SQL Server 2008 14

Усовершенствования в области шифрования 14

Инструкции по шифрованию 17

Усовершенствования в области проверки подлинности 21

Аудит системы безопасности 22

Отчеты о зависимостях 24

Роли уровня базы данных 24

Безопасность файловых потоков 30

Управление на основе политик 30

Заключение 34

Список литературы 35

Введение

Системы управлении базами данных (СУБД) в последнее время стали неотъемлемой частью ИТ-инфраструктуры практически любой компании. Сейчас достаточно сложно найти компанию, которая бы не пользовалась системой 1С:Предприятие или какой-либо мощной ERP системой, такой как SAP или Microsoft Dynamics (CRM), которые используют СУБД для хранения своих данных. Почти все WEB-приложения используют СУБД для хранения информации о клиентах, наименований товаров и т.п. Если раньше СУБД использовались в основном для хранения текстовых и числовых данных, то сейчас в СУБД хранятся такие данные, как изображения, видеозаписи и многие другие типы данных. Объёмы баз данных в некоторых отраслях выросли до нескольких терабайт. Поэтому сейчас, как никогда ранее, повысились требования к надёжности и производительности систем управления базами данных. Лидирующие позиции на рынке среди СУБД занимает Microsoft SQL Server. Доля рынка Microsoft SQL Server, по данным Gartner, составляет 46,8%, остальная часть рынка принадлежит Oracle и IBM DB2, относительно небольшую часть рынка занимают СУБД Open Source, такие как Postgre и Firebird.

Microsoft SQL Server 2008 является новейшей и мощнейшей системой управления базами данных. Помимо стандартных для СУБД функций, SQL Server 2008 содержит большой набор интегрированных служб по анализу данных. Доступ к данным, расположенным на SQL Server могут получить любые приложения, разработанные на .Net и VisualStudio, а также приложения пакета Microsoft Office 2007. SQL Server 2008 обепечивает высочайшую в совём классе масштабируемость, производительность и безопасность.

SQL Server 2008 предоставляет средства по созданию и управлению реляционными базами данных. Также SQL Server 2008 поддерживает новые средства аналитической обработки данных (Analysis Services), средства отчётности (Reporting Services), а также множество средств, упрощающих разработку приложений.

Цели:

- Изучить правовые аспекты Федерального закона «О персональных данных»

- Разработка схему управления правами доступа к персональной информации

Задачи:

- Исследовать различные СУБД с реализованными правами доступа

- Сравнить новые версии СУБД Oracle и MS SQL Server

- Провести анализ нововведений в области безопасности в SQL Server 2008

- Составить модель, иллюстрирующую управления правами доступа


Справка к Федеральному закону «О персональных данных»

Федеральный закон «О персональных данных» направлен на реализацию конституционных положений, закрепляющих право каждого на неприкосновенность частной жизни и свободу информации, а также международных обязательств Российской Федерации по ратификации Конвенции Совета Европы о защите физических лиц при автоматизированной обработке персональных данных.

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

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

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

Основные понятия, используемые в настоящем Федеральном законе

Персональные данные - любая информация, относящаяся к определенному или определяемому на основании такой информации физическому лицу (субъекту персональных данных), в том числе его фамилия, имя, отчество, год, месяц, дата и место рождения, адрес, семейное, социальное, имущественное положение, образование, профессия, доходы, другая информация;

Конфиденциальность персональных данных - обязательное для соблюдения оператором или иным получившим доступ к персональным данным лицом требование не допускать их распространение без согласия субъекта персональных данных или наличия иного законного основания;

Общедоступные персональные данные - персональные данные, доступ неограниченного круга лиц к которым предоставлен с согласия субъекта персональных данных или на которые в соответствии с федеральными законами не распространяется требование соблюдения конфиденциальности.

Обработка специальной категории персональных данных допускается если:

1. Персональные данные относятся к состоянию здоровья субъекта персональных данных и их обработка необходима для защиты его жизни, здоровья или иных жизненно важных интересов либо жизни, здоровья или иных жизненно важных интересов других лиц, и получение согласия субъекта персональных данных невозможно;

2. Обработка персональных данных осуществляется в медико-профилактических целях, в целях установления медицинского диагноза, оказания медицинских и медико-социальных услуг при условии, что обработка персональных данных осуществляется лицом, профессионально занимающимся медицинской деятельностью и обязанным в соответствии с законодательством Российской Федерации сохранять врачебную тайну;

Сравнение SQL Server 2008 с Oracle Database 11g

Аннотация

Microsoft SQL Server получает все большее распространение по сравнению с другими системами управления базами данных и сейчас уже превосходит своих конкурентов по производительности, масштабируемости, эффективности разработки, возможностям бизнес-аналитики (BI) и совместимости с системой Microsoft Office 2007. При этом стоимость SQL Server существенно меньше, чем у Oracle Database 11g.[1]

Основные положения

Во многих областях, которые потенциально могут быть важными для бизнеса вашей организации, Microsoft® SQL Server® 2008 имеет превосходство над Oracle. Ниже вкратце описаны некоторые критически важные области, в которых SQL Server 2008 опережает конкурентов.

Производительность и масштабируемость

СУБД SQL Server способен обслуживать системы с высочайшим уровнем нагрузки, что подкрепляется результатами стандартных отраслевых тестов производительности. Такие клиенты как Unilever, Citi,, Barclays Capital и Mediterranean Shipping Company, выполняют свои критически важные приложения на платформе SQL Server. Клиенты, использующие SQL Server 2008 (в том числе крупнейшие независимые поставщики ПО, например Siemens и RedPrairie), дают отличные отзывы о новейших усовершенствованиях в области масштабируемости. Журнал CRN признал SQL Server бестселлером и самым быстрорастущим бестселлером.

Безопасность

В Национальной базе данных США об уязвимостях (NIST) зарегистрировано более 330 критических уязвимостей системы безопасности, обнаруженных в базах данных Oracle за последние 4 года. За этот же период не сообщалось НИ ОБ ОДНОЙ уязвимости SQL Server 2005. Это достигается благодаря специальной методологии разработки ПО Security Development Lifecycle (SDL) в рамках концепции защищенных компьютерных систем, всесторонним функциям безопасности и мощной инфраструктуре Microsoft Update. Такое выигрышное сочетание позволяет сократить риски безопасности и время простоев для установки обновлений. По мнению одного из специалистов, Oracle на пять лет отстает от Майкрософт в области управления обновлениями. Журнал Computerworld сообщает, что две трети администраторов баз данных Oracle не устанавливают обновления безопасности.

Производительность труда разработчиков

За счет интеграции SQL Server с Microsoft Visual Studio® разработчики получают единую интегрированную среду разработки клиентских приложений, приложений промежуточного уровня и уровня данных. С новыми возможностями разработки SQL Server 2008 делает еще один шаг вперед. В отличие от этого, набор средств и пакетов SDK компании Oracle, собранных в результате приобретений, требует от разработчиков изучения и работы с различными интерфейсами. Компания IDC в своем исследовании отмечает, что платформа приложений Майкрософт – это прикладная технологическая платформа №1 на рынке.

Бизнес-аналитика

SQL Server входит в состав интегрированной платформы бизнес-аналитики корпорации Майкрософт, включающей хранилище данных, средства аналитики, формирования отчетности, планирования и бюджетирования, а также систему ключевых показателей. Компания Gartner поместила SQL Server в квадрант лидеров в магическом квадранте платформ бизнес-аналитики и магическом квадранте хранилищ данных. Новая версия SQL Server 2008 предлагает множество новых возможностей в областях хранилищ данных и бизнес-аналитики. Согласно последнему прейскуранту Oracle, в настоящее время компания запрашивает на 800% и более за аналогичную функциональность в дополнении к базовой СУБД.

Интеграция с системой Microsoft Office

Благодаря тесной интеграции SQL Server с хорошо знакомым интерфейсом системы Microsoft Office клиенты смогут быстрее анализировать информацию и принимать решения. Например, в надстройках интеллектуального анализа данных для Excel для анализа клиентских данных используются возможности SQL Server и Microsoft Office. Компания IDC назвала корпорацию Майкрософт самым быстроразвивающимся поставщиком систем бизнес-аналитики. У Oracle есть подключаемый модуль для Microsoft Office, который поддерживает часть функций SQL Server, однако за него взимается дополнительная плата в размере $30 000 на процессор.

Совокупная стоимость владения

Для SQL Server применяется простая многоуровневая модель лицензирования по номерам SKU. С другой стороны, у Oracle есть сложный набор дополнительных компонентов и надстроек, которые необходимы для разработки, развертывания и управления большей частью крупномасштабных приложений. Интегрированная среда разработки и удобные средства разработки SQL Server позволяют сократить время разработки и срок получения отдачи от инвестиций в новые приложения и аналитичиские системы. Передовые возможности автоматической настройки и автоматизации администрирования SQL Server существенно упрощают развертывание и управление по сравнению с Oracle Database 11g. SQL Server эффективно взаимодействует с остальными программными продуктами Майкрософт, что помогает упростить разработку и развертывание и обеспечить большую производительность, чем у Oracle.

Сравнение возможностей

В версии SQL Server 2008 появилось много новых функций, отсутствующих в Oracle 11g (см. следующую таблицу). Краткое описание каждой их этих функций приведено ниже.

Возможность

Майкрософт

Oracle

Регулятор ресурсов

Индексированные представления, выровненные по секциям

Оболочка PowerShell

Управление на основе политик

Отфильтрованные индексы

Расширенные разреженные столбцы

Многопоточная работа с секциями таблиц

Сжатие префиксов столбцов

Подписание модулей с помощью сертификатов

Службы данных SQL Server

Регулятор ресурсов

Регулятор ресурсов обеспечивает последовательное и предсказуемое быстродей­ствие для конечных пользователей. Организации могут распределять ресурсы и определять приоритеты для разных рабочих нагрузок, чтобы обеспечить постоянный уровень производительности для конечных пользователей в условиях одновременного выполнения множества разных задач. Регулятор ресурсов дает SQL Server несколько важных преимуществ по сравнению с Oracle. Параметры минимального исполь­зования процессора и памяти позволяют задать приоритеты для отдельных задач, чтобы гарантировать требуемый уровень производительности для наиболее критичных задач базы данных. Регулятор ресурсов также дает возможность ограничить объем памяти для пула ресурсов во избежание монополизации ресурсов неконтролируемыми запросами.

Индексированные представления, выровненные по секциям

С помощью индексированных представлений, выровненных по секциям, можно более эффективно создавать и управлять сводными агрегатами в реляционном хранилище данных и применять их в таких сценариях, в которых раньше исполь­зовать их эффективно было невозможно. Индексированные представления, выровненные по секциям, повышают производительность запросов. В типичном случае таблица фактов секционируется по дате. Чтобы ускорить выполнение запросов, можно определять индексированные представления (сводные агрегаты) для таблиц фактов. При переходе к новой секции таблицы автоматически про­исходит переход к соответствующей секции индексированных представлений, выровненных по секциям, определенных для секционированной таблицы.

Оболочка SQL Server PowerShell

Оболочка SQL Server PowerShell — это новое средство для просмотра и управления базами данных, таблицами и другими объектами в базах данных SQL Server. Интерфейс командной строки Windows PowerShell™ поддерживает более сложную логику, чем сценарии Transact-SQL, повышая надежность сценариев администрирования. Сценарии PowerShell также можно использовать для управления другими серверными продуктами Майкрософт, т. е. администраторы получают единый язык сценариев для различных серверов.

Управление на основе политик

Это новая система управления одним или несколькими экземплярами SQL Server 2008 с использованием средства SQL Server Management Studio. Эту возможность можно использовать для создания политик управления объектами, такими как экземпляр SQL Server, базы данных и другие объекты SQL Server, на сервере базы данных. Администраторы баз данных получают полный контроль над серверами баз данных в совершенно иной плоскости. С помощью этого удобного мощного средства администраторы баз данных могут реализовывать стандартные конфигурации в среде SQL Server.

Отфильтрованные индексы

Отфильтрованные индексы позволяют выполнять индексацию подмножества строк в таблице и дают многочисленные преимущества. Они обеспечивают экономию места и повышение производительности в операциях вставки и обновления содержимого.

Отфильтрованные индексы значительно повышают производительность хранилищ данных. Например, можно индексировать данные только за текущий месяц, а не за весь год. Для ускорения выполнения запросов можно создавать большее количество отфильтрованных индексов для каждой из таблиц. Средство SQL Server Database Tuning Advisor (DTA) предлагает рекомендации по отфильтрованным индексам для таблиц базы данных. Отфильтрованные индексы обеспечивают поддержку неоднородных табличных данных в таких приложениях, как системы управления содержимым (например, Microsoft Office SharePoint® Server). Эти системы имеют множество свойств для каждого типа данных, например розничного каталога продуктов, в одной таблице которого могут быть записи для книг, компакт-дисков и одежды с различными свойствами. Создавать отфильтрованные индексы для данных можно на основании свойств или категорий.

Разреженные столбцы

Разреженные столбцы дают возможность эффективно управлять пустыми данными в базе данных, поскольку при их использовании нулевые данные (NULL) не занимают физического места на диске. Разреженные столбцы SQL Server 2008 поддерживают широкие таблицы (до 100 тысяч столбцов, в то время как в Oracle лимит составляет 1000 столбцов) и сценарии с контейнерами свойств в системах управления содержимым, таких как Office SharePoint Server.

Многопоточная работа с секциями таблиц

Многопотоковый доступ к секциям в SQL Server 2008 для многих параллельных планов позволяет повысить произ­водительность обработки запросов к секционированным таблицам. Более того, при таком доступе изменяется способ пред­ставления параллельных и последовательных планов и улучшается информация о секционировании, предоставляемая в планах времени компиляции и времени выполнения.

Сжатие префиксов столбцов

Это один из расширенных методов сжатия страниц SQL Server 2008 (сжатие страниц словаря и сжатие префиксов столбцов). При сжатии префикса столбца SQL Server выполняет поиск общего «байтового» шаблона в начале столбца по всем строкам страницы. В случае обнаружения хотя бы двух экземпляров столбцов с некоторым общим байтовым шаблоном этот шаблон сохраняется на странице один раз, а в другие столбцы помещается ссылка на этот шаблон.

Подписание модулей с помощью сертификатов

Подписание модулей с помощью сертификатов в SQL Server дает возможность подписывать модули в базе данных, например хранимые процедуры, функции, триггеры и сборки. Это позволяет временно повышать уровень привилегий без переключения контекста пользователя. Кроме того, фальсифицировать или изменить сертификат нельзя (в противном случае он станет недействительным).

Безопасность в SQL Server 2008

В SQL Server 2008 появилось немало новых функций и возможностей, повышающих общий уровень безопасности баз данных. Среди них ключевые возможности шифрования и проверки подлинности, а также новая система аудита, позволяющая составлять отчеты по действиям пользователей и обеспечивать соблюдение всех норм и требований.[2]

Первое, на что обращаешь внимание, — это отсутствие средства «Настройка контактной зоны», которое присутствовало в SQL Server 2005. Параметры протокола, которые раньше были доступны в этом средстве, теперь перенесены в диспетчер конфигураций. Включение и выключение функций теперь выполняется через новую среду управления на основе политик, реализованную в SQL Server 2008.

Усовершенствования в области шифрования

В системе шифрования были сделаны два серьезных изменения. Во-первых, ключи теперь могут храниться на внешних аппаратных модулях сторонних разработчиков. Во-вторых, данные, хранящиеся в SQL Server, можно шифровать с использованием метода, понятного для приложений, подключающихся к базе данных. Это означает, что администратор может зашифровать все содержимое базы данных, не меняя при этом код приложения.

Первое нововведение стало возможным благодаря функции расширенного управления ключами (EKM) — она имеется в SQL Server 2008 Enterprise, Developer и Evaluation. EKM зарегистрировать в SQL Server системы управления корпоративными ключами и аппаратные модули безопасности (HSM), разработанные сторонними компаниями. После регистрации устройства пользователь может хранить ключи на этом модуле.

Кроме того, производитель модуля может добавить дополнительные возможности шифрования (например, задать правила устаревания и замены ключей). В некоторых конфигурациях это позволяет закрыть доступ к данным тем администраторам, которые не являются членами группы администраторов системы. Криптографические инструкции T-SQL выполняют шифрование и расшифровку данных с применением ключей, хранящихся на внешнем EKM-устройстве.

Еще одна новая функция, прозрачное шифрование, позволяет шифровать файлы баз данных, не меняя код приложений. Шифрование и расшифровка входных и выходных данных и журналов происходит в режиме реального времени. При этом используется ключ шифрования баз данных (DEK), хранящийся в загрузочной записи базы данных: так его можно использовать при восстановлении. Ключ DEK защищен сертификатом, которых находится в основной базе данных сервера. Схема на рис. 1 демонстрирует архитектуру, обеспечивающую прозрачное шифрование данных.

Рисунок 1 Архитектура прозрачного шифрования данных

Все описанное помогает защитить статические данные. Существуют различные способы повышения безопасности баз данных: шифрование, настройка брандмауэра на серверах баз данных. Но дело в том, что физический носитель, на котором хранятся базы данных (в том числе и ленты с резервными копиями) подвергаются опасностям еще и другого характера. Злоумышленник может украсть сам носитель, а это, возможно, позволит ему получить доступ к информации, имеющейся на нем.

Используя прозрачное шифрование, можно зашифровать конфиденциальные данные и защитить ключи при помощи сертификата. Тем самым будет обеспечено соблюдение многих законодательных требований и отраслевых рекомендаций по обеспечению безопасности данных.

Функции прозрачного шифрования данных позволяют применять алгоритмы AES и 3DES. Шифрование файла базы данных выполняется на уровне страницы, причем страница шифруется перед записью на диск, а потом расшифровывается во время считывания в память. Для шифрования резервных файлов тоже используется ключ шифрования базы данных.

Для расшифровки базы данных необходимо иметь доступ к сертификату или асимметричному ключу, использованному при шифровании. В противном случает базу данных восстановить не удастся. Ключи следует хранить, пока резервная копия не перестанет использоваться.

Инструкции по шифрованию

А. Обычное симметричное шифрование

В следующем коде показано, как зашифровать столбец с помощью симметричного ключа.[3]

USE AdventureWorks;

GO

--If there is no master key, create one now.

IF NOT EXISTS

(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)

CREATE MASTER KEY ENCRYPTION BY

PASSWORD = '23987hxJKL969#ghf0%94467GRkjg5k3fd117r$$#1946kcj$n44nhdlj'

GO

CREATE CERTIFICATE HumanResources037

WITH SUBJECT = 'Employee Social Security Numbers';

GO

CREATE SYMMETRIC KEY SSN_Key_01

WITH ALGORITHM = AES_256

ENCRYPTION BY CERTIFICATE HumanResources037;

GO

USE [AdventureWorks];

GO

-- Create a column in which to store the encrypted data.

ALTER TABLE HumanResources.Employee

ADD EncryptedNationalIDNumber varbinary(128);

GO

-- Open the symmetric key with which to encrypt the data.

OPEN SYMMETRIC KEY SSN_Key_01

DECRYPTION BY CERTIFICATE HumanResources037;

-- Encrypt the value in column NationalIDNumber with symmetric

-- key SSN_Key_01. Save the result in column EncryptedNationalIDNumber.

UPDATE HumanResources.Employee

SET EncryptedNationalIDNumber = EncryptByKey(Key_GUID('SSN_Key_01'), NationalIDNumber);

GO

-- Verify the encryption.

-- First, open the symmetric key with which to decrypt the data.

OPEN SYMMETRIC KEY SSN_Key_01

DECRYPTION BY CERTIFICATE HumanResources037;

GO

-- Now list the original ID, the encrypted ID, and the

-- decrypted ciphertext. If the decryption worked, the original

-- and the decrypted ID will match.

SELECT NationalIDNumber, EncryptedNationalIDNumber

AS 'Encrypted ID Number',

CONVERT(nvarchar, DecryptByKey(EncryptedNationalIDNumber))

AS 'Decrypted ID Number'

FROM HumanResources.Employee;

GO

Б. Симметричное шифрование со средством проверки подлинности

В следующем коде показано, как зашифровать столбец с помощью симметричного шифрования со средством проверки подлинности.

USE AdventureWorks;

--If there is no master key, create one now.

IF NOT EXISTS

(SELECT * FROM sys.symmetric_keys WHERE symmetric_key_id = 101)

CREATE MASTER KEY ENCRYPTION BY

PASSWORD = '23987hxJKL95QYV4369#ghf0%lekjg5k3fd117r$$#1946kcj$n44ncjhdlj'

GO

CREATE CERTIFICATE Sales09

WITH SUBJECT = 'Customer Credit Card Numbers';

GO

CREATE SYMMETRIC KEY CreditCards_Key11

WITH ALGORITHM = AES_256

ENCRYPTION BY CERTIFICATE Sales09;

GO

-- Create a column in which to store the encrypted data.

ALTER TABLE Sales.CreditCard

ADD CardNumber_Encrypted varbinary(128);

GO

-- Open the symmetric key with which to encrypt the data.

OPEN SYMMETRIC KEY CreditCards_Key11

DECRYPTION BY CERTIFICATE Sales09;

-- Encrypt the value in column CardNumber using the

-- symmetric key CreditCards_Key11.

-- Save the result in column CardNumber_Encrypted.

UPDATE Sales.CreditCard

SET CardNumber_Encrypted = EncryptByKey(Key_GUID('CreditCards_Key11')

, CardNumber, 1, HashBytes('SHA1', CONVERT( varbinary

, CreditCardID)));

GO

-- Verify the encryption.

-- First, open the symmetric key with which to decrypt the data.

OPEN SYMMETRIC KEY CreditCards_Key11

DECRYPTION BY CERTIFICATE Sales09;

GO

-- Now list the original card number, the encrypted card number,

-- and the decrypted ciphertext. If the decryption worked,

-- the original number will match the decrypted number.

SELECT CardNumber, CardNumber_Encrypted

AS 'Encrypted card number', CONVERT(nvarchar,

DecryptByKey(CardNumber_Encrypted, 1 ,

HashBytes('SHA1', CONVERT(varbinary, CreditCardID))))

AS 'Decrypted card number' FROM Sales.CreditCard;

GO

Усовершенствования в области проверки подлинности

Kerberos — это сетевой протокол, предоставляющий высоконадежное средство взаимной проверки подлинности между клиентом и сервером (или двумя участниками системы безопасности). Kerberos помогает снизить число уязвимостей в случае атак с приманкой и попыток перехвата «посредником». Этот протокол имеет отношение к проверке подлинности Windows® NTLM, но он надежнее и производительнее.[4]

Чтобы использовать Kerberos для взаимной проверки подлинности, необходимо, чтобы экземпляр SPN, относящийся к SQL Server, был зарегистрирован в Active Directory®, а драйвер клиента при подключении должен предоставить зарегистрированный SPN. В SQL Server 2008 проверка подлинности Kerberos была распространена на все сетевые протоколы, включая TCP, именованные каналы, общую память и адаптеры VIA. По умолчанию драйвер клиента выводит нужный SPN из экземпляра SQL Server, к которому он подключается. SPN можно также указать явным образом в параметрах строки подключения: это повышает уровень безопасности и контроля, упрощает поиск и устранение неполадок.

Службы IIS перестали использоваться для доступа к веб-службам ASP.NET, диспетчеру отчетов и серверу отчетов. В SQL Server 2008 службы отчетов обрабатывают все запросы на проверку подлинности, проводя их через новую специальную подсистему, поддерживающую как проверку подлинности Windows, так и нестандартные варианты проверки.

Службы отчетов теперь размещают Microsoft® .NET Framework и технологии ASP.NET, встроенные в среду CLR SQL Server, кроме того, они используют возможности HTTP.SYS, предлагаемые в операционной системе. Сервер отчетов включает в себя прослушиватель HTTP, который принимает запросы, направленные на URL-адрес и порт, указанные во время настройки сервера. Резервированием и регистрацией URL теперь управляет непосредственно сервер отчетов (через HTTP.SYS).

Аудит системы безопасности

Подсистема аудита — это новая функция SQL Server, позволяющая проверять события ядра базы данных и настраивать параметры проверки. Для записи данных аудита используются расширенные события. В подсистеме имеются средства и процессы, которые необходимы для того, чтобы проводить, сохранять и просматривать конфигурации аудита для различных серверов и объектов баз данных.[5]

Подсистема аудита SQL Server работает быстрее, чем функция трассировки, а среда SQL Server Management Studio упрощает создание и контроль журналов аудита. Теперь можно проводить более подробные проверки: отслеживать инструкции SELECT, INSERT, UPDATE, DELETE, REFERENCES и EXECUTE для отдельных пользователей. Более того, подсистема аудита польностью поддерживает инструкции T-SQL CREATE SERVER AUDIT и CREATE SERVER AUDIT SPECIFICATION, а также связанные с ними инструкции ALTER и DROP.

Для настройки аудита необходимо его создать и указать место записи событий. Аудит может храниться в журнале безопасности Windows, в журнале приложений Windows или в любом файле. Вы присваиваете аудиту имя и настраиваете его характеристики, в частности, путь к файлу аудита и его максимальный размер. Также можно настроить аудит так, чтобы в случае сбоя проверки работа SQL Server завершалась. Если события аудита нужно записывать в несколько журналов, создается несколько аудитов.

Следующий этап — создание спецификаций аудита. В спецификации аудита сервера собирается информация об экземпляре SQL Server; в нее включаются объекты, относящиеся к серверу: данные учетных записей, членство в серверных ролях. Там же имеется информация о базе данных, контролируемая в основной базе данных, например сведения о правах доступа к базе. При создании спецификации аудита вы указываете, в какой аудит будут поступать наблюдаемые события. Вы можете создать несколько аудитов сервера и несколько спецификаций аудита, но аудит может иметь только одну активную спецификацию в каждый конкретный момент времени.

Также можно создать спецификации аудита базы данных: они будут использоваться для отслеживания событий по отдельной базе данных. В аудит можно добавить несколько спецификаций аудита баз данных, но в каждом аудите сервера активной может быть только одна спецификация аудита баз данных.

События подсистемы аудита SQL Server, используемые в спецификациях аудита сервера, объединяются в коллекции связанных событий. Они предоставляются в виде групп действий аудита. Если такую группу добавить в спецификацию аудита, можно будет отслеживать события, включенные в группу. К примеру, существует группа действий аудита DBCC_GROUP, предоставляющая доступ к командам DBCC. Отдельно же команды DBCC включаться в аудит не могут.

Всего существует 35 групп действий аудита сервера, причем некоторые из них тесно связаны друг с другом. Например, группы SUCCESSFUL_LOGIN_GROUP, FAILED_LOGIN_GROUP и LOGOUT_GROUP. Также есть тип действий аудита AUDIT_ CHANGE_GROUP, который можно использовать для проверки самого процесса аудита.

В спецификациях аудита баз данных можно также указывать группы событий аудита, собранные в группы действий аудита на уровне баз данных. Кроме групп действий аудита, спецификации аудита баз данных могут включать в себя отдельные события аудита, позволяющие проверять инструкции, отвечающие за работу с данными. Эти события можно настроить таким образом, чтобы отслеживать всю базу данных или только определенные объекты. Действие SELECT, в частности, может использоваться для проверки запросов SELECT, обращенных как к отдельной таблице, так и ко всей схеме в целом. Кроме того, события такого рода можно настроить так, чтобы отслеживать действия по отдельным пользователям или ролям, например db_writers.

Скажем, действие SELECT можно использовать для проверки запросов SELECT, обращенных к отдельной таблице, источником которых является пользователь Mary, или роль FINANCE_DEPT, или роль базы данных Public. Нельзя не отметить, что все это предоставляет широчайшие возможности контроля и дает большой запас гибкости при настройке аудита.

Отчеты о зависимостях

В модуле составления отчетов о зависимостях появилось новое представление каталогов и новые системные функции. Если использовать sys.sql_expression_dependencies, sys.dm_sql_referencing_entities и sys.dm_sql_referenced_entities, можно создавать отчеты по зависимостям между серверами, зависимостям между базами данных и SQL-зависимостями в пределах базы данных как для привязанных к схеме объектов, так и для непривязанных.

Роли уровня базы данных

Для удобства управления разрешениями в базах данных SQL Server предоставляет несколько ролей , которые являются участниками безопасности, группирующими других участников. Они подобны группам в операционной системе Microsoft Windows. Разрешения ролей уровня базы данных распространяются на всю базу данных. [6]

В SQL Server существует два типа ролей уровня базы данных: предопределенные роли базы данных , стандартные для базы данных, и гибкие роли базы данных , которые может создать пользователь.

Предопределенные роли базы данных задаются на уровне базы данных и предусмотрены в каждой базе данных. Члены ролей базы данных db_owner и db_securityadmin могут управлять членством в предопределенных ролях базы данных. Но только члены роли базы данных db_owner могут добавлять членов в предопределенную роль базы данных db_owner . Кроме того, в базе данных msdb имеются специальные предопределенные роли базы данных.

В роли уровня базы данных можно добавить любую учетную запись базы данных и другие роли SQL Server. Каждый член предопределенной роли базы данных может добавлять другие имена входа к той же роли.

В следующей таблице представлены предопределенные роли уровня базы данных и их возможности. Эти роли существуют во всех базах данных.

Имя роли уровня базы данных

Описание

db_owner

Члены предопределенной роли базы данных db_owner могут выполнять все действия по настройке и обслуживанию базы данных, а также удалять базу данных.

db_securityadmin

Элементы предопределенной роли базы данных db_securityadmin могут изменять членство в роли и управлять разрешениями. Добавление участников к этой роли может привести к непреднамеренному повышению прав доступа.

db_accessadmin

Члены предопределенной роли базы данных db_accessadmin могут добавлять или удалять права удаленного доступа к базе данных для имен входа и групп Windows, а также имен входа SQL Server.

db_backupoperator

Члены предопределенной роли базы данных db_backupoperator могут создавать резервные копии базы данных.

db_ddladmin

Члены предопределенной роли базы данных db_ddladmin могут выполнять любые команды языка определения данных (DDL) в базе данных.

db_datawriter

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

db_datareader

Элементы фиксированной роли базы данных db_datareader могут считывать все данные из всех пользовательских таблиц.

db_denydatawriter

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

db_denydatareader

Члены предопределенной роли базы данных db_denydatareader не могут считывать данные из пользовательских таблиц базы данных.

Роли базы данных msdb

База данных msdb содержит специальные роли, показанные в следующей таблице.

Имя роли базы данных msdb

Описание

db_ssisadmin

db_ssisoperator

db_ssisltduser

Члены этих ролей базы данных могут администрировать и использовать службы SSIS. Экземпляры SQL Server, обновленные с предыдущей версии, могут содержать более старую версию роли, имя которой присвоено с помощью служб DTS, а не служб SSIS. Дополнительные сведения см. в разделе Использование ролей служб Integration Services.

dc_admin

dc_operator

dc_proxy

Члены этих ролей базы данных могут администрировать и использовать сборщик данных. Дополнительные сведения см. в разделе Безопасность сборщика данных.

PolicyAdministratorRole

Члены роли базы данных db_ PolicyAdministratorRole могут выполнять все действия по настройке и обслуживанию политик и условий средства «Управление на основе политики». Дополнительные сведения см. в разделе Администрирование серверов с помощью управления на основе политик.

ServerGroupAdministratorRole

ServerGroupReaderRole

Члены этих ролей базы данных могут администрировать и использовать зарегистрированные группы серверов.

Работа с ролями уровня базы данных

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

Функция

Тип данных

Описание

sp_helpdbfixedrole (Transact-SQL)

Метаданные

Возвращает список всех предопределенных ролей базы данных.

sp_dbfixedrolepermission (Transact-SQL)

Метаданные

Отображает разрешения предопределенной роли базы данных.

sp_helprole (Transact-SQL)

Метаданные

Возвращает информацию о ролях, относящихся к текущей базе данных.

sp_helprolemember (Transact-SQL)

Метаданные

Возвращает сведения о членах роли в текущей базе данных.

sys.database_role_members (Transact-SQL)

Метаданные

Возвращает одну строку для каждого члена каждой роли базы данных.

IS_MEMBER (Transact-SQL)

Метаданные

Указывает, является ли текущий пользователь членом указанной группы Microsoft Windows или роли базы данных Microsoft SQL Server.

CREATE ROLE (Transact-SQL)

Команда

Создает новую роль базы данных в текущей базе данных.

ALTER ROLE (Transact-SQL)

Команда

Изменяет имя роли базы данных.

DROP ROLE (Transact-SQL)

Команда

Удаляет роль из базы данных.

sp_addrole (Transact-SQL)

Команда

Создает новую роль базы данных в текущей базе данных.

sp_droprole (Transact-SQL)

Команда

Удаляет роль базы данных из текущей базы данных.

Хранимая процедура sp_addrolemember (Transact-SQL)

Команда

Добавляет пользователя базы данных, роль базы данных, имя входа Windows или группу Windows к роли текущей базы данных.

sp_droprolemember (Transact-SQL)

Команда

Удаляет учетную запись безопасности из роли SQL Server в текущей базе данных.

Безопасность файловых потоков

В SQL Server появилась поддержка хранилища файловых потоков, которое позволяет приложениям SQL Server хранить неструктурированные данные, к примеру файлы и изображения, в файловой системе. Это означает, что клиентские приложения могут воспользоваться потоковыми API, причем согласованность транзакций между структурированными и соответствующими неструктурированными данными будет поддерживаться по-прежнему.

Данные файловых потоков должны храниться в файловых группах типа FILESTREAM — это специальные файловые группы, содержащие не сами файлы, а системные каталоги. Эти каталоги, так называемые контейнеры данных, формируют интерфейс между хранилищем ядра базы данных и хранилищем файловой системы.

Что касается безопасности, то данные файловых потоков защищаются точно так же, как и любые другие данные: на уровне таблиц или столбцов предоставляются разрешения. Единственная учетная запись, получающая разрешения NTFS для контейнера файловых потоков, — это учетная запись, под которой работает учетная запись службы SQL Server. При открытии базы данных SQL Server ограничивает доступ к контейнерам данных файловых потоков. Исключение делается только в том случае, если доступ осуществляется при помощи транзакций T-SQL и OpenSqlFilestream API.

Управление на основе политик

Управление на основе политик — это новая система управления SQL Server, появившаяся в SQL Server 2008. Она позволяет создавать политики для тестирования и создания отчетов по различным аспектам SQL Server. Политики можно применять к отдельным базам данных, отдельным экземплярам SQL Server или ко всем управляемым экземплярам SQL Servers.

Управление на основе политик позволяет тестировать параметры конфигурации SQL Server, а также многие параметры системы безопасности. Для некоторых параметров системы безопасности можно создать политики, которые будут обнаруживать серверы баз данных, не соответствующие заданным требованиям, и пытаться исправить их.

В SQL Server 2008 некоторые не самые важные функции отключены по умолчанию для сокращения возможностей атаки. Управление на основе политик позволяет выборочно включать и отключать функции. После этого можно по расписанию проверять конфигурацию и получать уведомления в случае несоответствия параметров конфигурации установленной политике.

Управление на базе политик объединяет связанные свойства и предоставляет их в пользование в виде компонентов, называемых аспектами. Например, аспект под названием Surface Area Configuration включает такие свойства как Ad Hoc Remote Queries, CLR Integration, Database Mail, OLE Automation, Remote DAC, SQL Mail, Web Assistant и xp_cmdshell. Можно создать политику, которая будет включать свойство CLR Integration, а все остальные — отключать. В политике могут задаваться сложные условия, например можно отключить свойство Database Mail на всех экземплярах SQL Server, кроме Customer_Response.

После создания политики можно ее проверить на свех серверах и создать отчет о том, какие серверы не соответствуют требованиям. Чтобы согласовать параметры серверов с требованиями политики, нужно нажать кнопку «Настроить». Политику следует проверять регулярно, чтобы контролировать состояние серверов. Аспекты Surface Area Configuration доступны для ядра базы данных, служб аналитики и служб отчетов.

Обратите внимание, что управление на основании политик не предназначено для внедрения средств повышения безопасности. В большинстве случаев пользователь, имея достаточные привилегии, может использовать инструкции, противоречащие политике или обходить ее и применять параметры действий, идущие вразрез с установленной политикой безопасности. Функцию управления на основе политик, реализованную в SQL Server 2008, следует рассматривать всего лишь как вспомогательное средство для наблюдения за параметрами системы безопасности SQL Server.

Разные аспекты различаются способностью принудительно изменять параметры. Это зависит от того, могут ли связанные инструкции DDL работать в режиме, отличном от режима автофиксации. В некоторых случаях аспект настраивает параметры экземпляра ядра базы данных, но администратор после этого может вернуть прежние значения. Некоторые аспекты могут вызываться серверным триггером. В таком случае пользователи с низкими привилегиями не смогут изменить параметры, да и вероятность случайного изменения параметров администратором снижается. Здесь администратору приходится временно отключать политику, чтобы изменить значения. Другая группа аспектов только создает отчеты о состоянии свойства, но менять его не может. Так работает политика, проверяющая длину симметричного и асимметичного ключа (см. рис. 2).

Рисунок 2 Аспекты для асимметричных ключей

Аспекты существуют для большинства типов объектов баз данных, и многие из них участвуют в обеспечении безопасности. Например, аспект для входа в систему может определить, применяется ли политика использования паролей при входе. Аспект для хранимых процедур может проверять, все ли процедуры шифруются. Есть аспекты, которые проверяют свойства пользователей, схем, поставщиков криптографии, соответствие общим критериям, выполняют аудит C2.

Заключение

В ходе выполнения курсовой работы были достигнуты следующие задачи:

- Сравнены новые версии СУБД Oracle и MS SQL Server

- Выбран Microsoft SQL Server 2008 как наиболее актуальная СУБД для курсовой работы

- Изучены способы реализации безопасности в MS SQL Server

- Проведен анализ нововведений в области безопасности в MS SQL Server 2008

- Составлена и оптимизирована модель, иллюстрирующая управления правами доступа на основе персональной информации пациента поликлиники.

В итоге всей проведенной работы была достигнута главная цель:

«Разработка схему управления правами доступа к персональной» и сопутствующая с ней: «Изучить правовые аспекты Федерального закона «О персональных данных»

Система безопасности в SQL Server постоянно совершенствуется. Появляются новые возможности шифрования и проверки подлинности. Новая подсистема аудита и управление на основании политик, реализованное в SQL Server 2008, дают средства, позволяющие контролировать соблюдение установленных норм безопасности. SQL Server 2008 полностью протестирован на стабильность работы в Windows Server® 2008, который поставляется со включенным брандмауэром. Следующим шагом было бы неплохо научиться настраивать параметры брандмауэра. Кроме того, Windows Server 2008 обеспечивает управление доступом пользователей, так же, как и Windows Vista®. Это приводит к ограничению привилегий, получаемых администратором автоматически. Эти функции влияют на работу всех версий SQL Server.

Список литературы

1. SQL Server 2008. Сравнение SQL Server 2008 с Oracle Database 11g

http://www.microsoft.com/sqlserver/2008/ru/ru/compare-oracle.aspx

2. Обеспечение безопасности SQL Server

http://msdn.microsoft.com/ru-ru/library/bb283235.aspx

3. Шифрование SQL Server

http://msdn.microsoft.com/ru-ru/library/bb510663.aspx

4. Усовершенствования в области проверки подлинности

http://technet.microsoft.com/ru-ru/magazine/2008.04.sqlsecurity.aspx

5. Защищаемые объекты http://msdn.microsoft.com/ru-ru/library/ms190401.aspx

6. Роли уровня базы данных http://msdn.microsoft.com/ru-ru/library/ms189121.aspx

7. Политика паролей http://msdn.microsoft.com/ru-ru/library/ms161959.aspx

8. Ограничение сетевого доступа http://msdn.microsoft.com/ru-ru/library/ms174507.aspx

9. Функции безопасности (Transact-SQL)

http://msdn.microsoft.com/ru-ru/library/ms186236.aspx

10. Новые типы данных в SQL Server 2008 http://www.cyberguru.ru/database/sqlserver/sqlserver2008-new-types.html

11. Новые возможности SQL Server 2008 http://www.cyberguru.ru/database/sqlserver/sqlserver2008-new-features.html

12. Внедрение СУБД Microsoft SQL Server 2008 http://www.lankey.ru/?id=839

13. Регламент защиты приложений баз данных SQL Server http://mcp.itcommunity.ru/blogs/rsug/archive/2009/01/12/47801.aspx