Лабораторная работа №7
Изучение средств идентификации, аутентификации и управления доступом в СУБД SQL Server 2005
Изучить систему защиты от НСД в СУБД Microsoft SQL Server 2005. Научиться управлять учетными записями, пользователями и ролями БД, правами доступа пользователей к объектам БД.
В СУБД Microsoft SQL Server имеется подсистема защиты от несанкционированного доступа (НСД), называемая также в терминах компании-разработчика системой безопасности SQL Server. Она является ни чем иным, как совокупностью механизмов идентификации, аутентификации и авторизации пользователей в системе. Важная особенность системы безопасности SQL Server состоит в том, что защита от НСД происходит в ней на двух уровнях.
1. Уровень сервера.
На этом уровне конечный пользователь или клиентское приложение проходит идентификацию и аутентификацию, получая право на доступ к ресурсам сервера СУБД и в некоторых случаях – административные права (настройка сервера, управление службами, настройка системы безопасности, создание новых БД и удаление существующих и т. д.). Пользователи, не прошедшие идентификацию/аутентификацию, не получают доступа ни к серверу, ни к его базам данных.
2. Уровень БД.
Получение доступа на уровне сервера СУБД еще не гарантирует пользователю доступ к БД и их объектам. Для каждой БД определяются дополнительные системные настройки. В них отражается информация о пользователях БД, о разделении их на группы и предоставленных каждой из групп правах на выполнение различного рода действий с объектами – таблицами, представлениями, хранимыми подпрограммами и т. д. Обычно разные группы обладают различными правами доступа. Часть пользователей получает возможность администрирования БД.
2.1. Защита от НСД на уровне сервера СУБД
2.1.1. Идентификация и аутентификация. Учетные записи
Идентификация и аутентификация пользователей в СУБД SQL Server 2005 выполняются по общепринятой схеме: с использованием имени и пароля соответственно. Имя, пароль, а также связанная с ними дополнительная информация, образуют учетную запись.
Учетные записи хранятся в системной БД Master, в таблице syslogins. Каждая строка таблицы соответствует одной учетной записи. Вместо паролей в таблицу записываются соответствующие хешированные значения. При прохождении идентификации и аутентификации стандартными средствами SQL Server 2005 система получает имя и пароль текущего пользователя, преобразует пароль в хешированное значение и ищет запись в таблице syslogins, где поля name и password совпадают с текущим именем и хешированным паролем соответственно. Если поиск дает положительный результат, идентификация и аутентификация считаются пройденными.
Помимо указанного способа, SQL Server поддерживает аутентификацию с использованием учетной записи домена Windows NT. Непосредственная аутентификация пользователя происходит в домене Windows NT при входе в систему, после чего можно в любое время устанавливать доверительное соединение с сервером СУБД – соединение без дополнительных проверок имени и пароля.
Учетные записи Windows NT находятся в специальном хранилище системы безопасности домена, существующей отдельно от SQL Server. Каждая учетная запись имеет уникальный идентификатор (login ID), он же идентификатор безопасности (SID). Во время регистрации в домене операционная система по введенным имени и паролю находит SID учетной записи и с его помощью организует доступ пользователя ко всем ресурсам компьютера и сети. Чтобы пользователь домена мог соединяться с SQL Server, его SID должен быть предварительно сохранен в системной таблице syslogins. При этом сохраняется именно SID: имя, пароль и прочие сведения не копируются из хранилища учетных записей домена. Во время установки соединения серверу СУБД передается только SID текущей учетной записи Windows NT с клиентской рабочей станции; сервер ищет соответствующую строку в таблице syslogins, и, если находит, устанавливает соединение.
Применение доверительного соединения обладает рядом преимуществ по сравнению с использованием внутренних учетных записей SQL Server. Во-первых, вход пользователя в различные системы осуществляется под одной парой «имя-пароль», достаточно запомнить именно ее, чтобы свободно работать как в домене Windows, так и в СУБД. Во-вторых, повышается уровень защищенности паролей. При аутентификации в режиме Windows NT пароли по сети не передаются, что исключает возможность их перехвата. Кроме того, хеш-образы паролей Windows NT вскрываются гораздо труднее, чем хеши паролей SQL Server.
Однако аутентификация с использованием учетных записей SQL Server может оказаться полезной и даже неизбежной, если администрированием домена и СУБД занимаются разные люди, которые испытывают трудности при согласовании своих действий. Внутренняя аутентификация SQL Server позволяет разделить эти задачи, сделать администрирование СУБД независимым от администрирования операционной системы. Кроме того, аутентификация в режиме Windows NT невозможна для пользователей, работающих под управлением операционных систем Unix, Novell NetWare. Невозможна она и при подключении к SQL Server через Интернет.
Перечисленные способы аутентификации не следует путать с режимами аутентификации, которых в СУБД SQL Server тоже два.
1. Режим смешанной аутентификации.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.