Może to być spowodowane naprawą szyfrowania CredSSP lub naprawą Oracle - RDP na hoście Windows 10 pro

47

Błąd

Po aktualizacjach zabezpieczeń systemu Windows w maju 2018 r., Podczas próby RDP na stacji roboczej z systemem Windows 10 Pro po pomyślnym wprowadzeniu poświadczeń użytkownika wyświetlany jest następujący komunikat o błędzie:

Wystąpił błąd uwierzytelnienia. Żądana funkcja nie jest obsługiwana.

Może to być spowodowane naprawą lub szyfrowaniem CredSSP

Zrzut ekranu

wprowadź opis zdjęcia tutaj

Debugowanie

  • Potwierdziliśmy, że dane logowania użytkownika są prawidłowe.

  • Uruchom ponownie stację roboczą.

  • Potwierdzono, że usługi katalogu wstępnego działają.

  • Izolowane stacje robocze, które jeszcze nie zastosowały majowej poprawki bezpieczeństwa, nie zostaną wprowadzone.

W międzyczasie może zarządzać hostami perm, obawiając się dostępu do serwera w chmurze. Brak wystąpień na serwerze 2016.

Dziękuję Ci

scott_lotus
źródło

Odpowiedzi:

20

Opierając się w całości na odpowiedzi Grahama Cuthberta, utworzyłem plik tekstowy w Notatniku z następującymi wierszami i po prostu dwukrotnie go kliknąłem (co powinno dodać do rejestru systemu Windows, jakie parametry są w pliku).

Pamiętaj, że pierwszy wiersz różni się w zależności od używanej wersji systemu Windows, więc dobrym pomysłem może być otwarcie regediti wyeksportowanie dowolnej reguły, aby zobaczyć, co znajduje się w pierwszym wierszu i użyć tej samej wersji w pliku.

Ponadto nie martwię się o obniżenie bezpieczeństwa w tej konkretnej sytuacji, ponieważ łączę się z zaszyfrowaną siecią VPN, a system Windows hosta nie ma dostępu do Internetu, a zatem nie ma najnowszej aktualizacji.

Plik rd_patch.reg:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP]

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002

Dla tych, którzy chcieliby coś łatwo skopiować / wkleić w wierszu polecenia z podwyższonym poziomem uprawnień:

reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters /v AllowEncryptionOracle /t REG_DWORD /d 2 /f
Rodriguez
źródło
1
posiadanie domowej wersji systemu Windows 10, najszybszego tymczasowego sposobu na uruchomienie i uruchomienie.
ahmad molaie
1
Ten plik REG powinien zostać zaimportowany na kliencie lub serwerze?
nivs1978
@ nivs1978, ten plik ma być używany po stronie klienta, przy założeniu, że klient ma nowsze aktualizacje, a serwer nie. Dzięki temu najbardziej zaktualizowany klient będzie mógł połączyć się z serwerem, który nie był ostatnio aktualizowany.
Rodriguez
Dzięki! Korzystam z Win 10 Home. Odinstalowałem aktualizację wygrywającą, która spowodowała ten problem 10 razy, a MS ciągle ją odkłada, mimo wszystko, co w mojej mocy, aby temu zapobiec. W tej wersji systemu Windows nie ma również Edytora zasad (lub nie jest on przestrzegany). Szukałem tych kluczy reg, według dokumentów, które przeczytałem i nie istniały, więc pomyślałem, że nie będą działać. Ale i tak próbowałem uruchomić plik reg, naprawiłem ten problem jak urok!
BuvinJ
16

Protokół Credential Security Support Provider (CredSSP) to dostawca uwierzytelniania, który przetwarza żądania uwierzytelnienia dla innych aplikacji.

Luka w zabezpieczeniach umożliwiająca zdalne wykonanie kodu występuje w niepakowanych wersjach CredSSP. Osoba atakująca, której uda się wykorzystać tę lukę, może przekazać poświadczenia użytkownika w celu wykonania kodu w systemie docelowym. Każda aplikacja zależna od CredSSP do uwierzytelnienia może być podatna na tego typu atak.

[...]

13 marca 2018 r

Początkowa wersja 13 marca 2018 r. Aktualizuje protokół uwierzytelniania CredSSP i klientów pulpitu zdalnego dla wszystkich platform, których dotyczy problem.

Ograniczenie polega na zainstalowaniu aktualizacji we wszystkich kwalifikujących się systemach operacyjnych klienta i serwera, a następnie za pomocą dołączonych ustawień zasad grupy lub odpowiedników opartych na rejestrze do zarządzania opcjami ustawień na komputerach klienckich i serwerowych. Zalecamy, aby administratorzy zastosowali tę zasadę i ustawili ją na „Wymuś zaktualizowanych klientów” lub „Zmienione” na komputerach klienckich i serwerowych tak szybko, jak to możliwe. Te zmiany będą wymagać ponownego uruchomienia systemów, których dotyczy problem.

