NTLM – dlaczego nadal istnieje, skoro Kerberos jest lepszy?
Windows Server

NTLM – dlaczego nadal istnieje, skoro Kerberos jest lepszy?

NTLM – dlaczego nadal istnieje, skoro Kerberos jest lepszy?

W świecie Active Directory od lat wiadomo, że Kerberos jest obecnie podstawowym i preferowanym mechanizmem uwierzytelniania. Jest szybszy, bezpieczniejszy i lepiej dopasowany do dużych środowisk domenowych.

Mimo tego NTLM nadal działa.

Co więcej – nawet w najnowszych wersjach Windows Server i Windows 11 można spotkać sytuacje, w których system zamiast Kerberos wykorzystuje właśnie NTLM.

Dlaczego Microsoft nie usunął starego mechanizmu?

Odpowiedź jest prosta:

ponieważ miliony istniejących aplikacji, urządzeń i konfiguracji nadal od niego zależą.

NTLM jest przykładem technologii, która powinna już odejść, ale jej całkowite usunięcie mogłoby sparaliżować ogromną liczbę środowisk.


Czym jest NTLM?

NTLM (NT LAN Manager) to protokół uwierzytelniania opracowany przez Microsoft jeszcze przed erą Active Directory.

Jego początki sięgają czasów:

  • Windows NT,
  • sieci opartych na domenach NT,
  • środowisk bez centralnego katalogu użytkowników.

Jego zadaniem było umożliwienie użytkownikowi potwierdzenia swojej tożsamości bez przesyłania hasła w otwartej postaci.

Podobnie jak Kerberos, NTLM nie wysyła hasła przez sieć.

Zamiast tego wykorzystuje mechanizm:

challenge-response.


Jak działa NTLM krok po kroku?

Załóżmy klasyczny scenariusz:

Użytkownik:

jan.kowalski

chce uzyskać dostęp do serwera:

\\server01\pliki

Krok 1 – klient wysyła żądanie dostępu

Komputer użytkownika informuje serwer:

„Chcę się uwierzytelnić.”

Serwer odpowiada wyzwaniem:

Challenge

Jest to losowa wartość wygenerowana specjalnie dla tego połączenia.


Krok 2 – klient tworzy odpowiedź

Komputer użytkownika nie wysyła hasła.

Zamiast tego wykorzystuje:

  • hash hasła użytkownika,
  • otrzymane wyzwanie,
  • algorytm kryptograficzny.

Powstaje odpowiedź:

NTLM Response


Krok 3 – serwer sprawdza użytkownika

Serwer musi zweryfikować odpowiedź.

Jeżeli działa w domenie:

  • kontaktuje się z kontrolerem domeny,
  • przekazuje informacje do sprawdzenia.

Jeżeli odpowiedź jest poprawna:

dostęp zostaje przyznany.


Dlaczego NTLM był kiedyś dobry?

Trzeba pamiętać, że NTLM powstał w zupełnie innych czasach.

W latach 90. typowe środowisko wyglądało inaczej:

  • małe sieci,
  • niewiele komputerów,
  • brak skomplikowanych usług,
  • ograniczone wymagania bezpieczeństwa.

NTLM rozwiązywał podstawowy problem:

„Jak sprawdzić użytkownika bez wysyłania hasła?”

Na tamte czasy było to rozsądne rozwiązanie.

Problem polega na tym, że świat się zmienił.


Dlaczego Kerberos zastąpił NTLM?

Microsoft wprowadzając Active Directory w Windows 2000 potrzebował mechanizmu bardziej dopasowanego do dużych sieci.

Kerberos oferował:

  • uwierzytelnianie oparte na biletach,
  • obsługę delegacji,
  • lepszą skalowalność,
  • wzajemne uwierzytelnianie,
  • mniejsze obciążenie kontrolerów domeny.

W dużej domenie z tysiącami użytkowników różnica jest ogromna.


Dlaczego więc NTLM nadal istnieje?

Powodów jest kilka.


1. Starsze aplikacje

To najważniejszy powód.

Wiele aplikacji zostało napisanych zanim Kerberos stał się standardem.

Przykłady:

  • stare systemy ERP,
  • aplikacje magazynowe,
  • urządzenia przemysłowe,
  • stare serwery NAS,
  • własne aplikacje firmowe.

Często takie systemy nie obsługują:

  • SPN,
  • biletów Kerberos,
  • delegacji.

Wtedy Windows przełącza się na NTLM.


2. Brak poprawnej konfiguracji DNS

Kerberos jest bardzo zależny od DNS.

Jeżeli komputer nie potrafi poprawnie odnaleźć:

  • kontrolera domeny,
  • nazwy usługi,
  • SPN,

uwierzytelnianie Kerberos może się nie udać.

Przykład:

Użytkownik wpisuje:

\\192.168.1.20

zamiast:

\\server01.firma.local

Problem:

Kerberos oczekuje nazwy usługi.

Adres IP często powoduje przejście na NTLM.


3. Dostęp do urządzeń spoza domeny

Nie każde urządzenie potrafi korzystać z Kerberos.

Przykłady:

  • starsze drukarki sieciowe,
  • skanery,
  • NAS-y,
  • urządzenia IoT.

Często obsługują tylko:

  • SMB,
  • NTLM,
  • lokalne konta.

4. Środowiska mieszane

Wiele firm posiada infrastrukturę rozwijaną przez kilkanaście lat.

Można znaleźć jednocześnie:

  • nowe serwery Windows,
  • stare aplikacje,
  • urządzenia z Linux,
  • systemy legacy.

