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


Особые случаи шифрования подключений к 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 для шифрования подключений, используйте один из следующих параметров, чтобы настроить клиентское приложение для шифрования:

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

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

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

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

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

  3. Укажите ключевое слово шифрования в свойствах подключения значение "Да" или "True". Например, если вы используете драйвер Microsoft OLEDB для 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 (SSMS) 20 и более поздних версий, можно выбрать сертификат сервера доверия на странице входа (или на странице "Параметры " в более ранних версиях).

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

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

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

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

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