Вопрос: Как отключить TLS 1.0 без нарушения RDP?


Недавно наш обработчик кредитных карт уведомил нас о том, что по состоянию на 30 июня 2016 года нам нужно будет отключить TLS 1.0, чтобы оставаться совместимым с PCI, Я старался быть активным, отключив TLS 1.0 на нашем компьютере под управлением Windows Server 2008 R2, только чтобы обнаружить, что сразу после перезагрузки я был полностью неспособен подключиться к нему через протокол удаленного рабочего стола (RDP). После некоторых исследований оказалось, что RDP поддерживает только TLS 1.0 (см. Вот или Вот), или, по крайней мере, неясно, как включить RDP через TLS 1.1 или TLS 1.2. Кто-нибудь знает способ отключить TLS 1.0 на Windows Server 2008 R2 без нарушения RDP? Поддерживает ли Microsoft поддержку RDP через TLS 1.1 или TLS 1.2?

Примечание. Как представляется, существует способ сделать это настройка сервера для использования уровня безопасности RDP но затем отключает проверку подлинности на уровне сети, который, похоже, торгует одним злом для другого.

ОБНОВЛЕНИЕ 1: Microsoft теперь рассмотрела эту проблему. См. ответ ниже для соответствующего обновления сервера.

ОБНОВЛЕНИЕ 2: Microsoft выпустила учебное пособие в отношении Поддержка SQL Server для PCI DSS 3.1,


47
2018-05-11 20:15


Источник


Мои извинения для всех - инструкции, которые я опубликовал, действительны только для Win8 / Server2012 / 2012R2 ... они не работают в 2008R2 / Win7. Я тестировал 2008R2, и это не то же самое. Прости. - Ryan Ries
И обратите внимание, что в 2012 году, как упоминалось выше, удаление TLS 1.0 заставляет RDP перейти на уровень безопасности RDP. - Jim B
Я сделал то же самое и не могу попасть на свой сервер (AWS), смогли ли вы найти способ войти без физического доступа? - Thomas Paine
Согласно этой статье поддержки Microsoft недавно запустила SQL 2012 и 2014 для работы с TLS 1.1 и 1.2 support.microsoft.com/en-us/kb/3052404 - CarlR
@CarlR в этой статье, похоже, не упоминается RDP-сервер на сервере. Фактически, он, по-видимому, специфичен для подключения к базе данных, поскольку он упоминает: «Это обновление добавляет поддержку протокола протокола Layer Security (TLS) версии 1.2 SQL Server 2014 и Microsoft Драйвер ODBC для SQL Server ". - k1DBLITZ


Ответы:


Microsoft выпустила исправление для этой проблемы. Sep 15, 2015

Видеть https://support.microsoft.com/en-us/kb/3080079


19
2017-09-15 21:12



Спасибо очень полезно. После установки этих обновлений экран tsconfig.msc не показывает никаких признаков TLS 1.1 или TLS 1.2. Кто-нибудь смог подтвердить, что вы подключаетесь к серверу с использованием RDP через TLS 1.2? Я знаю, что мы можем проверить, отключив ранний протокол TLS на сервере. Но если это не работает, вы не можете удаленно использовать RDP на сервере. - Nirlep
Возможно, что, когда вы выберете опцию «Negotiate», она свяжет самый высокий уровень, который может быть TLS 1.2 - Nirlep
Вы можете включить регистрацию каналов, чтобы узнать, какая версия используется. Ссылка на то, как это сделать, показана в моем ответе. - CarlR
Я знаю, что это старый поток, но ... У меня более старая версия Windows Server 2008 R2, которую я поднимаю, чтобы нюхать. Я установил KB3080079 и теперь отключит TLS 1.0. Но я не уверен, что параметр RDP-сервера должен быть установлен на «Negotiate» или «TLS». - Chris Harrington


Я рассматривал это в течение нескольких дней, так как мы должны соблюдать PCI-DSS 3.1, который требует отключения TLS 1.0.

Мы также не хотим возвращаться к RDP Security Layer, что является серьезной проблемой безопасности.

