Niepowodzenie uwierzytelniania z serwerów NTLM lub Kerberos innych niż Windows

Ten artykuł zawiera rozwiązanie kilku problemów z błędami uwierzytelniania, w których serwery NTLM i Kerberos nie mogą uwierzytelniać komputerów z systemami Windows 7 i Windows Server 2008 R2. Jest to spowodowane różnicami w sposobie obsługi tokenów powiązania kanału.

Dotyczy systemów: Windows 7 z dodatkiem Service Pack 1 i Windows Server 2012 R2
Oryginalny numer KB: 976918

Symptomy

Systemy Windows 7 i Windows Server 2008 R2 obsługują rozszerzoną ochronę zintegrowanego uwierzytelniania, która domyślnie obejmuje obsługę tokenu powiązania kanału (CBT).

Może wystąpić co najmniej jeden z następujących objawów:

  • Klienci systemu Windows, którzy obsługują powiązanie kanału, nie mogą być uwierzytelnieni przez serwer Kerberos spoza systemu Windows.
  • Błędy uwierzytelniania NTLM z serwerów proxy.
  • Błędy uwierzytelniania NTLM z serwerów NTLM innych niż Windows.
  • Błędy uwierzytelniania NTLM, gdy istnieje różnica czasu między klientem a kontrolerem domeny lub serwerem grupy roboczej.

Przyczyna

Systemy Windows 7 i Windows Server 2008 R2 obsługują rozszerzoną ochronę zintegrowanego uwierzytelniania. Ta funkcja zwiększa ochronę i obsługę poświadczeń podczas uwierzytelniania połączeń sieciowych przy użyciu zintegrowanego uwierzytelniania systemu Windows (IWA).

Ta wartość jest domyślnie włączona. Gdy klient próbuje nawiązać połączenie z serwerem, żądanie uwierzytelniania jest powiązane z używaną główną nazwą usługi . Ponadto gdy uwierzytelnianie odbywa się wewnątrz kanału TLS (Transport Layer Security), może być powiązane z tym kanałem. Protokoły NTLM i Kerberos udostępniają dodatkowe informacje w swoich komunikatach, aby obsługiwać tę funkcję.

Ponadto komputery z systemami Windows 7 i Windows 2008 R2 wyłączają protokół LMv2.

Rozwiązanie

W przypadku błędów, w których serwery NTLM lub Kerberos innych niż Windows kończą się niepowodzeniem podczas odbierania cbt, skontaktuj się z dostawcą, aby uzyskać wersję, która obsługuje cbt poprawnie.

W przypadku awarii, w których serwery NTLM lub serwery proxy innych niż Windows wymagają protokołu LMv2, skontaktuj się z dostawcą, aby uzyskać wersję obsługą protokołu NTLMv2.

Obejście problemu

Ważna

W tej sekcji, metodzie lub w tym zadaniu podano informacje dotyczące modyfikowania rejestru. Niepoprawne zmodyfikowanie rejestru może jednak być przyczyną poważnych problemów. Dlatego należy uważnie wykonywać podane czynności. Dla większego bezpieczeństwa przed zmodyfikowaniem rejestru należy wykonać jego kopię zapasową. Dzięki temu będzie można przywrócić rejestr w przypadku wystąpienia problemu. Aby uzyskać więcej informacji na temat tworzenia kopii zapasowej i przywracania rejestru, zobacz Jak utworzyć kopię zapasową i przywrócić rejestr w systemie Windows .

Aby kontrolować zachowanie rozszerzonej ochrony, utwórz następujący podklucz rejestru:

  • Nazwa klucza: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\LSA
  • Nazwa wartości: SuppressExtendedProtection
  • Typ: DWORD

W przypadku klientów z systemem Windows, którzy obsługują powiązanie kanału, które nie mogą być uwierzytelniane przez serwery Kerberos z systemem innym niż Windows, które nie obsługują poprawnie cbt:

  1. Ustaw wartość wpisu rejestru na 0x01. Spowoduje to skonfigurowanie protokołu Kerberos, aby nie emitowały tokenów CBT dla nieprzypisanych aplikacji.
  2. Jeśli to nie rozwiąże problemu, ustaw wartość wpisu rejestru na 0x03. Spowoduje to skonfigurowanie protokołu Kerberos, aby nigdy nie emitowały tokenów CBT.

