Совместимость SQL Server с новыми стандартами TLS

30
  • Основные браузеры выходят за рамки SSL3.0 и TLS1.0.
  • Совет безопасности PCI объявил дату окончания срока службы этих протоколов достаточно надежным шифрованием.

Нам нужно отойти от этих протоколов, использовать новые и более сильные. На серверах Windows вы можете очень легко отключить эти старые протоколы и вместо этого предлагать только TLS1.1 или выше. Однако, как отмечалось в другом месте , Microsoft SQL Server 2008 R2 и SQL Server 2012 (как минимум, Standard) не будут запускаться, если эти более низкие протоколы отключены. Тем не менее, существует все больше версий MS SQL Server. Существуют версии SQL Server Standard, Business Intelligence, Enterprise, Express, Web и Compact. И конечно, есть SQL Server 2008, 2012, 2014 и (в предварительной версии) 2016.

Какие из этих выпусков поддерживают или будут поддерживать использование только протоколов TLS1.1 или выше?

Марк Голдфейн
источник
В качестве примечания: требования PCI в данном случае охватывают общую передачу данных, поэтому должно быть достаточно обернуть любые сообщения SQL через общедоступные и / или беспроводные сети в VPN / туннель, который реализует лучшие стандарты. Они также могут вообще не покрывать местную связь; поэтому, если ничто вне вашей VLAN не может даже коснуться экземпляра SQL из-за соответствующей конфигурации SQL и / или брандмауэров и другой фильтрации, вам может не понадобиться беспокоиться об этом PoV. Ни один из этих фактов не поможет вам, если вам, конечно, нужно представить экземпляр SQL в общедоступной сети, но эта идея все равно пугает меня!
Дэвид Спиллетт

Ответы:

19

Microsoft недавно показала (без особой помпы), что они будут инвестировать в TLS 1.2 и постепенно сворачивать SSL. Это должно быть актуально для всех выпусков SQL Server.

ОБНОВЛЕНИЕ 2016-01-29 : Microsoft объявила об официальной поддержке TLS 1.2 в 2008, 2008 R2, 2012 и 2014 . Загрузки и другая информация может быть найдена в KB # 3135244 .

Я написал в блоге о некоторых из упомянутых проблем, а также о предупреждении, если вы используете зашифрованные конечные точки в 2014 году:

Пост также указывает на правильную сборку для загрузки (или другое действие) в зависимости от версии @@.

Будет ли этот шаг повлиять на все существующие версии, только 2014 и выше, или только 2016, еще неизвестно. Приведенная ниже цитата подразумевает, что, по крайней мере, 2014 год станет частью работы - и я подозреваю, что большая часть инвестиций будет направлена ​​на клиентские библиотеки, а не на движок, поэтому вполне возможно, что он будет работать для любой версии, следующей в следующем выпуске. драйверов ODBC / Native Client будут поддерживать.

Я получил это из колоды PowerPoint от Кевина Фарли из Microsoft, и мне было дано разрешение делиться информацией, хотя я не знаю, какая ее часть была перераспределена на данный момент. Вот точная цитата из колоды:

Шифрование в полете: защищает данные между клиентом и сервером от отслеживания и атак типа «человек посередине». Обновление до TLS 1.2 в CY 15, отказ от SSL.

Также, если вы посмотрите на KB # 3052404 , кажется, что есть исправления, чтобы заставить его работать с 2012 SP + и 2014 (исправления не потребуются в 2016 году), но нет никаких признаков того, что будет какой-либо обратный перенос на SQL Server 2005, 2008 или 2008 R2 (и, честно говоря, я был бы весьма удивлен).

Аарон Бертран
источник
6

Как и в других ответах: вам нужен последний CU для TLS1.2. Видеть:

ИСПРАВЛЕНИЕ: Нельзя использовать протокол безопасности транспортного уровня версии 1.2 для подключения к серверу, на котором выполняется SQL Server 2014 или SQL Server 2012 :

  • Накопительное обновление 1 для SQL Server 2014 с пакетом обновления 1
  • Накопительное обновление 8 для SQL Server 2014
  • Накопительное обновление 1 для SQL Server 2012 SP3
  • Накопительное обновление 10 для SQL Server 2012 с пакетом обновления 2

После включения только TLS 1.2 вы можете столкнуться с двумя ошибками:

  1. Агент SQL Server 2014 не запускается. Решение: установите SQL Server 2012 SNAC по ссылке для скачивания в KB3135244
  2. SQL Server Management Studio не может подключиться. Решение: установите соответствующее исправление .NET Framework из KB3135244

Кроме того, вы должны обновить драйвер SNAC / OBDC на всех клиентах, подключающихся к SQL Server.

Полный список сборок SQL Server и Client Driver, а также ссылки на скачивание и другие изменения конфигурации, которые могут потребоваться, содержатся в следующей статье базы знаний службы поддержки Microsoft:

