Безопасность Microsoft SQL Server 2000  / 7. Безопасность инсталляции SQL Server 2000

6. «  » 8.

7.1.      Не используйте учетную запись sa
7.2.      Учетные записи для запуска сервисов
7.3.      Учетная запись Local System
7.4.      Учетная запись локального пользователя
7.5.      Учетная запись пользователя домена
7.6.      Файловая система
7.7.      Системный реестр
7.8.      Аудит
7.9.      Аудит средствами SQL Profiler

7. Безопасность инсталляции SQL Server 2000

Информация в этом разделе относится к SQL Server 2000, устанавливаемому на Windows NT или Windows 2000. Windows 98 и Windows Ме не поддерживают описываемые тут особенности безопасности. Предполагается, что SQL Server 2000 использует Windows Authentication Mode, чтобы обеспечивать самый высокий уровень безопасности (заданная по умолчанию установка).

[В начало]

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

Рекомендуется, чтобы все администраторы сервера баз данных получали доступ к SQL Server через группу Windows, и что бы эта та группа была включена в серверную роль sysadmin. Этот подход имеет один незначительный недостаток; Администратор Windows может дать любому пользователю права уровня sysadmin, поскольку он может добавить его в соответствующую группу Windows.
Если сайт не позволяет предоставлять доступ уровня sysadmin к SQL Server нескольким администраторам Windows, только одна учётная запись Windows должна быть включена в фиксированную серверную роль sysadmin.
В каждом конкретном случае, настоятельно рекомендуется, чтобы учетная запись sa не использовалась для ежедневных администраторских задач. Лучше установить для sa трудно - подбираемый пароль и хранить его в сейфе, используя только в чрезвычайных ситуаций.
Если SQL Server 2000 работает в Windows Authentication Mode (в соответствии с рекомендациями этого документа), нет возможности зарегистрироваться на сервере под логином sa, а только с использованием доверительных подключений.
Обратите внимание: Пароль для sa необходимо ввести в любом случае, даже если не используется Mixed Authentication Mod, т.к. с помощью изменения в ключе системного реестра можно изменить режим аутентификации на смешанный и зарегистрироваться под sa без пароля.

[В начало]

7.2. Учетные записи для запуска сервисов

SQL Server 2000 использует три сервиса (службы) Windows:

·MSSQLServer (или MSSQL$INSTANCENAME для именованного экземпляра) - движок, обеспечивающий основные функциональные возможности SQL Server.
·SQLServerAgent (или SQLAGENT$INSTANCENAME для именованного экземпляра) - обеспечивает выполнение заданий по расписанию и расписание репликации, обеспечивает реакцию на ошибки, оповещение операторов SQL Server об ошибках, и также другие функции поддержки.
·Служба Microsoft Search - обеспечивает полнотекстовый поиск. Эта служба должна всегда использовать учетную запись локальной системы (local system).
Для старта SQL Server и службы SQL Server Agent можно использовать один из следующих типов учётных записей Windows:

·Local service account ·Local user account ·Domain user account

Выбор зависит от функциональных возможностей, которые требуются для SQL Server 2000. Обе службы могут использовать одну и ту же учетную запись.
Если учетная запись сервиса должна быть изменена после того, как сервер был установлен, для этого должен использоваться SQL Server Enterprise Manager. В то же время, можно изменить учётную запись запуска сервисов SQL Server и SQL Server Agent в оснастке сервисов из набора Control Panel. Это делать не рекомендуют, потому что конфигурация для службы Microsoft Search окажется не согласованной. Изменение учетной записи сервиса вступает в силу при следующем запуске сервиса. SQL Server и SQL Server Agent могут использовать разные учетные записи Windows, хотя это обычно не рекомендуется. При изменении учетной записи сервиса, изменения должны быть сделаны для обоих сервисов, поскольку они настраиваются отдельно.
Что бы уменьшить стоимость администрирования много - серверной среды, используйте одну учётную запись пользователя домена для всех серверов SQL Server 2000 в рамках предприятия.

[В начало]

7.3. Учетная запись Local System

SQL Server 2000 может запускаться от учетной записи локальной системы, если SQL Server не использует репликацию и не требуется доступ к ресурсам сети.
Перечисленные ниже права должны быть установлены для учетной записи локальной системы для запуска SQL Server 2000 (инсталлятор устанавливает эти права автоматически):

·Full Control на каталог SQL Server (по умолчанию\Program Files\Microsoft SQL Server\MSSQL)
·Full Control на все файлах базы данных: .mdf, .ndf и .ldf
·Full Control на ключи системного реестра и все входящие в них ключи:

   HKEY_LOCAL_MACHINE\Software\Microsoft\MSSQLServer
   HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\MSSQLServer (или для именованного экземпляра)
   HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SQL Server\InstanceName
   HKEY_LOCAL_MACHINE\System\CurrentControlset\Services\MSSQL$InstanceName

[В начало]

7.4. Учетная запись локального пользователя

Если SQL Server 2000 запускается из-под учетной записи локального пользователя Windows, применяются те же самые ограничения, как и для Local System, с небольшим дополнением (инсталлятор устанавливает эти права по умолчанию):

