Особые случаи шифрования подключений к SQL Server
Клиентский компьютер должен доверять сертификату сервера, чтобы клиент смог запросить ШИФРОВАНИЕ SSL, и сертификат должен уже существовать на сервере. Наиболее распространенный сценарий шифрования SQL Server включает в себя среды, которые:
- Принудительное шифрование для всех входящих клиентских подключений к SQL Server.
- Используйте сертификаты из общедоступного коммерческого центра сертификации, которым windows уже доверяет. Соответствующий корневой сертификат ЦС устанавливается в хранилище сертификатов доверенных корневых центров сертификации на всех компьютерах в сети.
В этом сценарии вам не нужно выполнять дополнительные действия для успешного шифрования после настройки SQL Server для шифрования в рамках процедуры, описанной в разделе "Настройка SQL Server для шифрования". В этой статье приведены процедуры шифрования подключений к SQL Server для менее распространенных сценариев, которые не рассматриваются в настройке SQL Server для шифрования.
Примечание.
Полный список участников в доверенной корневой программе Майкрософт см. в разделе "Список участников " Доверенные корневые программы Майкрософт".
Использование сертификата, выданного общедоступным центром сертификации, и для некоторых клиентов требуются зашифрованные подключения.
- Настройте сертификат в SQL Server в зависимости от процедуры, описанной в статье "Настройка SQL Server для использования сертификатов".
- Укажите ключевое слово шифрования в свойствах подключения к "Да" или "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, на странице "Параметры" можно выбрать сертификат сервера доверия.
Вариант 2. На каждом клиенте добавьте центр выдачи сертификата в хранилище доверенных корневых центров, выполнив следующие действия:
- Экспортируйте сертификат с компьютера под управлением SQL Server с помощью процедуры, описанной в сертификате сервера экспорта.
- Импортируйте сертификат с помощью процедуры, описанной в разделе "Добавление частного центра сертификации( ЦС) в хранилище сертификатов доверенных корневых центров сертификации.
Сценарий 2. Только некоторые клиенты нуждаются в зашифрованных подключениях
После настройки сертификата для SQL Server, как описано на шаге 1. Настройка SQL Server для использования сертификатов в настройке SQL Server для шифрования используйте один из следующих параметров, чтобы настроить клиентское приложение для шифрования:
Вариант 1. Настройте клиентские приложения для доверия к сертификату сервера и укажите ключевое слово шифрования в свойствах подключения значение "Да" или "True". Например, если вы используете драйвер Microsoft ODBC для SQL Server, строка подключения следует указатьEncrypt=Yes;Trust Server Certificate=Yes;
.
Дополнительные сведения о сертификатах сервера и шифровании см. в разделе Использование TrustServerCertificate.
Вариант 2. На каждом клиенте добавьте центр выдачи сертификата в хранилище доверенных корневых центров и укажите параметры шифрования в строка подключения:
- Экспортируйте сертификат с компьютера под управлением SQL Server с помощью процедуры, описанной в статье "Экспорт сертификата " с компьютера под управлением SQL Server.
- Импортируйте сертификат.
- Укажите ключевое слово шифрования в свойствах подключения к "Да" или "True". Например, если вы используете драйвер Microsoft OLEDB для SQL Server, строка подключения должен указать использование шифрования данных = True;
Использование самозаверяющего сертификата, автоматически созданного SQL Server
Сценарий 1. Вы хотите зашифровать все входящие подключения к SQL Server
Включите шифрование в SQL Server с помощью шага 2. Настройка параметров шифрования в SQL Server , описанная в разделе "Настройка SQL Server для шифрования".
Настройте клиентские приложения для доверия к сертификату сервера. Доверие сертификату сервера приведет к пропустить шаг, который проверяет сертификат сервера и продолжит процесс шифрования. Например, если вы используете SQL Server Management Studio, на странице "Параметры" можно выбрать сертификат сервера доверия.
Сценарий 2. Только некоторые клиенты нуждаются в зашифрованных подключениях
Настройте клиентские приложения для доверия сертификату сервера и укажите ключевое слово шифрования в свойствах подключения к "Да" или "True". Например, если вы используете драйвер Microsoft ODBC для SQL Server, строка подключения следует указатьEncrypt=Yes;Trust Server Certificate=Yes;
.
Предупреждение
SSL-подключения, зашифрованные с помощью самозаверяющего сертификата, не обеспечивают надежную безопасность, так как длина ключа в самозаверяющих сертификатах короче, чем ключ в сертификатах, созданных ЦС. Они уязвимы для атак "злоумышленник в середине". Вы не должны полагаться на SSL с помощью самозаверяющих сертификатов в рабочей среде или на серверах, подключенных к Интернету.
Примечание.
Для этого сценария дополнительная конфигурация не требуется.