Аннотация

В этом пошаговом руководстве описано, как установить сертификат на компьютер с Microsoft SQL Server при помощи консоли управления (MMC) и как включить SSL-шифрование на сервере или для отдельных клиентов.

Примечание. Этот способ не подходит для установки сертификата на кластерный сервер SQL Server. Для кластерного экземпляра см. способ, описанный в разделе "Настройка сертификата SSL для кластерной среды SQL Server" далее в этой статье. 

Если в вашей организации используется центр сертификации предприятия, вы можете запросить сертификаты для автономного сервера SQL Server, а затем использовать такой сертификат для шифрования по протоколу SSL.

Вы можете включить Принудительное шифрование протоколана сервере или на клиенте. 

Примечание Чтобы включить Принудительное шифрование протоколана сервере, используйте Server Network Utility или диспетчер конфигурации SQL Server в зависимости от версии SQL Server. Чтобы включить Принудительное шифрование протоколана клиенте, используйте Client Network Utility или диспетчер конфигурации SQL Server.  

Важно! Если шифрование SSL было включено с помощью Client Network Utility (для клиентов SQL Server 2000) или на страницах конфигурации SQL Native Client <version> (32-разрядная версия) или SQL Native Client <version> в диспетчере конфигурации SQL Server, то для всех подключений от этого клиента к любым серверам SQL Server будет запрашиваться шифрование SSL.

Если вы установили Принудительное шифрование протокола на сервере, то необходимо установить сертификат на сервере.

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

Примечание. Если вы используете SQL Server для шифрования подключений экземпляра SQL Server, вы можете задать для параметраForceEncryption значение Yes (Да). Подробнее см. в разделе «Включение шифрования соединений в ядре СУБД (диспетчер конфигурации SQL Server)» в электронной документации по SQL Server:

http://msdn.microsoft.com/ru-ru/library/ms191192(v=sql.110).aspx#ConfigureServerConnections

Установка сертификата на сервере с помощью консоли управления (MMC)

Чтобы использовать SSL-шифрование, необходимо установить сертификат на сервере. Для установки сертификата используйте оснастку MMC и выполните следующие действия.

Настройка оснастки MMC

  1. Чтобы открыть оснастку «Сертификаты», выполните следующие действия:

    1. Нажмите кнопку Пуск, а затем щелкните Выполнить, чтобы открыть консоль MMC. В диалоговом окне Выполнить введите:

      MMC

    2. В меню Консоль щелкните Добавить или удалить оснастку.

    3. Щелкните Добавить, а затем — Сертификаты. Снова щелкните Добавить.

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

    5. Выберите Локальный компьютер, а затем щелкните Готово.

    6. В диалоговом окне Добавить изолированную оснастку щелкните Закрыть.

    7. В окне Добавить/удалить оснастку нажмите кнопку ОК. Установленные сертификаты находятся в папке Сертификаты в контейнере Личные.

  2. Используйте оснастку MMC, чтобы установить сертификат на сервер:

    1. Выберите папку Личные на панели слева.

    2. Щелкните правой кнопкой мыши на правой панели, выберите Все задачи, а затем щелкните Запросить новый сертификат….

    3. Откроется диалоговое окно Мастер запроса сертификата. Щелкните Далее. Выберите Тип сертификата — "компьютер".

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

    5. Если вы хотите включить шифрование для отдельных клиентов, пропустите этот шаг и перейдите к разделу Включение шифрования для отдельного клиента этой статьи.

      Чтобы включить шифрование на сервере для SQL Server 2000, откройте Server Network Utility на сервере с установленным сертификатом и отметьте флажком Принудительное шифрование протокола. Перезапустите службу MSSQLServer (SQL Server), чтобы активировать шифрование. Теперь ваш сервер готов к использованию шифрования SSL.

      Чтобы включить шифрование на сервере для SQL Server 2005 и более поздних версий, откройте диспетчер конфигурации SQL Server и выполните следующие действия:

      1. Разверните в диспетчере конфигурации SQL Server раздел Сетевая конфигурация SQL Server, щелкните правой кнопкой мыши Протоколы для <экземпляр_сервера> и выберите Свойства.

      2. На вкладке Сертификат выберите необходимый сертификат в раскрывающемся меню Сертификат и нажмите кнопку ОК.

      3. На вкладке Флаги выберите Yes (Да) в поле ForceEncryption и нажмите кнопку ОК, чтобы закрыть диалоговое окно.

      4. Перезапустите службу SQL Server.

Настройка сертификата SSL для кластерной среды SQL Server

Сертификат, который используется SQL Server для шифрования соединений, указывается в следующем разделе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.x\MSSQLServer\SuperSocketNetLib\Certificate

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

  1. Перейдите в хранилище, где хранится сертификат FQDN. На странице свойств сертификата перейдите на вкладку Сведения и скопируйте значение отпечатка сертификата в Блокнот.

  2. Удалите из значения отпечатка в Блокноте пробелы между шестнадцатеричными символами.

  3. Откройте редактор реестра и скопируйте значение, полученное на шаге 2, в следующий раздел:

    HKLM\SOFTWARE\Microsoft\Microsoft SQL Server\<экземпляр>\MSSQLServer\SuperSocketNetLib\Certificate

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

  5. Повторите эту процедуру на всех узлах.


