Безопасность Microsoft SQL Server 2000  / 6. Обновление SQL Server 6.5 до 2000

5. «  » 7.

6.1.      Общие замечания по обновлению
6.2.      Процесс обновления
6.2.1.   Анализ результатов обновления
6.2.2.   Пользователи, которые были удалены
6.2.3.   Учетная запись администратора
6.2.4.   Пользователи доверенного домена
6.2.5.   Пользователи текущего, заданного по умолчанию домена
6.2.6.   Подготовка среды безопасности SQL Server 6.5
6.2.7.   Шаги обновления
6.2.8.   Не обновляйте в новый домен
6.2.9.   Не обязательное отображение символов
6.2.10. Не используйте учётную запись sa
6.2.11. Не используйте псевдонимы имён

6. Обновление SQL Server 6.5 до 2000

Модель безопасности SQL Server 6.5 претерпела изменения относительно SQL Server 6.0, и была изменена снова в SQL Server 2000. Эти изменения были необходимы для обеспечения нужд практических задач в среде SQL Server. Из-за этих изменений, система разрешений должна быть тщательно пересмотрена при выполнении обновления.

[В начало]

6.1. Общие замечания по обновлению

Представленная в этом разделе информация, охватывает только вопросы обновления версии SQL Server 6.5 с интегрированным или смешанным режимом аутентификации. Если обновление выполняется для SQL Server 6.5 в стандартном режиме аутентификации, никаких проблем с безопасностью не должно быть. Однако, Microsoft рекомендует в этом случае задействовать новые функциональные возможности безопасности, доступные при выборе Windows Authentication Mode и внедрить их в обновлённой среде. Лучшим методом настройки безопасности SQL Server 6.x является модернизация до наиболее сильного уровня безопасности, тщательное планирование обновления и безопасности системы в целом.

[В начало]

6.2. Процесс обновления

Процесс обновления может быть выполнен непосредственно на сервере или с одного компьютера на другой. По логике, обновление непосредственно на сервере выполняется так же, как обновление с одного компьютера на другой, где исходный и целевой компьютер один и тот же. Эти два компьютера будем называть исходным и целевым серверами. Исходным сервером будет SQL Server 6.0 или 6.5, а целевым - SQL Server 2000.
В течение процесса обновления версии, программой открываются на исходном сервере ключи системного реестра SQL Server 6.5, и считываются SID всех имеющих разрешённый доступ логинов. Логины на исходном сервере могут быть глобальными или локальными группами, а также пользователями Windows. В случае глобальных групп и пользователей, они могут быть из локального домена (если SQL Server 2000 входит в домен или это могут бы быть учетные записи доверенного домена). Если SQL Server 2000 был установлен на контроллере домена, локальные группы контроллера домена становятся локальными группами домена; иначе, локальные группы будут обычными локальными группами сервера, находящегося в домене.
Учетные записи, которым на исходном сервере дали администраторские разрешения, игнорируются процессом обновления и не отображаются на учетные записи целевого сервера.
Обратите внимание, что инструкция sp_grantlogin будет выполнена на SQL Server 2000 для всех учётных записей Windows, которые использовали интегрированную модель безопасности в SQL Server 6.5. SQL Security Manager, который используется начиная с версии SQL Server 6.5, будет исполнять xp_grantlogin, для имитации того, что было сделано в более ранней версии.

[В начало]

6.2.1. Анализ результатов обновления

Большинство связанных с безопасностью трудностей при обновлении обусловлены тем, что интегрированная модель безопасности SQL Server 6.5 основывалась на ключах системного реестра и только те, кто имел доступ к этим ключам, могли подключится к серверу. Разрешения на ключи системного реестра были связаны с учетными записями пользовательских логинов, которые хранились в таблице syslogins.
Для обеспечения доступа к SQL Server 2000 этот метод больше не использует. Вместо этого, доступа к серверу предоставляется на основе SID пользователя или группы Windows. Поэтому, процесс обновления иногда не может правильно идентифицировать требования безопасности исходного сервера. Это бывает потому, что среда безопасности SQL Server была старого типа или обновление происходит в другую среду.
Представленная ниже таблица была создана, чтобы продемонстрировать логины в SQL Server Enterprise Manager после обновления.

Название Тип Доступ к серверу БД по умолчанию Пользователь Строка
User1 Standard Разрешен master   1
a#user2 Standard Разрешен master   2
BUILTIN\administrators Группа Windows Разрешен master dbo 3
DOM3\SQLUsers Группа Windows Разрешен master   4
DOM3_user*3 Standard Разрешен master   5
DOM3_Administrator Standard Разрешен master   6
REDMOND\a user4 Пользователь Windows Через Группу master   7
REDMOND\user5 Пользователь Windows Через Группу master   8

