Jak włączyć uwierzytelnianie NTLM 2

W tym artykule opisano sposób włączania uwierzytelniania NTLM 2.

Dotyczy: Windows 10 — wszystkie wersje
Oryginalny numer KB: 239869

Podsumowanie

W przeszłości system Windows NT obsługuje dwa warianty uwierzytelniania wyzwania/odpowiedzi dla logowania do sieci:

  • Wyzwanie/odpowiedź w menedżerze LAN (LM)
  • Wyzwanie/odpowiedź systemu Windows NT (znane również jako wyzwanie/odpowiedź NTLM w wersji 1) Wariant LM umożliwia współdziałanie z zainstalowaną bazą klientów i serwerów systemu Windows 95, Windows 98 i Windows 98 Second Edition. Protokół NTLM zapewnia lepsze zabezpieczenia połączeń między klientami i serwerami systemu Windows NT. System Windows NT obsługuje również mechanizm zabezpieczeń sesji NTLM, który zapewnia poufność komunikatów (szyfrowanie) i integralność (podpisywanie).

Ostatnie ulepszenia algorytmów sprzętu komputerowego i oprogramowania sprawiły, że te protokoły są narażone na szeroko opublikowane ataki na uzyskiwanie haseł użytkowników. W ramach bieżących wysiłków na rzecz dostarczania bezpieczniejszych produktów swoim klientom firma Microsoft opracowała ulepszenie o nazwie NTLM w wersji 2, które znacznie usprawnia zarówno mechanizmy uwierzytelniania, jak i zabezpieczeń sesji. Protokół NTLM 2 jest dostępny dla systemu Windows NT 4.0 od czasu wydania dodatku Service Pack 4 (SP4) i jest obsługiwany natywnie w systemie Windows 2000. Obsługę protokołu NTLM 2 można dodać do systemu Windows 98, instalując rozszerzenia klienta usługi Active Directory.

Po uaktualnieniu wszystkich komputerów opartych na systemie Windows 95, Windows 98, Windows 98 Second Edition i Windows NT 4.0 można znacznie zwiększyć bezpieczeństwo organizacji, konfigurując klientów, serwery i kontrolery domeny do używania tylko NTLM 2 (nie LM lub NTLM).

Więcej informacji

Podczas instalowania rozszerzeń klienta usługi Active Directory na komputerze z systemem Windows 98 pliki systemowe zapewniające obsługę protokołu NTLM 2 również są instalowane automatycznie. Te pliki są Secur32.dll, Msnp32.dll, Vredir.vxd i Vnetsup.vxd. Jeśli usuniesz rozszerzenie klienta usługi Active Directory, pliki systemowe NTLM 2 nie zostaną usunięte, ponieważ te pliki zapewniają zarówno rozszerzone funkcje zabezpieczeń, jak i poprawki związane z zabezpieczeniami.

Domyślnie szyfrowanie zabezpieczeń sesji NTLM 2 jest ograniczone do maksymalnej długości klucza wynoszącej 56 bitów. Opcjonalna obsługa kluczy 128-bitowych jest instalowana automatycznie, jeśli system spełnia wymagania Stany Zjednoczone przepisów dotyczących eksportu. Aby włączyć 128-bitową obsługę zabezpieczeń sesji NTLM 2, należy zainstalować program Microsoft Internet Explorer 4.x lub 5 i uaktualnić do 128-bitowej obsługi bezpiecznego połączenia przed zainstalowaniem rozszerzenia klienta usługi Active Directory.

Aby zweryfikować wersję instalacji:

  1. Użyj Eksploratora Windows, aby zlokalizować plik Secur32.dll w folderze %SystemRoot%\System.
  2. Kliknij prawym przyciskiem myszy plik, a następnie kliknij pozycję Właściwości.
  3. Kliknij kartę Wersja . Opis wersji 56-bitowej to "Microsoft Win32 Security Services (Export Version)." Opis 128-bitowej wersji to "Microsoft Win32 Security Services (tylko STANY ZJEDNOCZONE i Kanada)."

