Wystąpił błąd uwierzytelnienia. Określona funkcja nie jest obsługiwana.

Po zainstalowaniu aktualizacji KB4103718 na moim komputerze z systemem Windows 7 nie mogę połączyć się zdalnie z serwerem z systemem Windows Server 2012 R2 za pośrednictwem pulpitu zdalnego RDP. Po określeniu adresu serwera RDP w oknie klienta mstsc.exe i kliknięciu „Połącz” pojawia się błąd:

Podłączanie pulpitu zdalnego

Uwierzytelnianie nie powiodło się.

Określona funkcja nie jest obsługiwana..
Komputer zdalny: nazwa_komputera

Po usunięciu aktualizacji KB4103718 i ponownym uruchomieniu komputera połączenie RDP zaczęło działać poprawnie. Jeśli dobrze rozumiem, jest to tylko tymczasowe obejście, w przyszłym miesiącu pojawi się nowy pakiet aktualizacji zbiorczej i błąd powróci? Czy możesz coś doradzić??

Odpowiedź

Masz całkowitą rację, że nie ma sensu rozwiązywać problemu przez usunięcie aktualizacji systemu Windows, ponieważ w ten sposób narażasz komputer na ryzyko wykorzystania różnych luk, które zamykają łatki w tej aktualizacji.

Nie jesteś sam w swoim problemie. Ten błąd może pojawić się w dowolnym systemie operacyjnym Windows lub Windows Server (nie tylko Windows 7). Dla użytkowników angielskiej wersji systemu Windows 10, gdy próbują połączyć się z serwerem RDP / RDS, podobny błąd wygląda następująco:

Wystąpił błąd uwierzytelnienia.

Żądana funkcja nie jest obsługiwana.

Komputer zdalny: nazwa_komputera

Błąd RDP „Wystąpił błąd uwierzytelnienia” podczas próby uruchomienia aplikacji RemoteApp.

Dlaczego tak się dzieje? Faktem jest, że Twój komputer ma najnowsze aktualizacje zabezpieczeń (wydane po maju 2018 r.), Które naprawiają poważną lukę w protokole CredSSP (dostawca wsparcia poświadczeń bezpieczeństwa) używanym do uwierzytelniania na serwerach RDP (CVE-2018-0886) (polecam zobacz artykuł Błąd połączenia RDP: rozwiązanie problemu z szyfrowaniem CredSSP). Jednocześnie te aktualizacje nie są instalowane po stronie serwera RDP / RDS, z którą łączysz się z komputera, a dostęp NDP (Uwierzytelnianie na poziomie sieci / Uwierzytelnianie na poziomie sieci) jest włączony. Protokół NLA wykorzystuje mechanizmy CredSSP do wstępnego uwierzytelnienia użytkowników za pośrednictwem TLS / SSL lub Kerberos. Twój komputer, ze względu na nowe ustawienia zabezpieczeń, które zainstalowała aktualizacja, po prostu blokuje połączenie z komputerem zdalnym, który korzysta z podatnej wersji CredSSP.

Co można zrobić, aby naprawić ten błąd i połączyć się z serwerem RDP?

  1. Najbardziej właściwy sposobem rozwiązania tego problemu jest zainstalowanie najnowszych zbiorczych aktualizacji zabezpieczeń systemu Windows na komputerze / serwerze, z którym łączysz się za pośrednictwem protokołu RDP;
  2. Metoda tymczasowa 1. Możesz wyłączyć uwierzytelnianie na poziomie sieci (NLA) po stronie serwera RDP (opisane poniżej);
  3. Metoda tymczasowa 2. Możesz zezwolić na połączenia po stronie klienta z serwerami RDP za pomocą niebezpiecznej wersji CredSSP, jak opisano w artykule pod linkiem powyżej. Aby to zrobić, zmień klucz rejestru AllowEncryptionOracle (zespół REG ADD
    HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / v AllowEncryptionOracle / t REG_DWORD / d 2
    ) lub zmień lokalne ustawienia zasad Rozwiązanie korygujące Oracle / Napraw usterkę wyroczni szyfrującej), ustawiając jej wartość = Podatna na zagrożenia / Pozostaw lukę). Jest to jedyny sposób uzyskania dostępu do zdalnego serwera za pośrednictwem protokołu RDP, jeśli masz możliwość zalogowania się lokalnie na serwerze (za pośrednictwem konsoli ILO, maszyny wirtualnej, interfejsu chmurowego itp.). W tym trybie możesz połączyć się ze zdalnym serwerem i zainstalować aktualizacje zabezpieczeń, więc przejdź do zalecanej 1 metody. Po zaktualizowaniu serwera nie zapomnij wyłączyć zasady lub zwrócić wartość klucza AllowEncryptionOracle = 0: REG ADD HKLM \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters / v AllowEncryptionOracle / t REG_DWORD / d 0

Wyłączanie NLA dla RDP w systemie Windows

Jeśli po stronie RDP serwera, z którym się łączysz, NLA jest włączony, oznacza to, że CredSPP służy do wstępnego uwierzytelnienia RDP użytkownika. Wyłącz uwierzytelnianie na poziomie sieci we właściwościach systemu na karcie Zdalny dostęp (Zdalne), odznaczenie „Zezwalaj na połączenia tylko z komputerów z uruchomionym Pulpitem zdalnym z uwierzytelnianiem na poziomie sieci / Zezwalaj na połączenie tylko z komputerów z Pulpitem zdalnym z uwierzytelnianiem na poziomie sieci (zalecane) ”(Windows 10 / Windows 8).

W systemie Windows 7 ta opcja jest nazywana inaczej. Tab Zdalny dostęp musisz wybrać opcję „Zezwalaj na połączenia z komputerów z dowolną wersją Pulpitu zdalnego (niebezpieczne) / Zezwalaj na połączenia z komputerów z dowolną wersją Pulpitu zdalnego (mniej bezpieczne) ”.

Możesz także wyłączyć uwierzytelnianie na poziomie sieci (NLA) za pomocą lokalnego edytora zasad grupy - gpedit.msc (w Windows 10 Home edytor zasad gpedit.msc można uruchomić w ten sposób) lub za pomocą konsoli zarządzania zasadami domeny GPMC.msc. Aby to zrobić, przejdź do Konfiguracja komputera -> Szablony administracyjne -> Składniki Windows -> Usługi pulpitu zdalnego - Host sesji usług pulpitu zdalnego -> Bezpieczeństwo (Konfiguracja komputera -> Szablony administracyjne -> Składniki systemu Windows -> Usługi pulpitu zdalnego - Host sesji usług pulpitu zdalnego -> Bezpieczeństwo), rozłączyć polityka Wymagaj uwierzytelnienia użytkownika dla połączeń zdalnych za pomocą uwierzytelnienia na poziomie sieci (Wymagaj uwierzytelnienia użytkownika dla połączeń zdalnych za pomocą uwierzytelniania na poziomie sieci).

Potrzebny również w polityce ”Wymagaj zastosowania specjalnego poziomu bezpieczeństwa dla zdalnych połączeń RDP„(Wymagaj użycia określonej warstwy zabezpieczeń dla połączeń zdalnych (RDP)) wybierz poziom zabezpieczeń (warstwa zabezpieczeń) - Rdp.

Aby zastosować nowe ustawienia RDP, musisz zaktualizować zasady (gpupdate / force) lub ponownie uruchomić komputer. Następnie musisz pomyślnie połączyć się ze zdalnym pulpitem serwera.