Содержание этой таблицы объясняется в ниже следующих разделах.

[В начало]

6.2.2. Пользователи, которые были удалены

Строки 1 и 2 в этой таблице получаются, когда пользователи не найдены в Windows User Directory. Если системная хранимая процедура xp_logininfo не возвращает имя пользователя, оно конвертируется в стандартный логин, что и видно в этих двух строках. Символ '*' в строке 2 используется, чтобы заменить пробел, так как SQL Server 6.5 и ранние версии не поддерживал специальные символы.

[В начало]

6.2.3. Учетная запись администратора

Локальная группа BUILTIN\Administrators в строке 3 является псевдонимом для пользователя dbo в базе данных master.

[В начало]

6.2.4. Пользователи доверенного домена

Строка 4 в таблице относится к группе DOM3\SQLUsers, являющейся глобальной группой доверенного домена. Членам этой группы предоставлено право входа в систему. Однако, членам этой группы также будет предоставлено право входа в систему, использующее стандартную защиту и их имена, какими они были в SQL Server 6.5 или ранних версиях. Это делается для того, чтобы обеспечить обратную совместимость для режима стандартной безопасности.
Обратите внимание на логин администратора в строке 6; логину для Windows Administrator домена DOM3 перед обновлением были предоставлены права пользовательского логина. Весь доступ уровня пользовательских логинов будет обработан таким же образом.

[В начало]

6.2.5. Пользователи текущего, заданного по умолчанию домена

Пользователи текущего домена (как было установлено в SQL Server 6.x до обновления) после обновления будут иметь вид, как в строках 7 и 8. Обратите внимание на тип учетной записи и на наличие пробела в строке 7. SQL Server 2000 поддерживает специальные символы в именах учетных записей.

[В начало]

6.2.6. Подготовка среды безопасности SQL Server 6.5

Настоятельно рекомендуется до обновления все параметры настройки безопасности полностью отключить. Для работы SQL Security Manager необходимо гарантировать, что бы все учётные записи Windows были синхронизированы с SQL Server. Если среда безопасности в порядке, процесс обновления имеет самые высокие шансы завершиться должным образом.

[В начало]

6.2.7. Шаги обновления

Можно относительно легко контролировать процесс обновления и определять, как будет идти обновление учетных записей пользователей и групп. Мастер обновления SQL Server позволяет останавливать процесс после каждого очередного шага. Если выбрана опция остановки после каждого шага, может анализировать промежуточные результаты, созданные на предыдущей стадии обновления безопасности. Информация для анализа шагов обновления сохраняется в файлы - loginmap.sid и loginmap.txt. Если их содержание не является верным, эти текстовые файлы могут быть отредактированы, и потом работа может быть продолжена.
Примечание: Редактирование файлов loginmap.sid и loginmap.txt в течение процесса обновления Microsoft не поддерживается.

[В начало]

6.2.8. Не обновляйте в новый домен

При обновлении SQL Server 6.x используется метод, который не поддерживает обновление базы данных из одного домена в другой. При исполнении хранимой процедуры xp_logininfo, она не сможет найти учётные записи, которые существовали в исходном домене (а если даже и найдёт, то это вероятно не правильные учетные записи или с одинаковыми именами). Права такому логину будут предоставлены, как будто эта учётная запись была удалена. Для получения дополнительной информации, см. "Пользователи, которые были удалены".

[В начало]

6.2.9. Не обязательное отображение символов

Отображение символов не требуется, т.к. SQL Server 2000 может работать с пробелами и наклонной влево чертой в именах учетных записей.
В SQL Server 6.5 и ранние версии, нуждались в настройке отображения символов, чтобы использовать имена учётных записей Windows NT, которые содержали специальные символы, такие как обратный слеш (\). Поэтому в SQL Server 6.5 использовались три символа отображения: "*", "_" и "$".

[В начало]

6.2.10. Не используйте учётную запись sa

В SQL Server 6.5 и более ранних версиях, администраторы регистрировались на SQL Server используя учетную запись для системных администраторов (sa), что позволяло им исполнять задачи администрирования. Часто большому количеству людей необходимо было предоставлять администраторский доступ.
Все пользователи Windows NT, которым предоставляется набор прав на SQL Server 2000, как у sa, должны быть включены в фиксированную серверную роль sysadmin.

[В начало]

6.2.11. Не используйте псевдонимы имён

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

[В начало]

Перевод: Александра Гладченко  2003г.

5. «  » 7.
Скачать электронную карту Ангарска бесплатно
Сайт управляется системой uCoz