Эта статья о том, что нового появилось в SQL Server Management Studio 20 (SSMS), и является второй из серии статей на эту тему. Первую статью можно почитать тут: Upcoming changes for SQL Server Management Studio (SSMS) — Part 1.Заключительной статьёй в серии является: Upcoming changes for SQL Server Management Studio (SSMS) — Part 3. SSMS 20 может удивить Вас сразу после установки, когда вдруг обнаружится что по умолчанию предполагается шифрованное соединение SSMS с сервером баз данных. На то, чтобы помочь пользователям SSMS справится с этой проблемой и добиться лучшей защиты соединения с помощью новых механизмов шифрования SQL Server 2022, как раз и направлена эта статья.
Что такое TDS, TLS и шифрование
Протокол Tabular Data Stream (TDS) — это протокол уровня приложения, используемый клиентами для подключения к SQL Server.
SQL Server использует Transport Layer Security (TLS) для шифрования данных, которые передаются по сети между экземпляром SQL Server и клиентским приложением. TLS имеет разные версии, каждая из которых имеет разные уровни безопасности и производительности. Последней версией является TLS 1.3, она была опубликована в 2018 году.
Шифрование — это процесс кодирования данных для защиты их от несанкционированного доступа. Шифрование может применяться к статичным данным (хранящимся на диске) или при передаче (передаваемых по сети).
TDS 8.0 появился для поддержки обязательного шифрования при подключениях SQL Server, а подтверждение TLS предшествует любому сообщению TDS. TDS 8.0 совместим с TLS 1.3, а также с TLS 1.2 и более ранними версиями.
Как обеспечивается шифрование в SSMS 20
SSMS 20 — это первая версия SSMS, поддерживающая строгое шифрование и TLS 1.3. Включить его можно благодаря переходу на библиотеку доступа к данным Microsoft.Data.SqlClient (MDS) 5.1.4. MDS, которая использовалась SSMS 19 и более поздними версиями, а также другими инструментами SQL Server.
Строгое шифрование — это новый вариант обеспечения шифрования, представленный в MDS 5. Чтобы использовать TLS 1.3, клиент и сервер должны его поддерживать и иметь установленный доверенный сертификат. Строгое шифрование сейчас является наиболее безопасным вариантом шифрования.
Включение шифрования для подключения к SQL Server
Для поддержки шифрования нужно включить на сервере обязательное шифрование или строгое шифрование. Как это делается будет описано чуть ниже. Использование самого высокого уровня шифрования, поддерживаемого как клиентом, так и сервером, обеспечивает высочайший уровень безопасности. Для SQL Server 2022 вы можете использовать строгое шифрование, а для SQL Server 2019 и более ранних версий самым высоким уровнем шифрования является обязательное шифрование.
Подключение из SSMS 20
Вы можете изучить специально созданную страницу руководства: Connect with SQL Server Management Studio, которая призвана помочь сориентироваться в настройках нового диалогового окна подключения SSMS 20. Эти изменения затронут всех, кто будет подключаться к SQL Server. Настоятельно рекомендуем разобраться в том, что изменилось и как это повлияет на процесс подключения, прежде чем Вы установите себе SSMS 20.
Если вы будете импортировать данные о подключениях из предыдущей версии SSMS, настоятельно рекомендуем предварительно запомнить установленные там параметры. Для новых подключений необходимо обратить внимание на те свойства, которые были перемещены на первую закладку диалогового окна подключения, и выяснить, как они соотносятся с настройками подключаемого SQL Server.
Обратите внимание: по умолчанию шифрование теперь является обязательным. При использовании значения по умолчанию «Обязательное» (Mandatory), любое подключение к экземпляру SQL Server, у которого не установлен доверенный сертификат, выдаст ошибку «The certificate received from the remote server was issued by an untrusted certificate authority»:
Дополнительную информацию можно найти в статье Ошибка «Сертификат, полученный от удаленного сервера, выдан недоверенным центром сертификации» при подключении к SQL Server.
Если же нужно использовать сертификаты для шифрования подключения, решение можно найти в этой же статье.
Функции, которые не поддерживают строгое шифрование
Некоторые функции SQL Server не поддерживают строгое шифрование. Текущий список можно найти в TDS 8.0-SQL Server. Неподдерживаемые сценарии, специфичные для SSMS, и известные проблемы описаны в статье: Заметки о выпуске SQL Server Management Studio (SSMS).
На момент публикации список функций, не поддерживающих принудительное строгое шифрование, такой:
-
Группы доступности AlwaysOn
-
Экземпляр отказоустойчивого кластера AlwaysOn (FCI)
-
Репликация SQL Server
-
Доставка журналов
-
Служебная программа sqlcmd
-
bcp, программа
-
Служба CEIP SQL Server (шпион вендора)
-
Агент SQL Server
-
Database Mail
-
Связанные серверы
-
Соединитель Polybase для SQL Server
ссылка на оригинал статьи https://habr.com/ru/articles/804553/
Добавить комментарий