Zwróć szczególną uwagę na zasady grupy lub pary ustawień rejestru, które powodują „Zablokowane” interakcje między klientami i serwerami w tabeli zgodności w dalszej części tego artykułu.

17 kwietnia 2018 r

Aktualizacja aktualizacji klienta zdalnego pulpitu (RDP) w KB 4093120 poprawi komunikat o błędzie wyświetlany, gdy zaktualizowany klient nie może połączyć się z serwerem, który nie został zaktualizowany.

8 maja 2018 r

Aktualizacja zmieniająca ustawienie domyślne z Podatnej na Zagrożoną.

Źródło: https://support.microsoft.com/en-us/help/4093492/credssp-updates-for-cve-2018-0886-march-13-2018 [1]

Zobacz także ten wątek reddit: https://www.reddit.com/r/sysadmin/comments/8i4coq/kb4103727_breaks_remote_desktop_connections_over/ [2]

Obejście Microsoft:

  • Zaktualizuj serwer i klienta. (wymaga ponownego uruchomienia, zalecane)

Niezalecane obejścia, jeśli serwer jest publicznie dostępny lub jeśli NIE masz ścisłej kontroli ruchu w sieci wewnętrznej, ale czasami ponowne uruchomienie serwera RDP w godzinach pracy jest nieuniknione.

  • Ustaw zasady łatania CredSSP przez GPO lub Rejestr. (wymaga restartu lub gpupdate / force)
  • Odinstaluj KB4103727 (nie wymaga ponownego uruchomienia)
  • Myślę, że wyłączenie NLA (Network Layer Authentication) może również działać. (nie wymaga ponownego uruchomienia)

Pamiętaj, aby zrozumieć ryzyko podczas ich używania i jak najszybciej załatać swoje systemy.

[1] Wszystkie opisy i modyfikacje rejestru GPO CredSSP są opisane tutaj.

[2] przykłady ustawień obiektu zasad grupy i rejestru na wypadek awarii witryny Microsoft.

Michał Sokołowski
źródło
Tak mi się wydaje, tak. :) O ile mogę stwierdzić, wpływ na moje środowisko ma system Windows 7, Windows 8.1, Windows 10 i Server 2016. Podsumowując, musimy załatać każdą obsługiwaną wersję systemu Windows.
Michał Sokołowski
3
Potwierdzenie wyłączenia NLA na serwerze docelowym działa jako tymczasowe obejście.
Ketura,
ktoś ma pod ręką jakiś skrypt PS (Powershell), jak to sprawdzić? Na serwerze i kliencie?
Tilo
Czy ten błąd, ponieważ RDP na serwerze jest aktualizowany, a klient nie jest, czy to klienci są aktualizowani, a serwer nie?
nivs1978
@ nivs1978, AFAIR, oba scenariusze dają te same objawy.
Michał Sokołowski
7
  1. Przejdź do „Edytor lokalnych zasad grupy> Szablony administracyjne> System> Delegowanie poświadczeń> Korekta naprawy szyfrowania Oracle”, edytuj i włącz go, a następnie ustaw „Poziom ochrony” na „Złagodzony”.
  2. Ustaw klucz rejestru (od 00000001 do 00000002) [HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Policies \ System \ CredSSP \ Parameters] „AllowEncryptionOracle” = dword:
  3. W razie potrzeby uruchom ponownie system.
Mohammad Lotfi
źródło
Skorzystałem z pierwszego kroku, z wyjątkiem włączenia go i ustawienia na Wrażliwy. Potem byłem w stanie RDP mój W10 na maszynie W7 w sieci
seizethecarp
Zrobiłem, jak wspomniałeś i pracował! Klient W10 i serwer WS2012 R2. Dzięki!
Phi
4

Badania

Odnosząc się do tego artykułu:

https://blogs.technet.microsoft.com/askpfeplat/2018/05/07/credssp-rdp-and-raven/

Wstępna aktualizacja z maja 2018 r., Która może mieć wpływ na możliwość nawiązywania połączeń sesji RDP hosta zdalnego w organizacji. Ten problem może wystąpić, jeśli lokalny klient i zdalny host mają w rejestrze różne ustawienia „Rozwiązanie problemu korygującego Oracle”, które określają sposób budowania sesji RDP za pomocą CredSSP. Opcje ustawień „Rozwiązanie problemu korygowania Oracle” zostały zdefiniowane poniżej, a jeśli serwer lub klient mają inne oczekiwania co do ustanowienia bezpiecznej sesji RDP, połączenie może zostać zablokowane.

Druga aktualizacja, której premiera planowana jest na 8 maja 2018 r., Zmieni domyślne zachowanie z „Podatnej” na „Złagodzoną”.

