Наш процессор кредитных карт недавно уведомил нас о том, что с 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 .
Ответы:
Microsoft выпустила патч для этой проблемы 15 сентября 2015
См. Https://support.microsoft.com/en-us/kb/3080079.
источник
Я изучал это в течение нескольких дней, так как мы должны соблюдать PCI-DSS 3.1, который требует отключения TLS 1.0.
Мы также не хотим возвращаться к уровню безопасности RDP, который является серьезной проблемой безопасности.
Мне наконец удалось найти некоторую документацию, которая подтверждает, что TLS 1.1 и TLS 1.2 поддерживаются RDP. Эта документация скрыта в журнале SChannel и очень подробной спецификации для RDP .
Существует полное отсутствие документации основного потока на Technet или других сайтах Microsoft, и я надеюсь, что документирование этого может помочь некоторым людям.
Соответствующие выдержки из предоставленных ссылок:
Из ссылки MSDN:
Из спецификации RDP PDF:
Поэтому можно сделать вывод, что вы можете использовать TLS 1.1 или 1.2 на Windows Server 2008 R2 в соответствии с этой документацией.
Однако наше тестирование доказало, что это НЕ работает с клиентом RDP для Windows 7 (версия 6.3.9600), когда TLS 1.0 отключен и для параметра безопасности RDP установлено требование TLS 1.0.
Это, конечно, так же как и включение TLS 1.1 и 1.2, которые по умолчанию отключены на 2008R2 - кстати, мы делаем это с помощью очень полезного IIS Crypto Tool от Nartac Software .
При рассмотрении этой проблемы полезно включить ведение журнала SChannel, чтобы увидеть более подробную информацию о том, что происходит при открытии сеанса.
Вы можете установить логирование SChannel , изменив ключ HKEY_LOCAL_MACHINE \ System \ CurrentControlSet \ Control \ SecurityProviders \ SCHANNEL \ EventLogging на 5 и перезагрузившись.
Как только это будет сделано, вы можете наблюдать события SChannel, которые показывают версию TLS, используемую при установлении соединения RDP. Как только ведение журнала включено, вы можете наблюдать ошибку SChannel, когда клиент RDP пытается установить соединение в Windows 2008 R2 с отключенным TLS 1.0:
Я также протестировал отключение TLS 1.0 на Windows Server 2012 и 2012 R2, которое, как я могу подтвердить, прекрасно работает с помощью клиента Windows 7 RDP. Запись журнала SChannel показывает, что используется TLS 1.2:
Я надеюсь, что это помогает кому-то, кто ищет разъяснения по этому вопросу.
Я продолжу искать, как мы могли бы заставить RDP работать над TLS 1.1 и TLS 1.2 в Windows Server 2008 R2.
ОБНОВЛЕНИЕ: 2015-АВГУСТ-05
Мы подняли вопрос о том, что RDP не работает с Server 2008 R2 с поддержкой Microsoft, включая шаги по воспроизведению.
После нескольких недель назад и вперед мы наконец-то получили сегодня телефонный звонок от службы поддержки, чтобы подтвердить, что они действительно могут воспроизвести его, и теперь это классифицируется как ошибка. Обновление патча будет выпущено, на данный момент ожидается это в октябре 2015 года. Как только у меня появится статья в КБ или другие подробности, я добавлю их в этот пост.
Надеемся, что те, кто застрял с Windows Server 2008 R2, смогут, по крайней мере, решить эту проблему до крайнего срока, установленного в июне 2016 года, после выпуска патча.
ОБНОВЛЕНИЕ: 19 сентября 2015
Microsoft наконец-то выпустила статью поддержки об этом здесь, и я могу подтвердить, что она работает нормально.
источник
Вместо этого используйте IPsec, так как документ рекомендует: «Сначала установить строго зашифрованный сеанс (например, туннель IPsec), а затем отправлять данные по SSL в безопасном туннеле».
Основная причина сделать это при настройке TLS для RDP заключается в том, что политика брандмауэра легко проверяется на соответствие (по сравнению с проверкой соответствия изменений реестра), а IPsec довольно легко настраивается в Windows.
Если вам требуется полное соответствие B, IPSEC с tls 1.0 - единственный доступный способ применения сертификатов соответствующей длины
источник
Это не ответ на вопрос, а на подвопрос «Как восстановить удаленный доступ к виртуальной машине, где я отключил TLS 1.0 и не имел физического доступа?».
Я отключил TLS 1.0 с помощью IISCrypto, который дал полезное предупреждение о побочном эффекте, что RDP перестанет работать, если для него установлено значение TLS. Итак, я зарегистрировался:
и мой уровень безопасности был установлен на «переговоры». Я предположил, что это означает, что если TLS недоступен, он будет постепенно снижаться до RDP Security.
Но нет, переговоры не работают таким образом. Вы должны установить уровень безопасности RDP Security, а не Negociate, прежде чем отключить TLS 1.0.
Поэтому я потерял способность удаленно подключаться к своему экземпляру AWS!
Для переподключения я использовал другой экземпляр AWS.
net use \\lost_machine_ip\c$
\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\
и установите значение для
SecurityLayer
0 (0 - RDP Security).После этого вы сможете удаленно подключиться и при необходимости включить TLS 1.0 в IISCrypto.
источник
Вам нужно будет установить 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.
ОБНОВЛЕНИЕ 19.06.2015:
Я наконец-то получил возможность проверить это на одном из наших серверов Windows Server 2008 R2, и он определенно разрывает RDP-соединения с сервером. Кажется, что серверные компоненты RDP 8.0 устанавливаются только на компьютерах с Windows 7 и не устанавливаются на серверах Windows Server 2008 R2.
источник
Как написано в разделе Как отключить TLS 1.0, не нарушая RemoteApps на сервере 2012 R2, но разместив здесь репост для тех, кто не отслеживает эту ссылку:
Спустя почти год я наконец-то нашел рабочее решение для отключения TLS 1.0 / 1.1, не нарушая подключения RDP и служб удаленных рабочих столов и не запуская RemoteApps:
Запустите IISCrypto и отключите TLS 1.0, TLS 1.1 и все плохие шифры.
На сервере служб удаленных рабочих столов, на котором выполняется роль шлюза, откройте Локальную политику безопасности и перейдите в раздел Параметры безопасности - Системная криптография: используйте FIPS-совместимые алгоритмы для шифрования, хеширования и подписывания. Измените настройку безопасности на Включено. Перезагрузитесь, чтобы изменения вступили в силу.
Обратите внимание, что в некоторых случаях (особенно при использовании самозаверяющих сертификатов на Server 2012 R2) для параметра «Политика безопасности» «Сетевая безопасность: уровень проверки подлинности LAN Manager» может потребоваться установить значение «Только отправлять ответы NTLMv2».
источник
Просто обновление об этом, если кто-то еще ищет информацию об этом. Для моих Windows 7 64-битных ящиков мне нужно было установить KB2574819 (первый) и KB2592687 (второй) Windows 7 должен иметь SP1, прежде чем эти 2 pkgs будут установлены. Если у вас возникли проблемы с установкой SP1, как у меня, сначала мне пришлось удалить KB958830, а затем установить SP1.
Для моих Windows Server 2008 R2 я должен был установить KB3080079. Как только вы сделаете это и получите все необходимые настройки для безопасной связи, он будет использовать TLS 1.2. Вы можете подтвердить это с помощью Wireshark, чтобы выполнить захват связи между вашими двумя устройствами.
источник
Я успешно использовал rdesktop ( http://www.rdesktop.org ) для Linux, чтобы обойти эту проблему.
источник
Один случай, не охваченный существующими ответами: клиенты Windows 7, подключающиеся через шлюз RDP, по-прежнему будут использовать TLS 1.0 при подключении к шлюзу и потерпят неудачу, если шлюз не поддерживает TLS 1.0, даже после применения KB3080079 , как отмечено в этой ветке форума TechNet. ,
Чтобы использовать TLS 1.2 для подключения через шлюз RDP, убедитесь, что установлен KB3140245, и добавьте следующие ключи реестра (сохраните в файле с
.reg
расширением для импорта):Как описано в KB3140245 , это переопределит
WINHTTP_OPTION_SECURE_PROTOCOLS
использование TLS 1.2 (и только TLS 1.2) по умолчанию. Так что имейте в виду, что это повлияет не только на клиента RDP.(Примечание: если требуется обратная совместимость,
dword:00000800
можно изменитьdword:00000A00
илиdword:00000A80
включить TLS 1.1 и 1.0 соответственно)источник