Uwaga

Istnieje znany problem z językiem Sun Java, który został rozwiązany w celu uwzględnienia opcji, że akceptujący może zignorować wszelkie powiązania kanału dostarczone przez inicjatora, zwracając powodzenie, nawet jeśli inicjator przekazał powiązania kanału zgodnie z RFC 4121. Aby uzyskać więcej informacji, zobacz ignoruj powiązanie kanału przychodzącego, jeśli element akceptujący go nie ustawia.

Zalecamy zainstalowanie następującej aktualizacji z witryny Sun Java i ponowne włączenie rozszerzonej ochrony: Zmiany w wersji 1.6.0_19 (6u19).

W przypadku klientów systemu Windows, którzy obsługują powiązanie kanału, których nie można uwierzytelnić przez serwery NTLM z systemem innym niż Windows, które nie obsługują poprawnie cbt, ustaw wartość wpisu rejestru na 0x01. Spowoduje to skonfigurowanie NTLM, aby nie emitować tokenów CBT dla nieprzypisanych aplikacji.

W przypadku serwerów NTLM innych niż Windows lub serwerów proxy, które wymagają protokołu LMv2, ustaw wartość wpisu rejestru na 0x01. Spowoduje to skonfigurowanie protokołu NTLM w celu zapewnienia odpowiedzi LMv2.

W scenariuszu, w którym różnica czasu jest zbyt duża:

  1. Napraw zegar klienta, aby odzwierciedlić czas na kontrolerze domeny lub serwerze grupy roboczej.
  2. Jeśli to nie rozwiąże problemu, ustaw wartość wpisu rejestru na 0x01. Spowoduje to skonfigurowanie NTLM w celu zapewnienia odpowiedzi LMv2, które nie podlegają niesymetryczności czasu.

Co to jest CBT (token powiązania kanału)?

Token powiązania kanału (CBT) jest częścią rozszerzonej ochrony na potrzeby uwierzytelniania. CBT to mechanizm powiązania zewnętrznego bezpiecznego kanału protokołu TLS z uwierzytelnianiem kanału wewnętrznego, takim jak Kerberos lub NTLM.

CBT to właściwość zewnętrznego bezpiecznego kanału używanego do powiązania uwierzytelniania z kanałem.

Rozszerzona ochrona jest realizowana przez klienta komunikującego nazwę SPN i CBT z serwerem w sposób odporny na manipulacje. Serwer weryfikuje informacje o rozszerzonej ochronie zgodnie ze swoimi zasadami i odrzuca próby uwierzytelniania, dla których nie uważa się za zamierzony cel. W ten sposób oba kanały stają się ze sobą powiązane kryptograficznie.

Rozszerzona ochrona jest teraz obsługiwana w systemach Windows XP, Windows Vista, Windows Server 2003 i Windows Server 2008.

Zastrzeżenie

Artykuły dotyczące szybkiego publikowania zawierają informacje bezpośrednio z organizacji pomocy technicznej firmy Microsoft. Informacje zawarte w tym miejscu są tworzone w odpowiedzi na pojawiające się lub unikatowe tematy lub mają uzupełniać inne informacje baza wiedzy.

Firma Microsoft i/lub jej dostawcy nie składają żadnych oświadczeń ani gwarancji dotyczących przydatności, niezawodności lub dokładności informacji zawartych w dokumentach i powiązanych grafikach opublikowanych na tej stronie internetowej ("materiały") w dowolnym celu. Materiały mogą zawierać nieścisłości techniczne lub błędy typograficzne i mogą zostać zmienione w dowolnym momencie bez powiadomienia.

W maksymalnym zakresie dozwolonym przez obowiązujące prawo Firma Microsoft i/lub jej dostawcy zrzekają się i wykluczają wszelkie oświadczenia, gwarancje i warunki, które są wyraźne, dorozumiane lub ustawowe, w tym między innymi oświadczenia, gwarancje lub warunki tytułu, braku naruszenia, zadowalającego warunku lub jakości, przydatności handlowej i przydatności do określonego celu, w odniesieniu do materiałów.