«Внутренняя ошибка» удаленного рабочего стола при подключении после установки исправлений «NSA»

9

Я только что установил последнее обновление Windows (вторник исправлений уязвимости АНБ) и теперь не могу подключиться к удаленному рабочему столу.

  • Сервер удаленно размещен. У меня нет физического доступа. Сервер 2012 R1.
  • К счастью, все сайты работают нормально после перезагрузки.
  • Я еще не пробовал вторую перезагрузку, потому что мне немного страшно.
  • Когда я пытаюсь подключиться, я сразу получаю это сообщение:
  • « Подключение к удаленному рабочему столу : произошла внутренняя ошибка»

введите описание изображения здесь

  • Пробовал от нескольких клиентов. Все они терпят неудачу - включая приложение для iOS, которое, кроме того, выдает ошибку 0x00000904.
  • Если я запускаю, telnet servername 3389он инициирует соединение, поэтому я знаю, что порт открыт.
  • Я могу нормально подключаться к другим серверам с моей машины Win 10 (без исправлений).
  • Я не могу подключиться и со второго ноутбука, который является версией Win 10 Creators.
  • Не могу найти ничего полезного в Event Viewer.
  • Я даже попробовал Wireshark, который не показал мне ничего полезного.
  • Лучшее, что мне нужно диагностировать, - это возможность загрузить страницу ASPX и запустить ее.

Я понимаю, что в недавнем обзоре патчей "NSA edition" были исправлены некоторые ошибки RDP, но я не могу найти кого-то еще, у кого внезапно появились проблемы на неделе.

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


Обновить:

Хотя у меня все еще нет физического доступа к серверу, я вспомнил, что у меня есть виртуальная машина Windows 7, размещенная на самом сервере. Я смог войти в это и открыть оснастку сертификатов сервера, подключившись к локальному IP-адресу 10.0.0.1.

Это показывает, что срок действия сертификата RDP действительно истек - хотя при подключении я не получаю никаких ошибок, которые указывают на наличие таковых. Я, конечно, подключался ежедневно, и, поскольку срок его действия истек 2 месяца назад, я предполагаю, что какое-то обновление для системы безопасности удалило любой другой сертификат из хранилища удаленных рабочих столов и не обновилось само собой.

Таким образом, пытаясь найти способ установить другой сертификат здесь и сейчас.

Обновление 2

Наконец нашел это в журнале событий в разделе «Административные события» (путем удаленного подключения через виртуальную машину):

«Серверу терминалов не удалось создать новый самозаверяющий сертификат, который будет использоваться для аутентификации сервера терминалов в соединениях SSL. Соответствующий код состояния:« Объект уже существует ».»

Это кажется полезным, хотя и немного другой ошибкой. Не могу перезагрузиться сегодня вечером, так что придется проверить еще раз завтра.

https://blogs.technet.microsoft.com/the_9z_by_chris_davis/2014/02/20/event-id-1057-the-terminal-server-has-failed-to-create-a-new-self-signed-certificate/

введите описание изображения здесь

Саймон
источник
2
Было бы хорошо, если бы вы сказали нам, какое именно обновление или обновления вы установили, вместо того, чтобы ссылаться на него как на NSA vulnerability patch tuesday. Не всем нравится играть в «Mystery Update Theatre 3000».
Joeqwerty
Я хотел бы сказать вам - но я только что запустил обновление Windows, а затем оно перезагрузилось - и теперь я не могу войти. «Последние обновления», которые хотел обновить win 2k, к сожалению, все, что я могу раскрыть в этой загадке. Я играл в Театре 3000 весь день, пытаясь придумать стратегию. Скорее всего, если я заставлю хостинговую компанию перезагрузиться, все будет хорошо, но такое ощущение, что я заперся из своего дома, и я посылаю слесаря, пока меня там даже не будет. Слава Богу, у меня есть удаленный доступ к серверу SQL / FTP, и все сайты работают нормально. Если есть команда для просмотра обновлений, я могу попробовать это
Simon
1
Вы можете попробовать просматривать историю обновлений Windows и удалять обновления по одному (если они поддерживают удаление), пока проблема не решится сама собой. Запишите, какие обновления вы удаляете, чтобы вы могли определить, какое обновление является подозрительным.
Joeqwerty
но у меня нет доступа к рабочему столу, чтобы сделать это. Это проблема. У меня есть доступ к командной строке только через запуск команды через веб-страницу ASPNET. Я пытаюсь запустить systeminfo.exe, чтобы получить вывод
Simon
Правильно. Забыли об этом. Виноват. Извиняюсь.
Joeqwerty

