Błąd połączenia RDP szyfrowania lub naprawy szyfrowania CredSSP

Po zainstalowaniu aktualizacji zabezpieczeń systemu Windows, które pojawiły się po maju 2018 r., Może wystąpić błąd Korekta wyroczni szyfrowania CredSSP gdy RDP jest podłączony do zdalnego serwera i komputera z systemem Windows w następujących przypadkach:

  • Łączysz się ze zdalnym pulpitem komputera z niedawno zainstalowaną starą (na przykład RTM) wersją systemu Windows (na przykład Windows 10 poniżej kompilacji 1803, Windows Server 2012 R2, Windows Server 2016), na której nie są zainstalowane najnowsze aktualizacje zabezpieczeń systemu Windows;
  • Próbujesz połączyć się z komputerem RDP, na którym przez długi czas nie instalowano aktualizacji Microsoft;
  • Połączenie RDP blokuje komputer zdalny, ponieważ żadne aktualizacje bezpieczeństwa nie są potrzebne na komputerze klienckim.

Spróbujmy dowiedzieć się, co oznacza błąd RDP. Korekta wyroczni szyfrowania CredSSP i jak mogę to naprawić.

Dlatego podczas próby połączenia się z aplikacją RemoteApp na serwerach RDS w systemie Windows Server 2016/2012 R2 / 2008 R2 lub zdalnych komputerach stacjonarnych innych użytkowników korzystających z protokołu RDP (w systemie Windows 10, 8.1 lub 7) pojawia się błąd:

Podłączanie pulpitu zdalnego
Wystąpił błąd uwierzytelnienia.
Ta funkcja nie jest obsługiwana.
Komputer zdalny: nazwa hosta
Może to być spowodowane naprawą lub szyfrowaniem CredSSP.

Podłączanie pulpitu zdalnego
Uwierzytelnianie nie powiodło się.
Określona funkcja nie jest obsługiwana..
Przyczyną błędu może być korekta szyfrowania CredSSP.

Ten błąd wynika z faktu, że w systemie Windows Server lub w zwykłej wersji systemu Windows, z którą próbujesz się połączyć przez RDP, aktualizacje zabezpieczeń systemu Windows nie zostały zainstalowane (przynajmniej od marca 2018 r.).

Ten błąd może również wyglądać następująco: Wystąpił błąd uwierzytelnienia. Określona funkcja nie jest obsługiwana..

Faktem jest, że w marcu 2018 roku firma Microsoft wydała aktualizację, która zamyka możliwość zdalnego uruchamiania kodu przy użyciu luki w protokole CredSSP (Credential Security Support Provider). Problem został szczegółowo opisany w biuletynie CVE-2018-0886. W maju 2018 r. Opublikowano dodatkową aktualizację, w której domyślnie klienci Windows nie mogą łączyć się ze zdalnymi serwerami RDP za pomocą podatnej (niepoprawionej) wersji protokołu CredSSP.

Dlatego jeśli nie zainstalowano zbiorczych aktualizacji zabezpieczeń na serwerach RDS / RDP systemu Windows (komputery) od marca 2018 r., A na klientach RDP zainstalowano aktualizacje majowe (lub nowsze), wówczas przy próbie połączenia się z serwerami RDS za pomocą niezałatowanej wersji CredSSP pojawia się błąd dotyczący niemożności połączenia: Może to być spowodowane naprawą lub szyfrowaniem CredSSP.

Błąd RDP klienta pojawia się po zainstalowaniu następujących aktualizacji zabezpieczeń:

  • Windows 7 / Windows Server 2008 R2 - KB4103718
  • Windows 8.1 / Windows Server 2012 R2 - KB4103725
  • Windows Server 2016 - KB4103723
  • Windows 10 1803 - KB4103721
  • Windows 10 1709 - KB4103727
  • Windows 10 1703 - KB4103731
  • Windows 10 1609 - KB4103723
Lista zawiera numery KB od maja 2018 r., W chwili obecnej musisz pobrać i zainstalować nowszy pakiet aktualizacji zbiorczej dla swojej wersji systemu Windows. Najnowsze aktualizacje zabezpieczeń można uzyskać za pośrednictwem usługi Windows Update z serwerów Microsoft, z lokalnego serwera WSUS lub ręcznie pobrać z katalogu aktualizacji systemu Windows - Microsoft Update Catalog - https://www.catalog.update.microsoft.com/Home.aspx. Na przykład, aby wyszukać aktualizacje na sierpień 2019 dla systemu Windows 10 1803, musisz użyć zapytania wyszukiwania: Windows 10 1803 8 / * / 2019. Pobierz i zainstaluj aktualizację zbiorczą (w moim przykładzie będzie to „2019-08 Zbiorcza aktualizacja dla systemu Windows 10 wersja 1803 dla systemów opartych na procesorach x64 (KB4512509)”.

Aby przywrócić zdalne połączenie z pulpitem, możesz usunąć aktualizacje zabezpieczeń na kliencie, z którego nawiązane jest połączenie RDP (ale to bardzo niezalecane, tj. istnieje bezpieczniejsze i bardziej poprawne rozwiązanie).

