Дипломная работа: Управление доступом к ресурсам баз данных Microsoft Structured Query Language Server

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

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

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

Выпускная квалификационная работа

Управление доступом к ресурсам баз данных Microsoft Structured Query Language Server

Оглавление

Введение

1. Управление доступом к данным

1.1 Идентификация и аутентификация пользователей

1.2 Авторизация пользователей

1.3 Дискреционное разграничение доступа

1.4 Мандатное разграничение доступа

1.5 Ролевое разграничение доступа

2. Архитектура системы безопасности SQL Server

2.1 Система безопасности уровня сервера

2.1.1 Аутентификация Windows

2.1.2 Аутентификация SQL Server

2.2 Система безопасности уровня базы данных

3. Реализация базы данных

3.1 Инструментарий разработки БД

3.2 Создание базы данных

3.2.1 Описание предметной области

3.2.2 Проектирование реляционной базы данных

3.2.3 Инфологическая модель базы данных

3.2.4 Описание связей

3.2.5 Даталогичеcкое проектирование БД

3.2.6 Запроcы к БД

Введение

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

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

Современные СУБД, в основном, являются приложениями Windows, так как данная среда позволяет более полно использовать возможности персональной ЭВМ, нежели среда DOS. Снижение стоимости высокопроизводительных ПК обусловило не только широкий переход к среде Windows, где разработчик программного обеспечения может в меньше степени заботиться о распределении ресурсов, но также сделало программное обеспечение ПК в целом, и СУБД в частности, менее критичными к аппаратным ресурсам ЭВМ. Среди наиболее ярких представителей систем управления базами данных можно отметить: Lotus Approach, Microsoft Access, Borland dBase, Borland Paradox, Microsoft Visual FoxPro, Microsoft Visual Basic, а также баз данных Microsoft SQL Server и Oracle, используемые в приложениях, построенных по технологии "клиент-сервер".

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

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

Для достижения поставленной цели требуется выполнить такие задачи как:

- физическая реализация базы данных;

- создание различных профилей входа при помощи проверки подлинности SQL Server;

- сравнение типов соединения с сервером БД (проверка подлинности SQL Server/проверка подлинности Windows);

Актуальность темы заключается в том, что на сегодняшний день самым распространённым способом хранения информации является база данных. Аутентификация в любой БД требует наличия идентификационных параметров. Для этого делается администрирование БД.

1. Управление доступом к данным

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

· предприятие является собственником всей служебной информации, полученной его подразделениями или служащими;

· подразделение или служащий является владельцем полученной им информации и может использовать её в интересах предприятия без ограничений;

· служащий имеет право доступа к тем и только тем сведениям, которые необходимы для исполнения его служебных обязанностей;

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

Эти принципы реализуются в виде системы правил, ограничивающих права доступа служащих к информационным ресурсам предприятия. Современные СУБД имеют хорошо развитые средства поддержки подобных правил - подсистемы администрирования данных. Целью подсистемы администрирования является обеспечение санкционированного доступа служащих предприятия к хранимым данным. С концептуальной точки зрения она должна обеспечивать наделение пользователей СУБД привилегиями по отношению к данным и контролировать предоставление конкретному пользователю только определённых для него привилегий.

За предоставление пользователям доступа к компьютерной системе обычно отвечает системный администратор, в обязанности которого входит создание учетных записей пользователей. Каждому пользователю присваивается уникальный идентификатор, который используется операционной системой для того, чтобы определить, кто есть кто. С каждым идентификатором связывается пароль, выбираемый пользователем и известный операционной системе. При регистрации пользователь должен предоставлять системе свой пароль для аутентификации. Подобная процедура позволяет организовать контролируемый доступ к компьютерной системе, но не обязательно предоставляет право доступа к СУБД или иной прикладной программе. Для получения пользователем права доступа к СУБД может использоваться отдельная подобная процедура. Ответственность за предоставление прав доступа к СУБД обычно несет администратор базы данных, в обязанности которого входит создание индивидуальных идентификаторов пользователей, на этот раз уже в среде самой СУБД. Каждый из идентификаторов пользователей СУБД также свя зывается с паролем, который должен быть известен только данному пользователю.