Наконец, мне удалось найти документацию, подтверждающую, что TLS 1.1 и TLS 1.2 ARE поддерживаются RDP. Эта документация скрыта в Запись каналов SChannel и очень подробная спецификация для RDP,

Существует полное отсутствие документации по основным потокам на Technet или других сайтах Microsoft, поэтому, надеюсь, документальное подтверждение этого может помочь некоторым людям.

Соответствующие выдержки из приведенных ссылок:

От ссылки MSDN:

"RDP supports four External Security Protocols: TLS 1.0 ([RFC2246]) TLS 1.1 ([RFC4346])<39>, TLS 1.2 ([RFC5246])<40>"

Из спецификации RDP PDF:

"When Enhanced RDP Security is used, RDP traffic is no longer protected by using the techniques
described in section 5.3. Instead, all security operations (such as encryption and decryption, data
integrity checks, and Server Authentication) are implemented by one of the following External
Security Protocols:
TLS 1.0 (see [RFC2246])
TLS 1.1 (see [RFC4346])
TLS 1.2 (see [RFC5246])
CredSSP (see [MS-CSSP])"

"<39> Section 5.4.5: TLS 1.1 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista and Windows Server 2008.
<40> Section 5.4.5:  TLS 1.2 is not supported by Windows NT, Windows 2000 Server, Windows XP,
Windows Server 2003, Windows Vista, and Windows Server 2008"

Поэтому можно сделать вывод, что вы можете использовать TLS 1.1 или 1.2 на Windows Server 2008 R2 в соответствии с этой документацией.

Однако наше тестирование доказало, что это НЕ работает от клиента Windows 7 RDP (версия 6.3.9600), когда TLS 1.0 отключен, а для параметра безопасности RDP установлено значение TLS 1.0.

Это, конечно, так же, как включение TLS 1.1 и 1.2, которые по умолчанию отключены в 2008R2 - кстати, мы делаем это, используя очень полезные Инструмент IIS Crypto от программного обеспечения Nartac,

При рассмотрении этой проблемы полезно включить ведение журнала SChannel, чтобы увидеть более подробную информацию о том, что происходит при открытии сеанса.

Вы можете установить Запись каналов SChannel путем изменения ключа HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging на 5 и перезагрузки.

Как только это будет сделано, вы можете наблюдать события SChannel, которые показывают версию TLS, используемую при подключении RDP. После того, как регистрация включена, вы можете наблюдать за ошибкой SChannel, когда клиент RDP пытается установить соединение в Windows 2008 R2 с отключенным TLS 1.0:

A fatal error occurred while creating an SSL server credential. The internal error state is 10013.

Я также протестировал отключение TLS 1.0 на Windows Server 2012 и 2012 R2, которые я могу подтвердить, отлично работает с помощью клиента Windows 7 RDP. В записи журнала SChannel отображается TLS 1.2:

An SSL server handshake completed successfully. The negotiated cryptographic parameters are as follows.

   Protocol: TLS 1.2
   CipherSuite: 0xC028
   Exchange strength: 256

Надеюсь, это поможет кому-то, кто ищет разъяснения по этому поводу.

Я буду продолжать искать, как мы можем заставить RDP работать над TLS 1.1 и TLS 1.2 в Windows Server 2008 R2.

ОБНОВЛЕНИЕ: 2015-AUG-05

Мы подняли вопрос о том, что RDP не работает с Server 2008 R2 с поддержкой Microsoft, включая шаги для воспроизведения.

После нескольких недель назад и вперед мы наконец получили телефонный звонок от команды поддержки, чтобы признать, что они действительно могут воспроизвести его, и теперь это классифицируется как ошибка. Патч обновления будет выпущен, на данный момент это ожидается в октябре 2015 года. Как только у меня появится статья в КБ или другие подробности, я добавлю их в этот пост.

Надеемся, что те, кто стоит в Windows Server 2008 R2, могут, по крайней мере, решить эту проблему до истечения крайнего срока в июне 2016 года после выпуска патча.

