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


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

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

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

Тип сертификата Принудительное шифрование в свойствах сервера Импорт сертификата сервера на каждом клиенте Параметр сертификата сервера доверия Свойство Encrypt в строке подключения Комментарии
Самозаверяющий сертификат — автоматически создается 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 Да Нет Да Не учитывается
Сервер сертификатов компании или из центра сертификации (ЦС), который отсутствует в списке участников — доверенные корневые программы Майкрософт — вариант 2 Да да Необязательно Не учитывается
Доверенные корневые центры Да Нет Необязательно Не учитывается Мы рекомендуем использовать такой подход.

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

Тип сертификата Принудительное шифрование в свойствах сервера Импорт сертификата сервера на каждом клиенте Указание параметра сертификата сервера доверия на клиенте Вручную укажите для свойства шифрования значение Да/True на стороне клиента. Комментарии
Самозаверяющий сертификат — автоматически создается 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 Нет Нет Да Да
Сервер сертификатов компании или ЦС, который отсутствует в списке участников — доверенные корневые программы Майкрософт — вариант 2 Нет да Необязательно Да
Доверенные корневые центры Нет Нет Необязательно Да Мы рекомендуем использовать такой подход.

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

Вы можете отслеживать обмен данными с помощью такого средства, как Сетевой монитор Майкрософт или сетевой 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

См. также раздел

Дальнейшие действия