Całkowite przejście na Kerberos wymaga czasu.


Największe problemy bezpieczeństwa NTLM

NTLM działa, ale z punktu widzenia bezpieczeństwa posiada ograniczenia.


Pass-the-Hash

To jeden z najbardziej znanych problemów.

Atakujący nie musi znać hasła.

Wystarczy, że zdobędzie hash NTLM.

Następnie może wykorzystać go do uwierzytelnienia się w innych systemach.

Przykład:

  1. infekcja komputera użytkownika,
  2. kradzież hashy,
  3. użycie ich przeciwko serwerom.

Brak prawdziwego wzajemnego uwierzytelniania

W Kerberos klient i serwer mogą potwierdzić swoją tożsamość.

W NTLM mechanizm jest słabszy.

Może to ułatwiać ataki typu:

  • relay,
  • podszywanie się,
  • przechwytywanie uwierzytelnienia.

NTLM Relay

Atakujący może przechwycić próbę uwierzytelnienia i przekazać ją dalej.

Schemat:

Użytkownik
    |
    | NTLM
    ↓
Atakujący
    |
    | przekazuje dalej
    ↓
Serwer

Jeżeli zabezpieczenia są niewystarczające, atakujący może uzyskać dostęp bez znajomości hasła.

NTLM – dlaczego nadal istnieje, skoro Kerberos jest lepszy?
NTLM – dlaczego nadal istnieje, skoro Kerberos jest lepszy?

NTLMv1 i NTLMv2 – ważna różnica

Nie każdy NTLM jest taki sam.

NTLMv1

Stary wariant.

Obecnie uznawany za niebezpieczny.

Powinien być wyłączony.


NTLMv2

Nowsza wersja.

Poprawia wiele problemów:

  • silniejsze odpowiedzi,
  • lepsze zabezpieczenie przed replay.

Jednak nadal jest słabsza architektonicznie niż Kerberos.


Jak sprawdzić, czy firma nadal używa NTLM?

Administratorzy mogą analizować:

Event Viewer

Ścieżka:

Applications and Services Logs
 └ Microsoft
    └ Windows
       └ NTLM

Security Events

Szczególnie:

Event ID 4624

Logowanie użytkownika.

Pole:

Authentication Package

pokaże:

  • Kerberos,
  • NTLM.

Group Policy

Polityki:

Computer Configuration
 └ Windows Settings
    └ Security Settings
       └ Local Policies
          └ Security Options

zawierają ustawienia dotyczące NTLM.


Czy można całkowicie wyłączyć NTLM?

Technicznie tak.

W praktyce wymaga to przygotowania.

Typowy proces:

  1. monitorowanie użycia NTLM,
  2. identyfikacja aplikacji,
  3. naprawa konfiguracji Kerberos,
  4. testy,
  5. stopniowe ograniczanie NTLM.

Nagłe wyłączenie może spowodować:

  • niedziałające aplikacje,
  • problemy z drukarkami,
  • brak dostępu do udziałów.

NTLM w nowoczesnych środowiskach Microsoft

Microsoft od wielu lat zachęca do ograniczania NTLM.

Preferowany model:

  • Kerberos dla domeny,
  • MFA,
  • Conditional Access,
  • ograniczenie kont uprzywilejowanych,
  • monitoring użycia NTLM.

Jednak kompatybilność nadal pozostaje ważnym argumentem.


NTLM a bezpieczeństwo Active Directory

Wiele dużych ataków na domeny Windows wykorzystuje właśnie słabości związane z tradycyjnym uwierzytelnianiem.

Dlatego bezpieczeństwo AD obejmuje:

  • ograniczanie NTLM,
  • ochronę administratorów,
  • tiering administracyjny,
  • silne hasła,
  • MFA,
  • audyt logowań.

NTLM sam w sobie nie jest „dziurą”.

Problemem jest to, że jego konstrukcja pochodzi z czasów, gdy zagrożenia wyglądały zupełnie inaczej.


Podsumowanie

NTLM nadal istnieje nie dlatego, że Microsoft uważa go za lepszy od Kerberos.

Istnieje dlatego, że świat IT jest pełen starszych systemów, aplikacji i urządzeń, których nie da się wymienić z dnia na dzień.

Współczesne środowisko Active Directory powinno wyglądać tak:

  • Kerberos jako podstawowy mechanizm uwierzytelniania
  • NTLM tylko tam, gdzie jest rzeczywiście potrzebny
  • systematyczne monitorowanie i ograniczanie starego protokołu

Najważniejsza zasada:

Jeżeli Windows korzysta z NTLM, warto wiedzieć dlaczego. Nie każdy przypadek oznacza problem, ale każdy niekontrolowany przypadek zwiększa ryzyko bezpieczeństwa.

Polecane wpisy
Jak wykorzystać Hyper-V do konsolidacji serwerów, testowania oprogramowania i tworzenia środowisk deweloperskich w Windows Server
Jak wykorzystać Hyper-V do konsolidacji serwerów, testowania oprogramowania i tworzenia środowisk deweloperskich w Windows Server

Jak wykorzystać Hyper-V do konsolidacji serwerów, testowania oprogramowania i tworzenia środowisk deweloperskich w Windows Server Windows Server to system operacyjny, Czytaj dalej

Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service
Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service

Przydatne polecenia PowerShell w Windows Server: Get-Help, Get-Service, Get-ADUser, Start-Service PowerShell to jedno z najpotężniejszych narzędzi dostępnych w systemach operacyjnych Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.