Jeśli zauważysz, że zarówno klient, jak i serwer są załatane, ale domyślne ustawienie zasad pozostawia wartość „Podatna na atak”, połączenie RDP jest „podatne na atak”. Po zmianie ustawienia domyślnego na „Ograniczone” połączenie staje się domyślnie „Bezpieczne”.

Rozkład

Na podstawie tych informacji staram się upewnić, że wszyscy klienci są w pełni załatani, oczekiwałbym wtedy, że problem zostanie złagodzony.

scott_lotus
źródło
4

Wartości rejestru nie było na moim komputerze z systemem Windows 10. Musiałem przejść do następujących lokalnych zasad grupy i zastosować zmianę na moim kliencie:

Konfiguracja komputera -> Szablony administracyjne -> System -> Delegacja poświadczeń - Szyfrowanie Oracle

Włącz i ustaw wartość na vulnerable.

Ion Cojocaru
źródło
To działało dla mnie na W10 łączącym się z maszyną W7 w mojej sieci
seizethecarp
3

Zaleca się aktualizację klienta zamiast tego rodzaju skryptów, aby po prostu ominąć błąd, ale na własne ryzyko możesz to zrobić na kliencie i nie trzeba ponownie uruchamiać komputera klienckiego. Nie trzeba też nic zmieniać na serwerze.

  1. Otwórz Run, wpisz gpedit.msci kliknij OK.
  2. Poszerzyć Administrative Templates.
  3. Poszerzyć System.
  4. Otwarte Credentials Delegation.
  5. W prawym panelu kliknij dwukrotnie Encryption Oracle Remediation.
  6. Wybierz Enable.
  7. Wybierz Vulnerablez Protection Levellisty.

To ustawienie zasad dotyczy aplikacji korzystających ze składnika CredSSP (na przykład: Podłączanie pulpitu zdalnego).

Niektóre wersje protokołu CredSSP są podatne na atak wyroczni szyfrowania na klienta. Ta zasada kontroluje zgodność z wrażliwymi klientami i serwerami. Ta zasada pozwala ustawić poziom ochrony wymagany w przypadku luki w zabezpieczeniach związanej z szyfrowaniem.

Jeśli włączysz to ustawienie zasad, obsługa wersji CredSSP zostanie wybrana na podstawie następujących opcji:

Wymuś zaktualizowanie klientów: aplikacje klienckie korzystające z CredSSP nie będą mogły wrócić do niezabezpieczonych wersji, a usługi korzystające z CredSSP nie zaakceptują niezakończonych klientów. Uwaga: tego ustawienia nie należy wdrażać, dopóki wszystkie zdalne hosty nie będą obsługiwać najnowszej wersji.

Ograniczone: aplikacje klienckie korzystające z CredSSP nie będą mogły wrócić do niezabezpieczonej wersji, ale usługi korzystające z CredSSP zaakceptują niezałatanych klientów. Zobacz poniższy link, aby uzyskać ważne informacje na temat ryzyka, jakie stwarzają pozostali niezałapani klienci.

Podatne na zagrożenia: aplikacje klienckie korzystające z CredSSP narażą zdalne serwery na ataki, wspierając powrót do niezabezpieczonych wersji, a usługi korzystające z CredSSP zaakceptują niezałatanych klientów.

  1. Kliknij Zastosuj.
  2. Kliknij OK.
  3. Gotowy.

wprowadź opis zdjęcia tutaj Odniesienie

AVB
źródło
Zaleca się, aby ludzie kliknęli opcję „Podatna na ataki”. Dobrze byłoby wyjaśnić, jakie będą tego konsekwencje, zamiast po prostu podać (dobry) skrypt, aby to zrobić.
Law29
@ Law29 Masz rację, zaktualizowano!
AVB
0

Ten facet ma rozwiązanie twojego dokładnego problemu:

Zasadniczo - musisz zmienić ustawienia GPO i wymusić aktualizację. Te zmiany będą jednak wymagać ponownego uruchomienia komputera.

  1. Skopiuj te dwa pliki ze świeżo zaktualizowanej maszyny;

    • C:\Windows\PolicyDefinitions\CredSsp.admx (Dtd Did Feb 2018)
    • C:\Windows\PolicyDefinitions\en-US\CredSsp.adml (Dtd, luty 2018 r. - Twój folder lokalny może być inny, np. En-GB)
  2. W DC przejdź do:

    • C:\Windows\SYSVOL\sysvol\<your domain>\Policies\PolicyDefinitions
    • Zmień nazwę bieżącego CredSsp.admxnaCredSsp.admx.old
    • Skopiuj nowy CredSsp.admxdo tego folderu.
  3. Na tym samym DC przejdź do:

    • C:\Windows\SYSVOL\sysvol\<your domain>\Policies\PolicyDefinitions\en-US (lub twój lokalny język)
    • Zmień nazwę bieżącego CredSsp.admlnaCredSsp.adml.old
    • Skopiuj nowy CredSsp.admlplik do tego folderu.
  4. Spróbuj ponownie swoich zasad grupy.