Снимки экрана для этой процедуры см. в следующей записи блога MSDN:

http://blogs.msdn.com/b/jorgepc/archive/2008/02/19/enabling-certificates-for-ssl-connection-on-sql-server-2005-clustered-installation.aspx

Включение шифрования для отдельного клиента

Чтобы клиент мог запросить шифрование SSL, компьютер клиента должен доверять сертификату сервера и сертификат должен быть установлен на сервере. Для экспорта доверенного корневого центра сертификации, используемого сертификатом сервера, воспользуйтесь оснасткой MMC.

  1. Чтобы экспортировать доверенный корневой центр сертификации для сертификата сервера, выполните следующие действия:

    1. Откройте консоль управления (MMC) и найдите свой сертификат в папке Личные.

    2. Щелкните имя сертификата правой кнопкой мыши, а затем щелкните Открыть.

    3. Перейдите на вкладку Путь сертификации. Обратите внимание на самый верхний элемент списка.

    4. Перейдите в папку Доверенные корневые центры сертификации и найдите центр сертификации, на который мы просили обратить внимание в предыдущем шаге.

    5. Щелкните Центр сертификации правой кнопкой мыши, выберите пункт Все задания, а затем щелкните Экспорт.

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

  2. Импортируйте сертификат на компьютер клиента, выполнив следующие действия:

    1. Перейдите на клиентский компьютер с помощью оснастки MMC, а затем перейдите в папку Доверенные корневые центры сертификации.

    2. Щелкните правой кнопкой мыши папку Доверенные корневые центры сертификации, выберите Все задачи, а затем щелкните Импорт.

    3. Найдите и выберите файл сертификата (CER-файл), созданный на шаге 1. Далее выберите значения по умолчанию и завершите работу мастера.

    4. Запустите SQL Server Client Network Utility.

    5. Установите флажок Принудительное шифрование протокола. Теперь ваш клиент готов к использованию шифрования SSL.

Проверка подключения клиента

Чтобы проверить подключение клиента:

  • Воспользуйтесь SQL Management Studio.

    -или-

  • Воспользуйтесь любым приложением ODBC или OLEDB, в котором можно изменить строку подключения.

SQL Server Management Studio


Для проверки подключения с помощью SQL Server Management Studio выполните следующие действия:

  1. Перейдите на страницу конфигурации SQL Server Client <version> в диспетчере конфигурации SQL Server.

  2. В окнах свойств установите для параметра Принудительное шифрование протокола значение "Да".

  3. Подключитесь к серверу, на котором запущен SQL Server, с помощью SQL Server Management Studio.

  4. Для отслеживания обмена данными используйте Microsoft Network Monitor или анализатор сетевых пакетов.


Примеры строк подключения ODBC или OLEDB

Если вы используете строки подключения ODBC или OLEDB от поставщика, например от SQL Native Client, добавьте ключевое слово Encrypt и установите для него значение true (истина) в вашей строке подключения, а затем используйтеNetwork Monitorили анализатор сетевых пакетов для отслеживания обмена данными.

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

После успешной установки сертификата он не отображается в списке Сертификат на вкладке Сертификат.

Примечание. Вкладка Сертификат находится в диалоговом окне Свойства протоколов для <имя_экземпляра>, которое можно открыть в диспетчере конфигурации SQL Server.

Эта проблема возникает из-за того, что вы, возможно, установили недействительный сертификат. Если сертификат недействителен, он не будет отображаться на вкладке Сертификат. Чтобы определить, действителен ли установленный сертификат, выполните следующие действия:

  1. Откройте оснастку «Сертификаты». Для этого обратитесь к шагу 1 в разделе «Настройка оснастки MMC».

  2. В оснастке «Сертификаты» разверните раздел Личные, затем — Сертификаты.

  3. Найдите в панели справа установленный вами сертификат.

  4. Определите, соответствует ли сертификат следующим требованиям:

    • На правой панели в столбце Назначение для этого сертификата должно быть указано Проверка подлинности сервера.

    • На правой панели в столбце Получатель сертификата должно быть указано имя сервера.

  5. Дважды щелкните сертификат, а затем определите, соответствует ли сертификат следующим требованиям:

    • На вкладке Общие появляется следующее сообщение:

      У вас есть закрытый ключ, соответствующий этому сертификату.

    • На вкладке Сведения в поле Тема должно быть указано имя сервера.

    • В поле Расширенное использование ключа должно быть указано Проверка подлинности сервера (<число>).

    • На вкладке Путь сертификации в разделе Путь сертификации должно отображаться имя сервера.

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

Дополнительная информация

Если возникает ошибка 17182, подробная информация и решение приведены в следующей статье:

SQL Server fails to start with error 17182 "TDSSNIClient initialization failed with error 0xd, status code 0x38" when server is configured to use SSL (При настройке сервера SQL Server на использование SSL сервер не запускается и выдается ошибка 17182 «TDSSN I Не удалось инициализировать клиент, ошибка 0xd, код состояния 0x38»)


Нужна дополнительная помощь?

Совершенствование навыков
Перейти к обучению
Первоочередный доступ к новым возможностям
Присоединение к программе предварительной оценки Майкрософт

Были ли сведения полезными?

Насколько вы удовлетворены качеством перевода?
Что повлияло на вашу оценку?

Спасибо за ваш отзыв!

×