Поддержка TLS 1.2 для Microsoft SQL Server

Йенс В.
источник
Почему я до сих пор не могу запустить SQL Server 2012 даже с установленным накопительным обновлением 1 для SQL Server 2012 SP3?
NickG
4

По состоянию на 29 января 2016 года Microsoft SQL Server поддерживает TLS 1.2 для:

  • SQL Server 2008
  • SQL Server 2008 R2
  • SQL Server 2012; а также
  • SQL Server 2014

... и основные драйверы клиента, такие как:

  • Собственный клиент сервера
  • Драйвер Microsoft ODBC для SQL Server
  • Драйвер Microsoft JDBC для SQL Server
  • ADO.NET (SqlClient).

Сообщение в блоге группы разработчиков SQL Server о выпуске:

Поддержка TLS 1.2 для SQL Server 2008, 2008 R2, 2012 и 2014

Список сборок, поддерживающих TLS 1.2, а также местоположения загрузки компонентов клиента и сервера (KB3135244):

Поддержка TLS 1.2 для Microsoft SQL Server (включает исправления .NET для БД Mail)

Примечание . Вышеприведенное обновление было обновлено с момента первоначального выпуска, чтобы устранить дефект в исходном обновлении, вызвавший прерывистое прерывание обслуживания при подключении к экземпляру SQL Server 2008 или SQL Server 2008 R2 . Это описано в KB 3146034:

Периодическое прекращение обслуживания происходит после установки любых версий SQL Server 2008 или SQL Server 2008 R2 из KB3135244

Амит Банерджи
источник
2

Я могу подтвердить, что как SQL 2012 с пакетом обновления 2 (SP2) CU7, который поддерживает TLS 1.2 для SQL 2012 из CU6, вы не можете отключить TLS 1.0 на уровне сервера и иметь возможность подключаться к серверу SQL, используя незашифрованное соединение студии управления в экземпляре. который не требует шифрования клиента.

Это на экземпляре, который не использует TDE или другие сертификаты.

Я попробую завтра после создания доверенного сертификата для сервера и включения зашифрованных соединений, но в настоящее время TLS 1.0 нельзя отключить в SQL 2012, даже если он поддерживает TLS 1.2.

Редактировать:

Я сгенерировал сертификат для сервера базы данных из нашего внутреннего центра сертификации и смог установить зашифрованное соединение студии управления с сервером SQL, пока не был отключен протокол TLS 1.0, и в этот момент я больше не мог подключаться. То же поведение, что и при отсутствии сертификата и самозаверяющего сертификата, используется для шифрования сеанса входа в систему.

Купер Ван Валкенбург
источник
2

Я обнаружил, что даже с SQL 2014 SP1 CU1 мне приходилось использовать отдельные поля для IIS и SQL. По пути я столкнулся с несколькими внешне связанными проблемами и подробно описал шаги в этом посте .

Ключевые моменты:

  • Поместите IIS и SQL в отдельные ящики
  • Отключите входящий TLS1.0 и включите исходящий TLS1.0 в окне IIS
  • Включите TLS1.0 в обе стороны в окне SQL.
OutstandingBill
источник
1

Вот что я сделал на переднем и заднем серверах

  1. Open gpedit.msc. В редакторе локальной групповой политики дважды щелкните «Параметры Windows» под узлом «Конфигурация компьютера», а затем дважды щелкните «Параметры безопасности».

  2. Под узлом «Параметры безопасности» дважды щелкните «Локальные политики», а затем нажмите «Параметры безопасности».

  3. В области сведений дважды щелкните «Системная криптография: используйте FIPS-совместимые алгоритмы для шифрования, хеширования и подписывания».

  4. В диалоговом окне «Системная криптография: используйте FIPS-совместимые алгоритмы шифрования, хэширования и подписи», нажмите «Включено», а затем нажмите «ОК», чтобы закрыть диалоговое окно. Закройте редактор локальной групповой политики.

Майкл Зейделис
источник
Я предполагаю , что это в адрес , как настроить TLS 1.2, в отличие от фактического первоначального вопроса, о том, какие версии SQL Server делают поддержки нечто большее , чем TLS 1.0, возможно , на веб - сервер с SQL бэкэнда? Если возможно, уточните это в самом ответе.
RDFozz
Спасибо, но ... В первоначальном вопросе я попытался сделать его несколько общим, но это действительно было связано с согласованием минимального требования и набора технологий еще в середине 2015 года, когда он был задан. Это стало настолько устаревшим теперь, что я думаю, что это должно быть закрыто. Любые ответы, подобные приведенному выше, вероятно, должны быть направлены на более новую версию вопроса, которая лучше подходит для сегодняшних проблем. У меня сейчас нет такого вопроса.
Марк