ОБНОВЛЕНИЕ: 19 сентября 2015 г.

Microsoft наконец выпустила статью поддержки kb об этом Вот и я могу подтвердить, что он работает нормально.


15
2018-06-16 12:59



В последнем обновлении говорится: «Я пробовал Windows 7 и Windows 2012 r2, и он не работает, он все еще подключается с помощью TLS1». Вы когда-нибудь могли заставить это работать? - Doug S
Кто-то добавил этот комментарий, я только что удалил его, так как теперь он отлично подходит для TLS1.2. - CarlR
Хммм. Я никогда не мог заставить его работать, даже с этими изменениями / обновлениями и всем остальным, что мог найти. - Doug S
Журнал SChannel можно найти в системном журнале. - Ivan Chau


Вместо этого используйте IPsec, так как в документе рекомендуется: «Сначала сначала запустите сначала зашифрованный сеанс (например, туннель IPsec), а затем отправьте данные через SSL в защищенном туннеле»

Основная причина, связанная с настройкой TLS для RDP, заключается в том, что политика брандмауэра легко проверяется на соответствие (vs доказывает, что переменная реестра соответствует требованиям), а IPsec довольно легко настраивается в Windows.

Если вам требуется полное соответствие стандарту B, IPSEC с tls 1.0 является единственным способом применения к соответствующим длинам сертификатов


8
2018-05-11 21:41



Туннелирование по SSH также является вариантом, о котором я расскажу. (Конечно, требуется программное обеспечение сервера SSH для Windows). - Chris W. Rea
IPsec не является SSH - Jim B
Правильно, и я не хотел подразумевать, что они одинаковы. Скорее, SSH является альтернативным методом для создания безопасного туннеля на сервере. - Chris W. Rea
@JimB Прости, ты был прав. - Ryan Ries
@RyanRies Np, я все еще царапаю себе голову, как 12 других проголосуют, не зная, что это сработало. - Jim B


Это не ответ на вопрос, а на вопрос «Как восстановить удаленный доступ к виртуальной машине, где я отключил TLS 1.0 и без физического доступа?».

Я отключил TLS 1.0 с помощью IISCrypto, который дал полезное предупреждение о побочном эффекте, который RDP прекратит работать, если он настроен на TLS. Поэтому я проверил:

Admin Tools\Remote Desktop Services\Remote Desktop Session Host Configuration, RDP-Tcp, General Tab, Security Layer

и мой уровень безопасности был установлен на «Negotiate». Я предположил, что это означает, что если TLS недоступен, он изящно деградирует до RDP Security.

Но нет, переговоры не работают. Перед отключением TLS 1.0 вы должны установить уровень безопасности в RDP Security, а не Negociate.

Поэтому я потерял возможность удаленного подключения к моему экземпляру AWS!

Чтобы снова подключиться, я использовал другой экземпляр AWS.

  1. Я обновил SecurityGroup, чтобы разрешить межсетевое соединение с этой машины на «потерянную» машину.
  2. Я открыл общий доступ к административной сети в DOS, с пользователем и паролем администратора:

net use \\lost_machine_ip\c$

  1. Затем я открыл Regedit, а в меню «Файл» выберите «Подключить сетевой реестр» и поставьте IP-адрес «потерянного» сервера. Вы должны увидеть реестр удаленного сервера. Идти к :

\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\

и установите значение для SecurityLayer до 0 (0 - безопасность RDP).

Затем вы сможете удаленно подключаться и повторно использовать TLS 1.0 в IISCrypto, если это необходимо.


8
2018-06-11 08:38



Спасибо, это спасло меня много работы, воссоздавая сервер. Не знаете, как вы изменили свою группу безопасности, чтобы разрешить соединение между машинами. Я открыл весь доступ к «потерянной» машине на IP-адрес второго компьютера, и это сработало. Есть ли способ лучше? - Gullbyrd
@Gullbyrd либо это, либо установить ВСЕ TCP в группу безопасности, к которой принадлежат обе машины. Делает то же самое. - Dave Beer


