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


Сводка по шифрованию на стороне клиента и в SQL Server

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

Шифрование всех подключений к серверу (шифрование на стороне сервера)

Тип сертификата Принудительное шифрование в свойствах сервера Импорт сертификата сервера на каждом клиенте Параметр сертификата сервера доверия Зашифровать параметр в строке подключения Комментарии
Самозаверяющий сертификат — автоматически созданный SQL Server Да Невозможно Да Проигнорировано SQL Server 2016 (13.x) и более ранних версиях используют алгоритм SHA1. SQL Server 2017 (14.x) и более поздних версиях используют SHA256. Дополнительные сведения см. в разделе "Изменения в алгоритме хэширования" для самозаверяющего сертификата в SQL Server 2017. Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Самозаверяющий сертификат, созданный с помощью New-SelfSignedCertificate или makecert — вариант 1 Да нет Да Проигнорировано Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Самозаверяющий сертификат, созданный с помощью New-SelfSignedCertificate или makecert — вариант 2 Да Да Необязательно Проигнорировано Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Сервер сертификатов компании или центр сертификации (ЦС), который не находится в списке участников — доверенная корневая программа Microsoft — вариант 1 Да нет Да Проигнорировано
Сервер сертификатов компании или центр сертификации (ЦС), который не находится в списке участников — доверенные корневые программы Майкрософт — вариант 2 Да Да Необязательно Проигнорировано
Доверенные корневые центры Да нет Необязательно Проигнорировано Мы рекомендуем использовать такой подход.

Шифрование подключений от конкретного клиента

Тип сертификата Принудительное шифрование в свойствах сервера Импорт сертификата сервера на каждом клиенте Указание параметра сертификата сервера доверия на клиенте Вручную установите значение свойства шифрования на Да/Истина на стороне клиента. Комментарии
Самозаверяющий сертификат — автоматически созданный SQL Server Да Невозможно Да Проигнорировано SQL Server 2016 (13.x) и более ранних версиях используют алгоритм SHA1. SQL Server 2017 (14.x) и более поздних версиях используют SHA256. Дополнительные сведения см. в разделе "Изменения в алгоритме хэширования" для самозаверяющего сертификата в SQL Server 2017. Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Самозаверяющий сертификат, созданный с помощью New-SelfSignedCertificate или makecert — вариант 1 нет нет Да Да Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Самозаверяющий сертификат, созданный с помощью New-SelfSignedCertificate или makecert — вариант 2 нет Да Необязательно Да Мы не рекомендуем использовать этот подход для использования в рабочей среде.
Сервер сертификатов компании или из УЦ, который не находится в списке участников — Программа доверенных корневых сертификатов Майкрософт — вариант 1 нет нет Да Да
Сервер сертификатов компании или ЦС, который не находится в списке участников программы доверенных корневых сертификатов Microsoft — вариант 2 нет Да Необязательно Да
Доверенные корневые центры нет нет Необязательно Да Мы рекомендуем использовать такой подход.

Как определить, работает ли шифрование?

Вы можете отслеживать связь с помощью такого средства, как Microsoft Network Monitor или сетевой sniffer, и проверить сведения о пакетах, захваченных в средстве, чтобы убедиться, что трафик зашифрован.

Кроме того, можно проверить состояние шифрования подключений SQL Server с помощью команд Transact-SQL (T-SQL). Для этого выполните следующие действия.

  1. Откройте новое окно запроса в SQL Server Management Studio (SSMS) и подключитесь к экземпляру SQL Server.
  2. Выполните следующую команду T-SQL, чтобы проверить значение столбца encrypt_option . Для зашифрованных подключений значение будет TRUE.
SELECT *
FROM sys.dm_exec_connections;