Przed włączeniem uwierzytelniania NTLM 2 dla klientów systemu Windows 98 sprawdź, czy wszystkie kontrolery domeny dla użytkowników logowanych do sieci z tych klientów korzystają z dodatku Service Pack 4 lub nowszego systemu Windows NT 4.0. (Kontrolery domeny mogą uruchamiać system Windows NT 4.0 z dodatkiem Service Pack 6, jeśli klient i serwer są przyłączone do różnych domen). Do obsługi protokołu NTLM 2 nie jest wymagana konfiguracja kontrolera domeny. Należy skonfigurować tylko kontrolery domeny, aby wyłączyć obsługę uwierzytelniania NTLM 1 lub LM.

Włączanie protokołu NTLM 2 dla klientów z systemem Windows 95, Windows 98 lub Windows 98 Second Edition

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 dotyczących wykonywania kopii zapasowej i przywracania rejestru, kliknij następujący numer artykułu w celu wyświetlenia tego artykułu z bazy wiedzy Microsoft Knowledge Base:
322756 Jak wykonać kopię zapasową rejestru i przywrócić go w systemie Windows

Aby włączyć klienta systemu Windows 95, Windows 98 lub Windows 98 Second Edition na potrzeby uwierzytelniania NTLM 2, zainstaluj klienta usług katalogowych. Aby aktywować protokół NTLM 2 na kliencie, wykonaj następujące kroki:

  1. Uruchom Redaktor rejestru (Regedit.exe).

  2. Znajdź i kliknij następujący klucz w rejestrze: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control

  3. Utwórz klucz rejestru LSA w kluczu rejestru wymienionym powyżej.

  4. W menu Edycja kliknij polecenie Dodaj wartość, a następnie dodaj następującą wartość rejestru:
    Nazwa wartości: LMCompatibility
    Typ danych: REG_DWORD
    Wartość: 3
    Prawidłowy zakres: 0,3
    Opis: Ten parametr określa tryb uwierzytelniania i zabezpieczeń sesji, które mają być używane do logowania do sieci. Nie ma to wpływu na logowanie interakcyjne.

    • Poziom 0 — wysyłanie odpowiedzi LM i NTLM; nigdy nie używaj zabezpieczeń sesji NTLM 2. Klienci będą używać uwierzytelniania LM i NTLM i nigdy nie będą używać zabezpieczeń sesji NTLM 2; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.

    • Poziom 3 — wyślij tylko odpowiedź NTLM 2. Klienci będą używać uwierzytelniania NTLM 2 i używać zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.

    Uwaga

    Aby włączyć protokół NTLM 2 dla klientów z systemem Windows 95, zainstaluj klienta rozproszonego systemu plików (DFS), aktualizację WinSock 2.0 i program Microsoft DUN 1.3 dla systemu Windows 2000.

  5. Zamknij Edytor rejestru.

Uwaga

W systemach Windows NT 4.0 i Windows 2000 klucz rejestru to LMCompatibilityLevel, a w przypadku komputerów z systemami Windows 95 i Windows 98 kluczem rejestru jest LMCompatibility.

