Обучение
Сертификация
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
Этот браузер больше не поддерживается.
Выполните обновление до Microsoft Edge, чтобы воспользоваться новейшими функциями, обновлениями для системы безопасности и технической поддержкой.
Область применения: SQL Server 2022 (16.x)
База данных SQL Azure Управляемый экземпляр SQL Azure
SQL Server 2022 (16.x), База данных SQL Azure и Управляемый экземпляр SQL Azure поддерживают табличный поток данных (TDS) 8.0.
Протокол табличного потока данных (TDS) — это протокол уровня приложений, используемый клиентами для подключения к SQL Server. SQL Server использует TLS для шифрования данных, передаваемых через сеть между экземпляром SQL Server и клиентским приложением.
TDS — это безопасный протокол, но в предыдущих версиях SQL Server шифрование можно отключить или не включать. Для соответствия стандартам обязательного шифрования при использовании SQL Server было введено итерация протокола TDS: TDS 8.0.
Подтверждение TLS теперь предшествует любым сообщениям TDS, перенося сеанс TDS в TLS для принудительного шифрования, что обеспечивает согласованность TDS 8.0 с HTTPS и другими веб-протоколами. Это значительно способствует управлению трафиком TDS, так как стандартные сетевые устройства теперь могут фильтровать и безопасно передавать запросы SQL.
Еще одним преимуществом TDS 8.0 по сравнению с предыдущими версиями TDS является совместимость с TLS 1.3 и стандартами TLS. TDS 8.0 также полностью совместим с TLS 1.2 и предыдущими версиями TLS.
Протокол потока табличных данных (TDS) — это протокол уровня приложения, используемый для передачи запросов и ответов между клиентами и системами сервера базы данных. В таких системах клиент обычно устанавливает длительное подключение к серверу. После установки соединения с помощью протокола транспортного уровня сообщения TDS используются для обмена данными между клиентом и сервером.
Во время существования сеанса TDS существует три этапа:
Шифрование согласовывается на начальном этапе, однако согласование TDS происходит через незашифрованное подключение. Подключение SQL Server выглядит следующим образом для предыдущих версий к TDS 8.0:
➡️ Обмен данными TDS (cleartext) и ответ (cleartext) ➡️ ➡️ проверки подлинности (зашифрованных) ➡️ данных tls (может быть зашифрован или незашифрован)
С появлением TDS 8.0 соединения SQL Server будут следующими:
➡️ Подтверждение TCP-подтверждения TLS ➡️ предварительного журнала TDS (зашифровано) и ответ ➡️ (зашифрованная) проверка подлинности (зашифрованная) обмен данными (зашифрованная) (зашифрованная) обмен данными (зашифрованная) ➡️
Чтобы использовать TDS 8.0, SQL Server 2022 (16.x) добавлен strict
в качестве дополнительного типа шифрования подключений к драйверам SQL Server (Encrypt=strict
). Чтобы использовать strict
тип шифрования подключения, скачайте последнюю версию драйверов .NET, ODBC, OLE DB, JDBC, PHP и Python.
Чтобы предотвратить атаку "человек в середине" с strict
шифрованием подключения, пользователи не могут задать TrustServerCertificate
параметр true
и доверять любому сертификату, предоставленному сервером. Вместо этого пользователи будут использовать HostNameInCertificate
параметр, чтобы указать сертификат ServerName
, который должен быть доверенным. Сертификат, предоставленный сервером, должен пройти проверку сертификата.
Параметр Force Strict Encryption
, добавленный с TDS 8.0 в конфигурации сети SQL Server, заставляет всех клиентов использовать strict
в качестве типа шифрования. Не удается подключиться к SQL Server любым клиентам или функциям без шифрования подключений strict
.
Следующие функции или средства по-прежнему используют предыдущие версии драйверов, которые не поддерживают TDS 8.0, и, как это, может не работать с шифрованием strict
подключения:
В строки подключения для шифрования добавляются следующие дополнения:
Ключевое слово | По умолчанию. | Description |
---|---|---|
Encrypt |
false | Существующее поведение Когда задано значение true , SQL Server использует шифрование TLS для всех данных, передаваемых между клиентом и сервером, если на сервере установлен сертификат Допустимые значения: true , false , yes и no . Дополнительные сведения см. в статье Синтаксис строки подключения.Изменение поведения Если задано значение strict , SQL Server использует TDS 8.0 для всех данных, которыми обменивается клиент и сервер.Когда задано значение mandatory , true или yes , SQL Server использует TDS 7.x с шифрованием TLS/SSL для всех данных, передаваемых между клиентом и сервером, если на сервере установлен сертификат.Если задано значение optional , false или no , подключение использует TDS 7.x и будет шифроваться только в том случае, если это требуется сервером SQL Server. |
TrustServerCertificate |
false | Существующее поведение Установите значение true , чтобы драйвер не проверял TLS/SSL-сертификат сервера. Если значение равно true , TLS/SSL-сертификат сервера автоматически считается доверенным, когда для шифрования уровня связи используется TLS.Если значение — false , то драйвер выполнит проверку TLS-сертификата сервера. Если проверка сертификата сервера завершается ошибкой, в работе драйвера будет вызвана ошибка и подключение будет закрыто. Значение по умолчанию — false . Для успешного установления TLS/SSL-подключения передаваемое в serverName значение должно в точности совпадать с Common Name (CN) или DNS-именем в Subject Alternate Name сертификата сервера.Изменение поведения microsoft ODBC Driver 18 для SQL Server Если Encrypt задано значение strict , этот параметр указывает расположение сертификата, используемого для проверки сертификата сервера (точное соответствие). Драйвер поддерживает расширения ФАЙЛОВ PEM, DER и CER.Если Encrypt задано TrustServerCertificate true false значение или значение свойства не указано или задано значение , true или null false драйвер использует ServerName значение свойства в URL-адресе подключения в качестве имени узла для проверки TLS/SSL-сертификата SQL Server. |
HostNameInCertificate |
NULL | Имя узла используется для проверки TLS/SSL-сертификата SQL Server. HostNameInCertificate Если свойство не указано или задано, null драйвер использует ServerName значение свойства в качестве имени узла для проверки TLS/SSL-сертификата SQL Server. |
Обучение
Сертификация
Администрирование инфраструктуры базы данных SQL Server для облачных, локальных и гибридных реляционных баз данных с помощью предложений реляционной базы данных Microsoft PaaS.
Документация
Подключение для SQL Server со строгим шифрованием - SQL Server
В этой статье описывается, как подключиться к SQL Server с помощью строгого типа шифрования
Поддержка TLS 1.3 - SQL Server
В этой статье рассматривается поддержка TLS 1.3 с SQL Server 2022 и База данных SQL Azure.
Настройка TLS 1.3 в SQL Server 2022 и более поздних версиях - SQL Server
Объясняет и демонстрирует настройку и проверку TLS 1.3 для экземпляра SQL Server.
Протоколы для свойств MSSQLSERVER (вкладка "Флаги") - SQL Server
Узнайте, как использовать вкладку "Флаги" в диалоговом окне "Протоколы для свойств MSSQLSERVER", чтобы просмотреть или указать шифрование протокола и скрыть параметры экземпляра.