·Учетной записи пользователя нужно предоставить право на Log On As A Service.

[В начало]

7.5. Учетная запись пользователя домена

Если SQL Server 2000 запускается из-под учетной записи пользователя домена, обеспечивается самая большая гибкость. Некоторые примеры функциональных возможностей, доступных только при запуске сервисов от учётной записи пользователя домена представлены в этом списке:

·Репликация.
·Поддержка резервного копирования и восстановления с сетевых дисков.
·Использование гетерогенный объединений, которые задействуют удалённые источники данных.
·Почтовые возможности SQL Server Agent и SQL Mail.

Для SQL Server 2000, чтобы использовать перечисленные выше задачи, учетная запись пользователя домена должна быть настроена также, как описанная ранее учетная запись локального пользователя. Однако, некоторые дополнительные функциональные возможности доступны только, если будут даны дополнительные права. Эти права представлены в таблице:

Служба Функциональные возможности Права
SQL Server Права записи в сети. Возможность чтения/записи удалённых резервных копий
SQL Server Работа как часть операционной системы и подмена маркера уровня процесса Исполнение xp_cmdshell пользователем, не являющимся администратором SQL Server
SQL Server Agent Включение в группу локальных администраторов Создание CmdExec и ActiveScript заданий, принадлежащих не администратору SQL Server
SQL Server Agent Включение в группу локальных администраторов Задействовать опцию авторестарта.
SQL Server Agent Включение в группу локальных администраторов Использование пользовательских заданий, которые запускаются при простаивании сервера (User run-when-idle jobs)

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

[В начало]

7.6. Файловая система

Windows обеспечивает хорошую структуру безопасности для защиты объектов операционной системы, таких, как файлы. Рекомендуется, чтобы права в NTFS устанавливались на файлы данных и журналов всех баз данных. Учетной записи пользователя, от имени которой стартует SQL Server 2000, нужно дать право Full Control на файлы баз данных. Все файлы SQL Server 2000, включая исполняемые программы и динамические библиотеки (DLL), должны быть защищены, чтобы пользователи не могли иметь к ним доступ. Права на эти файлы (Full Control) должны быть только у учётной записи сервиса SQL Server, группы Administrators и у учётной записи локальной системы. Никто другой не должен иметь на эти файлы никаких прав.
При установке SQL Server 2000, учетной записи(ям) сервисов автоматически будут предоставлены права Full Control на файлы SQL Server, также как и группе локальных администраторов.

[В начало]

7.7. Системный реестр

Чтобы при инсталляции SQL Server 2000 защитится от не санкционированных действий пользователей, которые имеют права на вход в систему сервера, есть смысл установить ограничения на доступ к ключам системного реестра Windows, которые используются для настроек SQL Server 2000.
Это ключи в ветке реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MSSQLServer
   (Для экземпляра по умолчанию) или
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\MICROSOFT SQL Server\INSTANCENAME
   (Для именованного экземпляра).

Права для группы everyone на эти ключи должны быть удалены, а права Full Control добавлены для группы администраторов, учетной записи локальной системны или для учетной записи службы SQL Server. При установке необходимые права выдаются автоматически для учетных записей сервисов, указанных в мастере установки.
Разграничение прав на ключи системного реестра особенно важно, если администратор SQL Server хочет ограничить доступ к SQL Server для администраторов Windows. В этом случае, администратор баз данных должен также удалить права для группы Administrators и на ключи системного реестра, относящиеся к его учётной записи. Это необходимо также, как и то, что учетная запись сервиса SQL Server должна иметь право Full Control. Хотя это не лишит возможности членов группы Administrators получения такого доступа, это позволит администратору SQL Server узнать, когда администраторы Windows компрометировали систему безопасности базы данных. Administrators могут всегда стать владельцами ключей реестра (как и файлов), но не смогут воспользоваться этим. Для получения дополнительной информации относительно администраторов Windows, получающих доступ к SQL Server, см. главу "Не используйте учетную запись sa ".

[В начало]

7.8. Аудит

SQL Server 2000 может вести аудит входа в систему сервера, который сохраняется в Windows event log. Уровень аудита можно выбрать в SQL Server Enterprise Manager или используя расширенную хранимую процедуру xp_loginconfig. Возможные параметры настройки аудита:

·None. Не регистрируется никакая информация аудита.
·Success. Регистрируется только успешный вход в систему.
·Failure. Регистрируется только неудачный вход в систему.
·All. Регистрируется успешный и неудачный входы в систему.

Информация аудита сохраняется в файлы регистрации ошибок SQL Server 2000.

[В начало]

7.9. Аудит средствами SQL Profiler

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

·Действия конечных пользователей (все SQL команды, вход/выход из системы, использование ролей приложений).
·Действия DBA (DDL, действия отличные от Grant/Revoke/Deny, а также события безопасности и конфигурирования (БД или сервера)).
·События безопасности (Grant/Revoke/Deny, добавление/удаление/изменение логина пользователя/роли).
·Сервисные события (резервирование/восстановление/bulk insert/bcp/DBCC команды).
·События сервера (завершение, пауза, запуск).
·События аудита (добавление, изменение, отключение аудита).

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

[В начало]

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

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