Введение
В этой статье содержится информация об обновлениях, выпускающихся корпорацией Майкрософт для поддержки TLS 1.2 в SQL Server 2017 для Windows, SQL Server 2016, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 и SQL Server 2014. В этой статье также перечислены поддерживаемые поставщики клиентских услуг. SQL Server 2016, SQL Server 2017 и SQL Server 2019 поддерживают TLS 1.2 без обновления.
Сообщалось о нескольких известных уязвимостях в SSL и более ранних версиях TLS. Для безопасной связи рекомендуем перейти на TLS 1.2.
Важно не сообщалось об уязвимостях в реализации Microsoft TDS. Это протокол связи, используемый между клиентами-клиентами SQL Server и SQL Server ЯД. Реализация TLS 1.0 (с учетом известных уязвимостей, которые были сообщались корпорации Майкрософт на дату публикации этой статьи) кратко о реализации TLS 1.0в обновлении системы безопасности Windows (24 ноября 2015 г.) в этой статье.
Как узнать, требуется ли это обновление
В таблице ниже можно определить, поддерживает ли текущая версия SQL Server TLS 1.2 и нужно ли скачивать обновление, чтобы включить поддержку TLS 1.2. Ссылки для скачивания в таблице используются для получения обновлений серверов, которые применимы к вашей среде.
Примечание.Сборки, которые перечислены позже тех, которые перечислены в этой таблице, также поддерживают TLS 1.2.
SQL Server выпуска |
Начальная сборка и выпуск, поддерживаемые TLS 1.2 |
Текущие обновления с поддержкой TLS 1.2 |
Дополнительные сведения |
---|---|---|---|
SQL Server 2014 SP1 CU |
12.0.4439.1 SP1 CU5 |
Примечание. Теперь KB3130926 установит последний выходной cu для 2014 SP1 (CU13 - KB4019099), который включает поддержку TLS 1.2, а также все hotfixes, выпущенные на данный момент. При необходимости она доступна в каталоге Обновлений Windows. Примечание. Поддержка TLS 1.2 также доступна в 2014 с sp2 и 2014 с SP3. |
KB3052404 — ИСПРАВЛЕНИЕ. Для подключения к серверу с SQL Server 2014 или SQL Server 2012 нельзя использовать протокол протокола transport Layer Security версии 1.2 |
SQL Server 2014 SP1 GDR |
12.0.4219.0 Обновление TLS 1.2 GDR для SP1 |
Поддержка TLS 1.2 для GDR 2014 с sp1 доступна в последнем накопительном обновлении GDR — KB4019091. Примечание. Поддержка TLS 1.2 также доступна в 2014 с sp2 и 2014 с SP3. |
|
SQL Server 2014 RTM CU |
12.0.2564.0 RTM CU12 |
Примечание. KB3130923 установит последний выход RTM-сигнала за 2014 г. (CU14 — KB3158271), который включает поддержку TLS 1.2, а также все hotfixs, выпущенные на данный момент. При необходимости 12-ая версия доступна в каталоге Обновлений Windows. Примечание. Поддержка TLS 1.2 также доступна в 2014 с sp2 и 2014 с SP3. |
KB3052404 — ИСПРАВЛЕНИЕ. Для подключения к серверу с SQL Server 2014 или SQL Server 2012 нельзя использовать протокол протокола transport Layer Security версии 1.2 |
SQL Server 2014 RTM GDR |
12.0.2271.0 Обновление TLS 1.2 GDR в RTM |
Поддержка TLS для SQL RTM 2014 в настоящее время доступна только при установке 2014 с SP2 и 2014 с SP3. |
|
SQL Server 2012 SP3 GDR |
11.0.6216.27 Обновление TLS 1.2 GDR для SP3 |
Поддержка TLS 1.2 для GDR 2012 с sp3 доступна в последнем накопительном обновлении GDR — KB4057115. Примечание. Поддержка TLS 1.2 также доступна в 2012 с sp4. |
|
SQL Server 2012 SP3 CU |
11.0.6518.0 SP1 CU3 |
Примечание. KB3123299 установит последний выход выходного для выпуска 2012 с sp3 (СС10 — KB4025925),который включает поддержку TLS 1.2, а также все hotfixes, выпущенные на данный момент). При необходимости 1-ЙСС доступен в каталоге Обновлений Windows. Примечание. Поддержка TLS 1.2 также доступна в 2012 с sp4. |
KB3052404 — ИСПРАВЛЕНИЕ. Для подключения к серверу с SQL Server 2014 или SQL Server 2012 нельзя использовать протокол протокола transport Layer Security версии 1.2 |
SQL Server 2012 SP2 GDR |
11.0.5352.0 Обновление TLS 1.2 GDR в GDR |
Поддержка TLS 1.2 для GDR 2012 с sp2 доступна в последнем накопительном обновлении GDR — KB3194719. Поддержка TLS 1.2 также доступна в 2012 с sp3 и 2012 с SP4. |
|
SQL Server 2012 SP2 CU |
11.0.5644.2 SP2 CU10 |
KB3120313 — накопительное обновление 10 для SQL Server 2012 с sp2. Примечание. KB3120313 установит последний выход 2012 с sp2 (CU16 — KB3205054),который включает поддержку TLS 1.2, а также все hotfixes, выпущенные на данный момент). При необходимости 1-ЙСС доступен в каталоге Обновлений Windows. Примечание. Поддержка TLS 1.2 также доступна в 2012 с sp3 и 2012 с SP4. |
KB3052404 — ИСПРАВЛЕНИЕ. Для подключения к серверу с SQL Server 2014 или SQL Server 2012 нельзя использовать протокол протокола transport Layer Security версии 1.2 |
SQL Server 2008 R2 с sp3 (только x86/x64) |
10.50.6542.0 Обновление TLS 1.2 с sp3 |
Поддержка TLS 1.2 доступна в последнем накопительном обновлении для SQL Server 2008 R2 с SP3 по KB4057113. |
|
SQL Server GDR для SQL Server 2008 R2 с GDR (только IA-64) |
10.50.4047.0 Обновление TLS 1.2 с обновлением TLS2 с обновлением 2 (SP2) |
||
SQL Server 2008 R2 SP2 (только IA-64) |
10.50.4344.0 Обновление TLS 1.2 с обновлением TLS2 с обновлением 2 (SP2) |
||
SQL Server 2008 SP4 (только x86/x64) |
10.0.6547.0 Обновление TLS 1.2 для SP4 |
Поддержка TLS 1.2 доступна в последнем накопительном обновлении для SQL Server 2008 с sp4 — KB4057114. (только x86/x64) |
|
SQL Server GDR 2008 с sp3 (только IA-64) |
10.0.5545.0 Обновление TLS 1.2 с sp3 |
||
SQL Server 2008 SP3 (только IA-64) |
10.0.5896.0 Обновление TLS 1.2 с sp3 |
Загрузка компонентов клиента
В таблице ниже скачать компоненты клиента и обновления драйверов, которые применимы к вашей среде.
Компонент клиента /драйвер |
Обновления с поддержкой TLS 1.2 |
SQL Server Native Client 10.0 для SQL Server 2008/2008 R2 (x86/x64/IA64) |
|
SQL Server Native Client 11.0 для SQL Server 2012/2014 (x86/x64) |
Дополнительные исправления, необходимые для SQL Server TLS 1.2
Чтобы включить такие функции SQL Server, как Почта базы данных и некоторые компоненты служб SSIS, которые используют конечные точки .NET, для использования TLS 1.2 требуется поддержка TLS 1.2, например для задачи веб-службы, необходимо установить следующую установку.
Операционная система |
Версия .NET Framework |
Обновления с поддержкой TLS 1.2 |
---|---|---|
Windows 7 Пакет обновления 1, Windows 2008 R2 Пакет обновления 1 |
3.5 .1 |
Поддержка TLS версии 1.2, включенной в .NET Framework версии 3.5.1 |
Windows 8 RTM, Windows 2012 RTM |
3.5 |
Поддержка TLS версии 1.2, включенной в .NET Framework версии 3.5 |
Windows 8.1, Windows 2012 R2 SP1 |
3.5 с sp1 |
Типичные вопросы
Поддерживается ли TLS 1.1 в SQL Server 2016 и более поздних версиях?
Да. SQL Server 2016, SQL Server 2017 для Windows и SQL Server 2019 для Windows, которые поддерживают TLS 1.0 и TLS 1.2. Если вы хотите использовать только TLS 1.2 для связи между серверами, необходимо отключить TLS 1.0 и 1.1.
Разрешены SQL Server 2019 г. с помощью TLS 1.0 или 1.1 или только 1.2?
SQL Server 2019 имеет тот же уровень поддержки, что и SQL Server 2016 и SQL Server 2017, а SQL Server 2019 поддерживает более старые версии TLS. SQL Server RTM RTM 2019 поставляется с поддержкой TLS 1.2, и для поддержки TLS 1.2 не требуется никаких дополнительных обновлений и исправлений.
Влияет ли TDS на известные уязвимости?
Известные уязвимости для реализации Microsoft TDS не сообщались. Так как некоторые организации, которые поддерживают стандарты, используют TLS 1.2 для зашифрованных каналов связи, корпорация Майкрософт выпускает поддержку TLS 1.2 для широко используемой базы SQL Server.
Как будут распространяться обновления TLS 1.2 среди клиентов?
В этой статье скачать ссылки на соответствующие обновления сервера и клиента, которые поддерживают TLS 1.2.
Будет SQL Server 2005 для TLS 1.2?
TLS 1.2 поддерживается только для SQL Server 2008 и более поздних версий.
Могут ли клиенты, которые не используют SSL/TLS, отключать SSL 3.0 и TLS 1.0 на сервере?
Да. SQL Server шифрует имя пользователя и пароль во время входа, даже если не используется безопасный канал связи. Это обновление требуется для всех SQL Server, которые не используют безопасную связь и остальные протоколы, кроме TLS 1.2, отключены на сервере.
Какие версии Windows Server поддерживают TLS 1.2?
Windows Server 2008 R2 и более поздние версии поддерживают TLS 1.2.
Как правильно в реестре включить TLS 1.2 для SQL Server общения? Правильные параметры реестра:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2]
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Server] "DisabledByDefault"=dword:00000000 "Enabled"=dword:00000001
Эти параметры необходимы для серверных и клиентских компьютеров. Параметры DisabledByDefault и Enabled необходимо создавать на клиентах Windows 7 и Windows Server 2008 R2 серверах. В Windows 8 и более поздних версиях клиентских операционных систем, а также на сервере Windows Server 2012 и более поздних версиях серверных операционных систем уже должен быть включен TLS 1.2. Если вы реализуете политику развертывания для реестра Windows, которая должна быть независимо от выпуска ОС, рекомендуем добавить в нее указанные ключи реестра.
Известные проблемы
Проблема 1
После применения исправления для SQL Server 2008, 2008 R2, 2012 и 2014 системы ISQL Server Management Studio (SSMS), Report Server и Report Manager не подключаются к яду баз данных. Сбой сервера отчетов и диспетчера отчетов с возвратом следующего сообщения об ошибке:
Сервер отчета не может открыть подключение к базе данных сервера отчетов. Подключение к базе данных требуется для всех запросов и обработки. (rsReportServerDatabaseUnavailable)
Эта проблема возникает из-за того, что SSMS, Диспетчер отчетов и Диспетчер конфигураций служб Reporting Services используют ADO.NET, а поддержка ADO.NET TLS 1.2 доступна только в .NET Framework 4.6. В более ранних версиях .NET Framework необходимо применить обновление Windows, чтобы ADO.NET поддерживать связь TLS 1.2 для клиента. Обновления Windows, которые поддерживают TLS 1.2 в более ранних версиях .NET Framework, перечислены в таблице в разделе "Как узнать, требуется ли это обновление".
Проблема 2
Диспетчер конфигурации Reporting Services сообщает следующее сообщение об ошибке даже после обновления поставщиков клиентских служб до версии, которая поддерживает протокол TLS 1.2:
Не удалось подключиться к серверу: к серверу было успешно установлено подключение, но во время телефонного подключения перед входом произошла ошибка.
Чтобы устранить эту проблему, вручную создайте следующий реестр в системе, в котором размещен диспетчер конфигураций Reporting Services: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.2\Client: "Enabled"=dword:00000001
Проблема 3
Зашифрованная конечная точка, использующая TLS 1.2, не работает при использовании зашифрованных сообщений для групп доступности или зеркального зеркала базы данных или посредника службы SQL Server. В журнале SQL ошибок регистрируется следующее сообщение об ошибке:
Не удалось зашифть связь. Сбой вызова ОС: (80090331) 0x80090331(Клиент и сервер не могут общаться, так как не обладают общим алгоритмом.) Штат 56.
Дополнительные сведения об этой проблеме см. в исправлении. Зашифрованное взаимодействие конечной точки с помощью TLS 1.2не удается при использовании SQL Server.
Проблема 4
Различные ошибки возникают при попытке установить SQL Server 2012 или SQL Server 2014 на сервер с включенной поддержкой TLS 1.2.
Дополнительные сведения см. в исправлении: ошибка при установке SQL Server 2012 или SQL Server 2014на сервер с включенной поддержкой TLS 1.2.
Проблема 5
Зашифрованное подключение с зеркальным отражением базы данных или группами доступности не работает при использовании сертификата после отключения всех других протоколов, кроме TLS 1.2. В журнале SQL Server ошибок регистрируется следующее сообщение об ошибке:
Зашифрованное подключение с зеркальным отражением базы данных или группами доступности не работает при использовании сертификата после отключения всех других протоколов, кроме TLS 1.2. Вы можете заметить один из следующих признаков:
Симптом 1.
В журнале SQL Server ошибок регистрируется следующее сообщение об ошибке:
Не удалось зашифть связь. Сбой вызова ОС: (80090331) 0x80090331(Клиент и сервер не могут общаться, так как не обладают общим алгоритмом.) Штат 58.'
Симптом 2.
Сообщение об ошибке, похожее на следующее, регистрируется в журнале событий Windows:
Имя журнала: система
Источник: Schannel
Дата: <даты и>
ИД события: 36888
Категория задач: нет
Уровень: ошибка
Ключевые слова:
Пользователь: СИСТЕМА
Компьютер: ------------
Описание:
На удаленную конечную точку было сгенерировано предупреждаовое оповещение, а затем отправлено его. В результате подключение может быть прекращено. Код ошибки, определяемой протоколом TLS, составляет 40. Состояние ошибки windows SChannel — 1205.
Имя журнала: Система
Источник: Schannel
Дата: <даты и>
ИД события: 36874
Категория задач: нет
Уровень: ошибка
Ключевые слова:
Пользователь: СИСТЕМА
Компьютер: -----------
Описание:
Запрос на подключение TLS 1.2 получен из удаленного клиентского приложения, но сервер не поддерживает ни один из наборов шифров, поддерживаемых клиентом. Сбой запроса на подключение SSL.
Эта проблема возникает, так как для групп доступности и зеркального зеркала баз данных требуется сертификат, не требующий использования алгоритмов фиксированной длины, таких как MD5. Алгоритмы хеширования фиксированной длины не поддерживаются в TLS 1.2.
Дополнительные сведения см. в исправлении. Связь, использующая хеш-алгоритм MD5, SQL Server TLS 1.2.
Проблема 6
На следующие SQL Server ЯД баз данных влияет периодический сбоь, о которой говорится в статье 3146034 базы знаний. Клиентам рекомендуется устанавливать обновления TLS 1.2 для Microsoft SQL Server, которые указаны в этой статье, если их SQL Server указаны в таблице ниже.
SQL Server выпуска |
Затронутые версии |
SQL Server 2008 R2 с sp3 (x86 и x64) |
10.50.6537.0 |
SQL Server GDR для SQL Server 2008 R2 с GDR (только IA-64) |
10.50.4046.0 |
SQL Server 2008 R2 с sp2 (только IA-64) |
10.50.4343.0 |
SQL Server 2008 с sp4 (x86 и x64) |
10.0.6543.0 |
SQL Server GDR 2008 с sp3 (только IA-64) |
10.0.5544.0 |
SQL Server 2008 с sp3 (только IA-64) |
10.0.5894.0 |
Проблема 7
Почта базы данных не работает с TLS 1.2. Ошибка "Почта базы данных" со следующими ошибками:
Microsoft.SqlServer.Management.SqlIMail.Server.Common.BaseException:
Сведения о конфигурации почты не удалось прочитать из базы данных. Не удается начать сеанс почты.
Дополнительные сведения можно найти в разделе "Дополнительные исправления, необходимые для SQL Server TLS 1.2 в этой статье.
Распространенные ошибки, которые могут возникнуть, если на клиенте или сервере отсутствуют обновления TLS 1.2
Проблема 1
System Center Configuration Manager (SCCM) не может подключиться SQL Server после включения протокола TLS 1.2 SQL Server. В этом случае вы получаете следующее сообщение об ошибке:
Поставщик TCP: существующее подключение было закрыто удаленным хостом
Эта проблема может возникать, если SCCM использует SQL Server драйвера native Client, который не имеет исправления. Чтобы устранить эту проблему, скачайте и установите исправление native client, которое указано в разделе "Загрузки компонентов клиента" этой статьи. Например: Microsoft® SQL Server® 2012 Native Client — QFE.
Чтобы узнать, какой драйвер используется SCCM для подключения к SQL Server, просмотрев журнал SCCM, как по следующему примеру:
[SQL Server Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>Native Client 11.0]TCP Provider: An existing connection was forcibly closed by the remote host.~~ $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** [08001][10054][Microsoft][SQL Server Native Client 11.0]Client unable to establish connection $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
*** Failed to connect to the SQL Server, connection type: SMS ACCESS. $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>
INFO: SQL Connection failed. Connection: SMS ACCESS, Type: Secure $$<Configuration Manager Setup><08-22-2016 04:15:01.917+420><thread=2868 (0xB34)>