Особые случаи шифрования подключений к SQL Server

Клиентский компьютер должен доверять сертификату сервера, чтобы клиент смог запросить SSL-шифрование, и сертификат должен уже существовать на сервере. Наиболее распространенный сценарий шифрования SQL Server включает среды, которые:

  • Принудительное шифрование всех входящих клиентских подключений к SQL Server.
  • Используйте сертификаты общедоступного коммерческого центра сертификации, которому Windows уже доверяет. Соответствующий корневой сертификат для ЦС устанавливается в хранилище сертификатов доверенных корневых центров сертификации на всех компьютерах в сети.

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

Примечание

Полный список участников программы доверенных корневых служб Майкрософт см. в разделе Список участников — доверенные корневые программы Майкрософт.

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

  1. Настройте сертификат в SQL Server согласно процедуре, описанной в разделе Настройка SQL Server использования сертификатов.
  2. Укажите для ключевое слово шифрования в свойствах подключения значение Да или True. Например, если вы используете Microsoft ODBC Driver для SQL Server, в строке подключения следует указать Encrypt=yes;.

Использование сертификата, выданного внутренним центром сертификации или созданного с помощью New-SelfSignedCertificate или makecert

Сценарий 1. Вы хотите зашифровать все подключения к SQL Server

После выполнения обеих процедур, описанных в разделе Шаг 1. Настройка SQL Server для использования сертификатов и Шаг 2. Настройка параметров шифрования в SQL Server описано в разделе Настройка SQL Server для шифрования, используйте один из следующих параметров для настройки шифрования в клиентском приложении.

Вариант 1. Настройте клиентские приложения для доверенного сертификата сервера. Этот параметр приведет к тому, что клиент пропустит шаг проверки сертификата сервера и продолжит процесс шифрования. Например, если вы используете SQL Server Management Studio, можно выбрать Доверять сертификату сервера на странице Параметры.

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

  1. Экспортируйте сертификат с компьютера, на котором выполняется SQL Server, с помощью процедуры, описанной в разделе Экспорт сертификата сервера.
  2. Импортируйте сертификат с помощью процедуры, описанной в разделе Добавление частного центра сертификации (ЦС) в хранилище сертификатов доверенных корневых центров сертификации.

Сценарий 2. Зашифрованные подключения требуются только некоторым клиентам

После настройки сертификата для использования SQL Server, как описано в разделе Шаг 1. Настройка SQL Server для использования сертификатов в разделе Настройка SQL Server для шифрования, используйте один из следующих параметров, чтобы настроить шифрование в клиентском приложении.

Вариант 1. Настройте клиентские приложения для доверия сертификату сервера и укажите ключевое слово шифрования в свойствах подключения значение Да или True. Например, если вы используете Microsoft ODBC Driver для SQL Server, в строке подключения следует указать Encrypt=yes;Trust Server Certificate =Yes;.

Дополнительные сведения о сертификатах сервера и шифровании см. в разделе Использование TrustServerCertificate.

Вариант 2. На каждом клиенте добавьте центр выдачи сертификата в хранилище доверенных корневых центров сертификации и укажите параметры шифрования в значение Да в строке подключения:

  1. Экспортируйте сертификат с компьютера, на котором выполняется SQL Server, с помощью процедуры, описанной в статье Экспорт сертификата с компьютера, на котором выполняется SQL Server.
  2. Импортируйте сертификат.
  3. Укажите для ключевое слово шифрования в свойствах подключения значение Да или True. Например, если вы используете Microsoft OLEDB Driver для SQL Server, в строке подключения должно быть указано Use Encryption for Data = True;

Использование самозаверяющего сертификата, автоматически созданного SQL Server

Сценарий 1. Вы хотите зашифровать все входящие подключения к SQL Server

  1. Включите шифрование SQL Server с помощью процедуры Шаг 2. Настройка параметров шифрования в SQL Server описано в разделе Настройка SQL Server шифрования.

  2. Настройте клиентские приложения, чтобы они доверяли сертификату сервера. Доверие сертификату сервера приведет к тому, что клиент пропустит шаг проверки сертификата сервера и продолжит процесс шифрования. Например, если вы используете SQL Server Management Studio, можно выбрать Доверять сертификату сервера на странице Параметры.

Сценарий 2. Зашифрованные подключения требуются только некоторым клиентам

Настройте клиентские приложения, чтобы они доверяли сертификату сервера, и укажите ключевое слово шифрования в свойствах подключения значение Да или True. Например, если вы используете Microsoft ODBC Driver для SQL Server, в строке подключения следует указать Encrypt=yes;Trust Server Certificate =Yes;.

Предупреждение

SSL-подключения, зашифрованные с помощью самозаверяющего сертификата, не обеспечивают надежную безопасность, так как длина ключа в самозаверяющих сертификатах меньше, чем длина ключа в сертификатах, созданных ЦС. Они уязвимы для атак "злоумышленник в середине". Не следует полагаться на SSL с использованием самозаверяющих сертификатов в рабочей среде или на серверах, подключенных к Интернету.

Примечание

Для этого сценария дополнительная настройка SQL Server не требуется.

Дальнейшие действия