Ответы:

9

Решение в основном здесь

https://blogs.technet.microsoft.com/askpfeplat/2017/02/01/removing-self-signed-rdp-certificates/

Это тоже помогло:

https://social.technet.microsoft.com/Forums/ie/en-US/a9c734c1-4e68-4f45-be46-8cae44c95257/unable-to-remote-desktop-to-windows-server-2012-due-to- не удалось к созданию-самоподписанными-сертификат? форум = winserverTS

Предполагая, что вы уже убедились, что сертификат в списке Сертификаты> Удаленный рабочий стол> Сертификаты недействителен ...

введите описание изображения здесь

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

Затем вам нужно переименовать или удалить этот файл, а затем он будет воссоздан:

"C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys \ f686aace6942fb7f7ceb231212eef4a4_a54b3870-f13c-44bb-98c7-d0511f3e1757"

Это хорошо известное имя файла, начинающееся с f686aace. Затем перезапустите Remote Desktop Configurationсервис, и он должен восстановить его. (Примечание: на самом деле может не быть необходимости перезапускать службу - просто подождите, чтобы увидеть, если она будет воссоздана с тем же именем файла в течение минуты).

Может потребоваться возиться с разрешениями, и вам может потребоваться владеть файлом, а затем дополнительно применить разрешения. Примечание: право собственности не подразумевает разрешения. Вы должны добавить разрешения после вступления во владение.


Как я уже сказал, у меня нет физического доступа к серверу - если этого достаточно, то вышеупомянутого должно быть достаточно.

Мне повезло, что я смог удаленно подключиться через другую машину в той же локальной сети и изменить реестр.

Я хотел отключить аутентификацию, чтобы я мог подключиться и получить доступ удаленно. Записи реестра для этогоHKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp

Установите существующие ключи SecurityLayerи UserAuthenticationк0

Создайте файл RDP (откройте mstsc и нажмите «Сохранить» после ввода имени сервера) и в блокноте добавьте строку enablecredsspsupport:i:0куда-нибудь. Это отключает ожидание безопасности.

Когда вы затем запустите файл RDP, он должен позволить вам БЕЗОПАСНО подключиться и получить доступ к вашему серверу.

Как только вы подключитесь, измените эти две записи реестра и затем удалите f686...файл ...

Саймон
источник
Я использую самоподписанный сертификат и никогда не создавал явно сертификат RDP. Если вы обнаружите эту же проблему, решение может немного отличаться, если вы создали сертификат самостоятельно.
Симон
Похоже, это совпадение с последними патчами - и у меня все равно было несколько месяцев!
Симон
PS. извините за неорганизованный ответ - это просто впустую целые выходные. Хорошо, я закончил
Симон
Странно, неожиданно получить против голосов по этому поводу. Новое обновление вызывает это снова?
Симон
3

Эти настройки исправили мою проблему:

1.В панели управления нажмите Администрирование, а затем дважды щелкните Локальная политика безопасности.

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

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

  1. Запустите gpupdate / force

Еще один вариант, который решит эту проблему:

Протоколы не были включены на сервере. Я использовал IIScrypto и включил TLS1.2, и все начало работать

ажар бутар
источник
-1

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

Вы можете доказать это двумя способами, прежде чем редактировать реестр. загрузите IIS Crypto и посмотрите, что включено и отключено в протоколах, шифрах, хэшах и обмене ключами.

Иногда, хотя IIS Crypto будет показывать, что TLS включен, даже если он не включен в реестре только для справки.

Следующая опция - включить FIPS в локальной групповой политике, что заставляет TLS 1.0, 1.1 и 1.2 включаться и использоваться. Включите FIPS, а затем попробуйте подключить RDP к вашему компьютеру, на этот раз он будет работать, даже если TLS отключен в реестре. Вы не хотите использовать FIPS постоянно, хотя это только для устранения неполадок, поэтому отключите его на сервере и перейдите в реестр.

В раздел « HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNELПротоколы» добавьте три новых ключа TLS 1.0,TLS 1.1 и TLS 1.2затем создать два вспомогательные клавиши под каждым вводом названия им TLS Clientи Server.

Внутри ClientиServer ключи создать две записи один 32 - битный DWORD титулованных DisabledByDefaultс Valueмножеством 0 , и Enabledс множеством значений в 1.

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

Аарон Джонсон
источник