https://www.petenetlive.com/KB/Article/0001433

Justin
źródło
0

Jak powiedzieli inni, dzieje się tak z powodu marcowej łaty wydanej przez Microsoft. Wydali łatę majową 8 maja, która faktycznie egzekwuje łatkę marcową. Jeśli więc masz stację roboczą, która otrzymała łatkę z maja, i próbujesz połączyć się z serwerem, który nie otrzymał łaty z marca, na ekranie zrzut ekranu pojawi się komunikat o błędzie.

Rozwiązanie Naprawdę chcesz załatać serwery, aby miały łatkę z marca. W przeciwnym razie możesz w międzyczasie zastosować zasady grupy lub edytować rejestr.

Możesz przeczytać szczegółowe instrukcje w tym artykule: Jak naprawić błąd błędu uwierzytelnienia Nieobsługiwany błąd CredSSP RDP

Możesz także znaleźć kopie plików ADMX i ADML na wypadek, gdybyś musiał je znaleźć.

Robert Russell
źródło
0

Mam ten sam problem. Klienci znajdują się na Win7, a serwery RDS to 2012R2, klienci otrzymali „comiesięczną aktualizację zbiorczą aktualizacji jakości zabezpieczeń 2018-05 (KB4019264)”. Po usunięciu to wszystko dobrze.

Root Loop
źródło
0

Odkryłem, że niektóre nasze maszyny przestały wykonywać aktualizację Windows (uruchamiamy lokalny WSUS w całej naszej domenie) w styczniu. Domyślam się, że poprzednia łatka spowodowała problem (maszyna narzekałaby na nieaktualność, ale nie zainstalowałaby łatek Jan, o których mówiła, że ​​jest potrzebna). Z powodu aktualizacji 1803 nie mogliśmy po prostu użyć Windows Update bezpośrednio od MS, aby to naprawić (z jakiegoś powodu upłynąłby limit czasu i aktualizacje nie uruchomiłyby się).

Mogę potwierdzić, że jeśli łatasz maszynę do wersji 1803, zawiera ona poprawkę. Jeśli potrzebujesz szybkiej ścieżki, aby to naprawić, skorzystałem z Windows Update Assistant (górny link z napisem Update), aby wykonać aktualizację bezpośrednio (z jakiegoś powodu wydaje się bardziej stabilny niż Windows Update).

Machavity
źródło
Ten link oferuje mi pobranie systemu Windows 10 ISO. Czy to właśnie chciałeś połączyć?
Michael Hampton
@MichaelHampton Dolny link służy do narzędzia ISO. Link Aktualizuj teraz jest przeznaczony dla Asystenta aktualizacji
Machavity,
0

Usunęliśmy tę najnowszą aktualizację zabezpieczeń KB410731 i byliśmy w stanie połączyć się z komputerami z systemem Windows 10 w kompilacji 1709 i wcześniejszych. W przypadku komputerów PC możemy zaktualizować do wersji 1803, co rozwiązało problem bez odinstalowywania KB4103731.

Gabriel C.
źródło
0

Po prostu spróbuj wyłączyć Network Level Authenticationz pulpitu zdalnego. Czy możesz sprawdzić następujący obraz:

wprowadź opis zdjęcia tutaj

Mike Darwish
źródło
0

Otwórz PowerShell jako administrator i uruchom następującą komendę:

REG ADD HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters\ /v AllowEncryptionOracle /t REG_DWORD /d 2

Spróbuj teraz połączyć się z serwerem. To będzie działać.

Mukesh Salaria
źródło
0

Znalazłem odpowiedź tutaj , więc nie mogę twierdzić, że jest to moja własność, ale dodanie następującego klucza do mojego rejestru i ponowne uruchomienie naprawiło go.

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System\CredSSP\Parameters]
"AllowEncryptionOracle"=dword:00000002
Graham Cuthbert
źródło
6
Oznacza to, że komunikacja ze wszystkimi serwerami, które nie wymuszają korekty odszyfrowywania wyroczni, może zostać obniżona i może zostać odszyfrowana. Więc narażasz się na ryzyko. Obecnie nawet serwery z uaktualnionym credSSP domyślnie nie odrzucają obniżonych klientów, więc oznaczałoby to, że praktycznie wszystkie sesje pulpitu zdalnego są zagrożone, nawet jeśli klient jest w pełni aktualny w tej kwestii!
user188737
1
Ta zmiana rejestru NIE jest zalecana.
spuder