Kerberos vs NTLM — dlaczego działa tylko czasami
To jedna z najbardziej „magicznych” rzeczy w pracy admina.
Użytkownik mówi: „Wczoraj działało, dziś pyta o hasło.” „Na jednym komputerze wchodzi do zasobu, na drugim nie.” I… oba komputery są w domenie.
To prawie zawsze Kerberos vs NTLM.
Co naprawdę się dzieje
Windows ma dwa mechanizmy uwierzytelniania:
| Mechanizm | Co to jest | Kiedy działa |
|---|---|---|
| Kerberos | logowanie domenowe (ticket) | gdy wszystko w infrastrukturze jest poprawne |
| NTLM | fallback (stary tryb) | gdy coś nie działa |
Kerberos = normalna praca domeny. NTLM = tryb awaryjny.
Problem: NTLM nie obsługuje wielu rzeczy (delegacja, niektóre zasoby, SQL, IIS, share z ograniczeniami). Dlatego „czasami działa”.
Jak działa Kerberos (bardzo ważne)
Po zalogowaniu użytkownik nie podaje hasła do każdego zasobu. On dostaje bilet (ticket) od kontrolera domeny.
- Logujesz się → dostajesz TGT
- Wchodzisz na serwer → dostajesz Service Ticket
- Serwer ufa domenie → wpuszcza
Hasło nie jest wysyłane dalej. To dlatego domena jest szybka.
Kiedy Windows przełącza się na NTLM
Kerberos wymaga spełnienia warunków:
- 🔴 DNS musi działać
- 🔴 Czas musi być zgodny
- 🔴 Nazwa musi być FQDN
- 🔴 SPN musi pasować
- 🔴 Połączenie musi być do domeny
Jeśli którykolwiek padnie → NTLM.
Najczęstsze przyczyny „działa tylko czasami”
1. Wejście po IP
\\192.168.1.10\Dane ❌ NTLM | \\serwer\Dane ✔ Kerberos
Najczęstszy błąd użytkowników.
2. Zły DNS
Klient znajduje serwer, ale nie znajduje SPN. Efekt: pyta o hasło.
3. Różnica czasu > 5 minut
Kerberos odrzuca ticket. Klasyczny objaw: logowanie działa tylko rano / tylko po restarcie.
4. Alias / CNAME
\pliki → wskazuje na srv01. Kerberos nie lubi aliasów bez SPN.
5. Podwójne logowanie (double hop)
Serwer musi przekazać tożsamość dalej. NTLM tego nie potrafi. Typowy objaw: SQL / IIS / udziały sieciowe nie działają z aplikacji.
Jak sprawdzić co działa
Na komputerze użytkownika: klist. Jeśli są tickety → Kerberos. Jeśli brak → NTLM.
W logach serwera: Event Viewer → Security → 4624. Authentication Package: Kerberos / NTLM.
Naprawa — krok po kroku (schemat admina)
- Sprawdź DNS →
nslookup serwer - Sprawdź czas →
w32tm /query /status - Sprawdź ticket →
klist - Wyczyść ticket →
klist purge - Wejdź po nazwie FQDN →
\\serwer.domena.local\share
Najważniejsza zasada administratora
Jeśli Windows pyta o hasło w domenie → to prawie nigdy nie są uprawnienia. To prawie zawsze Kerberos.
Zapamiętaj (rozmowa o pracę)
Kerberos działa tylko gdy: DNS poprawny, czas zgodny, nazwa FQDN, komputer w domenie.
Jeśli coś z tego padnie → NTLM → problemy z dostępem.