Поделиться через


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

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

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

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

Примечание.

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

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

  1. Настройте сертификат в SQL Server в зависимости от процедуры, описанной в статье "Настройка SQL Server для использования сертификатов".

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

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

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

Выполнив обе процедуры, описанные на шаге 1. Настройка SQL Server для использования сертификатов и шага 2. Настройка параметров шифрования в SQL Server, описанных в разделе "Настройка sql Server ядро СУБД для шифрования подключений", используйте один из следующих вариантов, чтобы настроить клиентское приложение для шифрования.

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

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

  1. Экспортируйте сертификат с компьютера под управлением SQL Server с помощью процедуры, описанной в сертификате сервера экспорта.

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

Сценарий 2. Только некоторые клиенты нуждаются в зашифрованных подключениях

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

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

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

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

  1. Экспортируйте сертификат с компьютера под управлением SQL Server с помощью процедуры, описанной в статье "Экспорт сертификата " с компьютера под управлением SQL Server.

  2. Импортируйте сертификат.

  3. Укажите ключевое слово шифрования в свойствах подключения значение "Да" или "True". Например, если вы используете драйвер Microsoft OLEDB для SQL Server, строка подключения должен указать использование шифрования данных = True;

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

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

  1. Включите шифрование в SQL Server с помощью шага 2. Настройка параметров шифрования в SQL Server, описанных в разделе "Настройка SQL Server ядро СУБД для шифрования подключений".

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

Сценарий 2. Только некоторые клиенты нуждаются в зашифрованных подключениях

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

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

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

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