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


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