Pełny zakres wartości wartości LMCompatibilityLevel obsługiwanych przez system Windows NT 4.0 i Windows 2000 obejmuje:

  • Poziom 0 — wysyłanie odpowiedzi LM i NTLM; nigdy nie używaj zabezpieczeń sesji NTLM 2. Klienci korzystają z uwierzytelniania LM i NTLM i nigdy nie używają zabezpieczeń sesji NTLM 2; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.
  • Poziom 1 — w przypadku negocjowania użyj zabezpieczeń sesji NTLM 2. Klienci korzystają z uwierzytelniania LM i NTLM oraz używają zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.
  • Poziom 2 — wyślij tylko odpowiedź NTLM. Klienci używają tylko uwierzytelniania NTLM i używają zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.
  • Poziom 3 — wyślij tylko odpowiedź NTLM 2. Klienci używają uwierzytelniania NTLM 2 i używają zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny akceptują uwierzytelnianie LM, NTLM i NTLM 2.
  • Poziom 4 — kontrolery domeny odrzucają odpowiedzi LM. Klienci używają uwierzytelniania NTLM i używają zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny odmawiają uwierzytelniania LM (oznacza to, że akceptują NTLM i NTLM 2).
  • Poziom 5 — kontrolery domeny odrzucają odpowiedzi LM i NTLM (akceptują tylko NTLM 2). Klienci używają uwierzytelniania NTLM 2, używają zabezpieczeń sesji NTLM 2, jeśli serwer je obsługuje; kontrolery domeny odmawiają uwierzytelniania NTLM i LM (akceptują tylko NTLM 2). Komputer kliencki może używać tylko jednego protokołu w rozmowach ze wszystkimi serwerami. Nie można skonfigurować go na przykład do korzystania z NTLM w wersji 2 w celu nawiązania połączenia z serwerami opartymi na systemie Windows 2000, a następnie do nawiązywania połączenia z innymi serwerami przy użyciu protokołu NTLM. Takie działanie jest zgodne z projektem programu.

Minimalne zabezpieczenia używane w programach korzystających z dostawcy obsługi zabezpieczeń NTLM można skonfigurować, modyfikując następujący klucz rejestru. Te wartości są zależne od wartości LMCompatibilityLevel:

  1. Uruchom Redaktor rejestru (Regedit.exe).

  2. Znajdź następujący klucz w rejestrze: HKEY_LOCAL_MACHINE\System\CurrentControlSet\control\LSA\MSV1_0

  3. W menu Edycja kliknij polecenie Dodaj wartość, a następnie dodaj następującą wartość rejestru:
    Nazwa wartości: NtlmMinClientSec
    Typ danych: REG_WORD
    Wartość: jedna z poniższych wartości:

    • 0x00000010 — integralność komunikatów
    • 0x00000020 — poufność wiadomości
    • 0x00080000 — zabezpieczenia sesji NTLM 2
    • 0x20000000 — szyfrowanie 128-bitowe
    • 0x80000000 — szyfrowanie 56-bitowe
  4. Zamknij Edytor rejestru.

Jeśli program kliencki/serwer używa dostawcy SSP NTLM (lub używa bezpiecznego zdalnego wywołania procedury [RPC], które używa dostawcy SSP NTLM) do zapewnienia zabezpieczeń sesji dla połączenia, typ zabezpieczeń sesji do użycia jest określany w następujący sposób:

  • Klient żąda dowolnego lub wszystkich następujących elementów: integralności komunikatów, poufności komunikatów, zabezpieczeń sesji NTLM 2 oraz szyfrowania 128-bitowego lub 56-bitowego.
  • Serwer odpowiada, wskazując, które elementy żądanego zestawu chce.
  • Mówi się, że wynikowe zestawy zostały "wynegocjowane".

Możesz użyć wartości NtlmMinClientSec, aby spowodować, że połączenia klienta/serwera negocjują daną jakość zabezpieczeń sesji lub nie powiodą się. Należy jednak zwrócić uwagę na następujące elementy:

  • Jeśli używasz 0x00000010 dla wartości NtlmMinClientSec, połączenie nie powiedzie się, jeśli integralność komunikatów nie zostanie wynegocjowana.
  • Jeśli używasz 0x00000020 dla wartości NtlmMinClientSec, połączenie nie powiedzie się, jeśli poufność komunikatu nie zostanie wynegocjowana.
  • Jeśli używasz 0x00080000 dla wartości NtlmMinClientSec, połączenie nie powiedzie się, jeśli nie wynegocjowano zabezpieczeń sesji NTLM 2.
  • Jeśli używasz 0x20000000 dla wartości NtlmMinClientSec, połączenie nie powiedzie się, jeśli poufność komunikatów jest używana, ale szyfrowanie 128-bitowe nie jest negocjowane.