Aby rozwiązać problem, możesz tymczasowo na komputerze, z którego łączysz się przez RDP, wyłącz sprawdzanie wersji CredSSP na komputerze zdalnym. Można to zrobić za pomocą lokalnego edytora zasad grupy. Aby to zrobić:

  1. Uruchom lokalny edytor GPO - gpedit.msc;
  2. Przejdź do sekcji zasad Konfiguracja komputera -> Szablony administracyjne -> System -> Delegowanie poświadczeń (Konfiguracja komputera -> Szablony administracyjne -> System -> Poświadczenia transferu);
  3. Znajdź polisę z nazwą Rozwiązanie korygujące Oracle (Naprawiono usterkę dotyczącą szyfrowania lub Oracle). Włącz zasady (Włączone/ Enabled) i jako parametr z listy rozwijanej wybierz Wrażliwy / Pozostaw lukę;
  4. Pozostaje zaktualizować zasady na komputerze (polecenie gpupdate / force) i spróbuj połączyć się przez RDP z komputerem zdalnym. Po włączeniu zasad Szyfrowanie Oracle Remediacja z wartością Wrażliwy aplikacje terminalowe obsługujące CredSSP mogą nawet łączyć się z serwerami RDS / RDP i komputerami z systemem Windows, które nie mają aktualnych aktualizacji zabezpieczeń.
Zasady szyfrowania Oracle Remediation oferuje 3 dostępne wartości ochrony przed lukami w zabezpieczeniach CredSSP:

  • Siła Zaktualizowano Klienci - najwyższy poziom ochrony, gdy serwer RDP zabrania połączenia z nieaktualnymi klientami. Zazwyczaj zasady te należy uwzględnić po pełnej aktualizacji całej infrastruktury i integracji bieżących aktualizacji zabezpieczeń z obrazami instalacyjnymi systemu Windows dla serwerów i stacji roboczych;
  • Złagodzony - W tym trybie wychodzące zdalne połączenie RDP z serwerami RDP z wrażliwą wersją CredSSP jest blokowane. Jednak inne usługi korzystające z CredSSP działają dobrze;
  • Wrażliwy -najniższy poziom ochrony podczas łączenia się z serwerem RDP z wrażliwą wersją CredSSP jest dozwolony.

Jeśli nie masz lokalnego edytora GPO (na przykład w domowych wydaniach systemu Windows), możesz wprowadzić zmianę umożliwiającą RDP łączenie się z serwerami z niepoprawioną wersją CredSSP bezpośrednio w rejestrze, używając polecenia:
REG ADD HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / v AllowEncryptionOracle / t REG_DWORD / d 2

Możesz zmienić ten parametr w rejestrze natychmiast na wielu komputerach w AD przy użyciu GPO domeny (konsola gpmc.msc) lub za pomocą takiego skryptu PowerShell (listę komputerów w domenie można uzyskać za pomocą polecenia cmdlet Get-ADComputer z modułu RSAT-AD-PowerShell):

Moduł importu ActiveDirectory
$ PSs = (Get-ADComputer -Filter *). DNSHostName
Foreach (komputer $ w komputerach $)
Invoke-Command -ComputerName $ computer -ScriptBlock
REG ADD HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / v AllowEncryptionOracle / t REG_DWORD / d 2

Po pomyślnym połączeniu ze zdalnym serwerem RDP (komputerem) musisz zainstalować na nim najnowsze aktualizacje zabezpieczeń za pośrednictwem usługi Windows Update (sprawdź, czy usługa jest włączona) lub ręcznie. Pobierz i zainstaluj najnowsze zbiorcze aktualizacje systemu Windows, jak pokazano powyżej. Jeśli podczas instalowania aktualizacji MSU pojawia się błąd „Ta aktualizacja nie dotyczy komputera”, sprawdź artykuły na stronie.

W przypadku systemów Windows XP / Windows Server 2003, które nie są już obsługiwane, należy zainstalować aktualizacje dla systemu Windows Embedded POSReady 2009. Na przykład https://support.microsoft.com/en-us/help/4056564

Po zainstalowaniu aktualizacji i ponownym uruchomieniu serwera nie zapomnij wyłączyć zasad na klientach (albo ustaw opcję Wymuś zaktualizowanych klientów), albo zwróć wartość 0 dla klucza rejestru AllowEncryptionOracle. W takim przypadku komputer nie będzie narażony na ryzyko połączenia z niepewnymi hostami za pomocą CredSSP i wykorzystania luki.

REG ADD HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / v AllowEncryptionOracle / t REG_DWORD / d 0 / f

Istnieje inny scenariusz, w którym aktualizacje nie są dostępne na twoim komputerze. Na przykład serwer RDP jest aktualizowany, ale ma zasadę blokującą połączenia RDP z komputerów z wrażliwą wersją CredSSP (Siła Zaktualizowano Klienci) W takim przypadku podczas połączenia RDP pojawi się również błąd „Może to być spowodowane naprawą wyroczni szyfrowania CredSSP”.

Sprawdź najnowszą datę instalacji aktualizacji systemu Windows na komputerze za pomocą modułu PSWindowsUpdate lub za pomocą polecenia WMI w konsoli PowerShell:

gwmi win32_quickfixengineering | sort installon on -desc

Ten przykład pokazuje, że najnowsze aktualizacje zabezpieczeń systemu Windows zostały zainstalowane 17 czerwca 2018 r. Pobierz i zainstaluj nowszy plik .msu z aktualizacją zbiorczą dla swojej edycji systemu Windows (patrz wyżej).