Некоторые СУБД поддерживают списки разрешенных идентификаторов пользователей и паролей, отличающиеся от аналогичного списка, поддерживаемого ОС. Другие типы СУБД поддерживают списки, элементы которых приведены в соответствие существующим спискам пользователей операционной системы и выполняют регистрацию, исходя из текущего идентификатора пользователя, указанного им при регистрации в системе. Это предотвращает попытки пользователей зарегистрироваться в СУБД под идентификатором, отличным от того, который они пользовали при регистрации в системе.

Исходя из вышесказанного, сформулируем термин «управление доступом» более детально. Управление доступом есть метод защиты информации путем регулирования использования ресурсов системы (элементов БД, программных и технических средств). Включает следующие функции защиты:

· идентификация пользователей и ресурсов системы;

· установление подлинности объекта или субъекта по предъявленному им идентификатору (аутентификация);

· разграничение и проверка полномочий (авторизация). Создание условий работы в пределах установленного регламента;

· регистрация обращений к защищаемым ресурсам (протоколирование и аудит);

· реагирование при попытках несанкционированного доступа.

1.1 Идентификация и аутентификация пользователей

Для того чтобы получить доступ к БД, пользователь должен указать свой идентификатор (ID) и подтвердить право на его использование. Опознав пользователя, система готова выполнять операции над данными от его имени. В зависимости от требуемой степени защищённости системы могут использоваться различные процедуры установления личности пользователя. Приведем простейшие и наиболее часто используемые программные процедуры аутентификации, не связанные с анализом «почерка» пользователя:

Парольная защита. В простейшем варианте с ID связывается пароль - известный только владельцу ID и системе набор символов (секрет). Минимальный набор полномочий владельца ID в этом варианте включает права входа в систему и изменения своего пароля. Ни один пользователь (включая администратора системы) не имеет права просмотра паролей. Пароли хранятся в виде хэш-кода или в зашифрованном виде.

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

Защита "вопрос-ответ". Более сложный вариант защиты входа может быть таким. Владелец ID вводит при регистрации серию вопросов вместе с ответами. Вопросы имеют личный характер, поэтому правильные ответы на них невозможно угадать. Например: "Кличка вашей первой собаки?", "Где родилась Ваша мама?" и т.п. Для установления личности пользователя при попытке входа система предъявляет ему случайно выбранный вопрос(ы) из этой серии.

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

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

· получатель должен быть уверен в подлинности источника данных;

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

· отправитель должен быть уверен в доставке данных получателю;

· отправитель должен быть уверен в подлинности доставленных данных.

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

Информация о зарегистрированных пользователях БД хранится в ее системном каталоге. Современные СУБД не имеют общего синтаксиса SQL-предложения соединения с базой данных, так как их собственный синтаксис сложился раньше, чем стандарт ISO. Наиболее часто употребляется предложение CONNECT.

Соединение с системой не идентифицированных пользователей и пользователей, у которых проверка подлинности предъявленного идентификатора при аутентификации не подтвердилась, исключается. В процессе сеанса работы пользователя (от удачного прохождения идентификации и аутентификации до отсоединения от системы) все его действия непосредственно связываются с результатом идентификации. Отсоединение пользователя может быть как нормальным, так и насильственным (исходящим от пользователя-администратора, например в случае удаления пользователя или при аварийном обрыве канала связи клиента и сервера). Во втором случае пользователь должен быть проинформирован об этом, и все его действия аннулируются до последней фиксации изменений, произведенных им в таблицах базы данных. В любом случае на время сеанса работы идентифицированный пользователь будет субъектом доступа для средств защиты информации от несанкционированного доступа СУБД.

1.2 Авторизация пользователей

Авторизация пользователей заключается в предоставлении определенных прав, позволяющих их владельцу иметь законный доступ как к самой системе, так и к ее отдельным объектам. Все субъекты доступа могут быть разделены для системы на ряд категорий, например: CONNECT, RESOURCE и DBA. Набор таких категорий определяется производителем СУБД. Нарастание возможностей (полномочий) для каждого отдельного вида подключения происходит в указанном порядке:

CONNECT - конечные пользователи. По умолчанию им разрешено только соединение с базой данных и выполнение запросов к данным, все их действия регламентированы выданными им привилегиями;

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

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

Следует особо отметить, что в некоторых СУБД административные действия также разделены, что обусловливает наличие дополнительных категорий.

Администратор каждой БД занимается созданием списка возможных пользователей БД и разграничением полномочий этих пользователей.

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