Вам потребуется установить RDP 8.0 на компьютеры под управлением Windows 7 и Windows Server 2008 R2, а затем включить RDP 8.0 в политике или групповой политике локального компьютера.

Вот Microsoft KB для RDP 8.0. https://support.microsoft.com/en-us/kb/2592687

Как только это будет сделано, вы должны иметь возможность отключить TLS 1.0 на компьютерах и серверах, отредактировав реестр в соответствии с инструкциями в этой статье. https://technet.microsoft.com/en-us/library/dn786418.aspx

После установки RDP 8.0 вы также можете установить RDP 8.1, но RDP 8.0 должен быть установлен до установки RDP 8.1. RDP 8.0 содержит как клиентские, так и серверные компоненты протокола, но RDP 8.1 включает только клиента. Microsoft KB для RDP 8.1 - KB2830477.

Я сделал эти изменения на одной из моих рабочих станций Windows 7 и протестировал RDP-соединения с помощью «Требовать использования определенного уровня безопасности для удаленных (RDP) подключений». Включен параметр групповой политики и установлен на «SSL (TLS 1.0)», чтобы убедиться, что он не вернется к шифрованию RDP.

ОБНОВЛЕНИЕ 6/19/2015:

Наконец, я получил возможность протестировать это на одном из наших серверов Windows Server 2008 R2, и это определенно нарушает RDP-соединения с сервером. Похоже, что серверные компоненты RDP 8.0 установлены только на компьютерах под управлением Windows 7 и не устанавливаются на серверах Windows Server 2008 R2.


3
2018-06-16 19:46



Статья с базой знаний о поддержке не работает в настоящее время (цикл перенаправления), однако вы можете использовать версию кеша Google для просмотра содержимого. Интересно, что в этой статье нет абсолютно никакого упоминания поддержки TLS 1.1 или 1.2, и все же, я думаю, это основная причина, по которой кто-то будет смотреть на этот вопрос! Существует также большое количество предостережений, в том числе локальные администраторы, которые больше не могут входить в систему, если специально не добавить их в группу пользователей Remote Destop. Не беспокойтесь, если вы пытаетесь это сделать. - CarlR
Вы открыли UDP-порт 3389 на сервере, когда вы пытались подключиться к серверу 2008 года? - Elvar
Я дошел до того, что временно отключил брандмауэр Windows полностью на сервере сервера 2008 R2, но я до сих пор не могу подключиться к нему, используя RDP с отключенным TLS 1.0 на сервере. - Kenny R


Как указано в Как отключить TLS 1.0 без нарушения RemoteApps на сервере 2012 R2 но переупорядочивая здесь в интересах тех, кто не может контролировать эту ссылку:

Спустя почти год я, наконец, выяснил, какое рабочее решение отключает TLS 1.0 / 1.1 без нарушения связи RDP и Remote Desktop Services и запуска RemoteApps:

Запустите IISCrypto и отключите TLS 1.0, TLS 1.1 и все плохие шифры.

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

Обратите внимание, что в некоторых случаях (особенно если вы используете самозаверяющие сертификаты на сервере Server 2012 R2), возможно, необходимо установить параметр политики безопасности Network Security: LAN Manager для отправки ответов только на ответы NTLMv2.


3
2018-02-24 09:35





Просто обновите это, если кто-то еще ищет информацию об этом. Для моих 64-разрядных ящиков Windows 7 мне пришлось установить KB2574819 (первый) и KB2592687 (второй) Windows 7 должна установить SP1 до того, как эти 2 pkgs будут установлены. Если у вас есть проблемы с установкой пакета обновления 1 (SP1), как и я, мне сначала нужно было удалить KB958830, а затем установить SP1.

Для моих окон Windows Server 2008 R2 мне пришлось установить KB3080079. Как только вы это сделаете и у вас есть все необходимые настройки для безопасной связи, тогда он будет использовать TLS 1.2 Вы можете подтвердить, используя Wireshark для выполнения захвата связи между двумя вашими блоками.


2
2017-11-02 14:29