Comprensione di NTLM e Kerberos: Principali differenze e casi d'uso
Mar 26, 2025
Introduzione a NTLM e Kerberos
Collegare tutte le risorse della tua azienda in una rete per la condivisione è prezioso, ma hai bisogno di un modo per verificare che solo utenti e dispositivi autorizzati possano accedere a queste risorse. L'autenticazione serve a questo scopo fornendo metodi affinché utenti e dispositivi possano dimostrare la loro identità.
In ambienti Windows, vengono utilizzati due principali protocolli di autenticazione: NTLM (New Technology LAN Manager) e Kerberos.
- NTLM è un protocollo di autenticazione basato sulla sfida-risposta più vecchio, che è ancora presente nei sistemi legacy e negli scenari di fallback.
- Kerberos è un protocollo di autenticazione più sicuro ed efficiente che utilizza ticket e crittografia per verificare le identità negli ambienti di Active Directory (AD).
In questo articolo discuteremo NTLM vs Kerberos e mostreremo perché è importante implementare Kerberos se possibile.
Richiedi una prova gratuita di Netwrix Threat Manager
Cos'è NTLM?
NTLM è un insieme di protocolli di sicurezza sviluppati da Microsoft per l'autenticazione degli utenti e la protezione dell'integrità e della riservatezza dei dati. Era il protocollo di autenticazione predefinito nelle versioni precedenti di Windows, ma oggi è limitato a scenari specifici come ambienti di lavoro di gruppo, account locali e applicazioni legacy.
L'autenticazione NTLM funziona attraverso un meccanismo di sfida e risposta come segue:
- Il cliente invia una richiesta di accesso utilizzando un nome utente e una password.
- Il server risponde con una sfida (un numero casuale di 16 byte).
- Il cliente cripta la sfida utilizzando la password hashata dell'utente come chiave di cifratura e la invia di nuovo al server.
- Il server verifica la risposta confrontandola con le credenziali memorizzate nel database Security Account Manager (SAM). Se la risposta è corretta, l'autenticazione viene concessa.
Varianti: NTLMv1 vs NTLMv2
NTLM è disponibile in due versioni. NTLM v1 incorpora un algoritmo di hashing più debole, rendendolo più vulnerabile a violazioni della sicurezza. Il suo sistema di challenge-response più semplice lo espone sia agli attacchi pass-the-hash che agli attacchi con rainbow table. Un'altra debolezza di questo protocollo del 1993 è che il client non può verificare l'identità del server, il che rende possibili attacchi man-in-the-middle.
NTLMv2 è stato sviluppato successivamente come un miglioramento di NTLMv1. Presenta una crittografia più robusta (128 bit invece di 56 bit) e aggiunge diversi miglioramenti alla sicurezza, tra cui sfide di lunghezza variabile e timestamp lato client. Nonostante questi miglioramenti, Microsoft si sta allontanando completamente da NTLM e ha annunciato nell'ottobre 2023 piani per deprecare presto tutte le versioni di NTLM, inclusa NTLMv2.
Cos'è Kerberos?
Kerberos è un protocollo di autenticazione di rete progettato per fornire una sicurezza avanzata per le applicazioni client-server attraverso la crittografia a chiave segreta. Invece di inviare le password degli utenti attraverso la rete, utilizza biglietti crittografati con durata limitata. Funziona sui controller di dominio ed è stato il protocollo di autenticazione predefinito per i domini Windows sin da Windows 2000. A proposito, il protocollo prende il nome da Cerbero, il cane a tre teste guardiano dell'Ade nella mitologia greca, riflettendo il suo ruolo nel fornire una sicurezza robusta.
Kerberos funziona sul principio del “Single Sign-On” (SSO), utilizzando un sistema di emissione di ticket per autenticare gli utenti e consentire loro l'accesso alle risorse senza dover inviare ripetutamente le password sulla rete. Una volta autenticato, l'utente deve presentare il proprio ticket assegnato ogni volta che desidera accedere a una risorsa. Ecco il processo di autenticazione.
- Un utente effettua l'accesso, il client invia una richiesta di servizio di autenticazione (AS-REQ) al Key Distribution Center (KDC), che è ospitato su un controller di dominio (DC).
- Il KDC verifica l'identità dell'utente e risponde con una Risposta del Servizio di Autenticazione (AS-REP) che contiene un Ticket Granting Ticket (TGT) criptato.
- Il TGT è criptato utilizzando la chiave segreta del KDC ed è valido per un tempo limitato (tipicamente 10 ore).
- Quando il cliente ha bisogno di accedere a un servizio, richiede un ticket di servizio dal Ticket Granting Service (TGS) utilizzando il TGT.
- Il TGS rilascia un ticket per il servizio specifico, criptato con la chiave segreta del servizio.
- Il cliente presenta questo ticket al servizio per autenticarsi e ottenere l'accesso
Come puoi vedere, il Key Distribution Center (KDC) è una parte fondamentale del funzionamento dell'autenticazione Kerberos. Pensa al KDC come a un punto di controllo di sicurezza che prima conferma la tua identità, poi ti fornisce i pass specifici di cui hai bisogno per accedere a diverse risorse.
Principali differenze tra NTLM e Kerberos
Anche se NTLM e Kerberos sono entrambi protocolli di autenticazione, presentano meccanismi e caratteristiche di sicurezza molto diversi che influenzano la loro sicurezza e prestazioni. Vediamo alcune delle modalità in cui si differenziano l'uno dall'altro.
Meccanismi di autenticazione
NTLM utilizza un sistema di sfida-risposta per verificare l'identità dell'utente ogni volta che accede a una risorsa di rete. Kerberos, invece, lavora con i biglietti. Dopo aver effettuato l'accesso una volta, gli utenti ricevono un Ticket Granting Ticket (TGT). Quando hanno bisogno di accedere a qualcosa, mostrano questo TGT per ottenere un biglietto di servizio. Poi usano il biglietto di servizio per accedere alle risorse di rete senza mai inviare la loro password.
Funzionalità di sicurezza
NTLM utilizza algoritmi di hashing MD4 o MD5 per memorizzare l'hash della password e non supporta l'autenticazione reciproca poiché solo il client si autentica al server. La mancanza di funzionalità di sicurezza come queste rende NTLM vulnerabile a diversi tipi di attacchi. Kerberos offre una sicurezza molto più robusta attraverso:
- Crittografia AES per una migliore protezione
- Autenticazione reciproca in cui sia il client che il server si verificano a vicenda
- Utilizzo del salting delle password per resistere ai tentativi di cracking
- Token di autenticazione a tempo limitato che prevengono attacchi di tipo replay
- Protezione contro gli attacchi pass-the-hash poiché le password non viaggiano mai attraverso la rete
Prestazioni ed efficienza
Anche se presenta molte debolezze di sicurezza, NTLM richiede meno risorse rispetto a Kerberos. Generalmente è più veloce per l'autenticazione iniziale ed è solitamente più efficiente in ambienti di rete piccoli e semplici. Anche se richiede più risorse, Kerberos è molto più adatto per ambienti grandi e complessi poiché risparmia notevole tempo con le autenticazioni successive utilizzando ticket memorizzati nella cache.
Supporto per la delega e l'impersonificazione
NTLM supporta solo l'impersonificazione, che consente a un processo server di assumere temporaneamente il contesto di sicurezza di un client sul sistema locale. Kerberos supporta sia l'impersonificazione sia la delega dell'autenticazione. La delega permette ai servizi di accedere ad altri servizi per conto degli utenti del dominio.
Compatibilità e implementazione negli ambienti Windows
Sappiate che Kerberos è il protocollo di autenticazione predefinito nei moderni domini di Active Directory Windows. Microsoft ha l'intenzione di farlo sostituire completamente NTLM, che oggi è limitato ai casi in cui Kerberos non è disponibile.
Implicazioni di sicurezza
Vulnerabilità di NTLM
Approfondiamo un po' di più le vulnerabilità di NTLM e perché il suo utilizzo dovrebbe essere fortemente limitato.
- NTLM è vulnerabile agli attacchi pass-the-hash dove gli aggressori possono utilizzare gli hash delle password catturati per autenticarsi senza conoscere la password effettiva.
- NTLM, in particolare NTLMv1, utilizza l'algoritmo di hashing MD4, che è considerato debole e vulnerabile agli attacchi con rainbow table. Questa debolezza rende più facile per gli aggressori decifrare gli hash delle password e ottenere accesso non autorizzato.
- Il processo di challenge-response di NTLM è prevedibile, il che lo rende suscettibile ad attacchi di tipo replay se non vengono implementate misure di sicurezza aggiuntive come la firma o la crittografia.
Perché Kerberos è più sicuro
Kerberos è un protocollo di autenticazione più moderno con funzionalità di sicurezza migliorate che risolvono le carenze del suo predecessore. Alcune delle sue caratteristiche includono quanto segue:
- L'autenticazione basata su ticket, che elimina la necessità di trasmettere password attraverso la rete, riducendo così il rischio di intercettazione delle password.
- La crittografia avanzata, come la crittografia AES, che aumenta la resilienza complessiva ai tentativi di accesso non autorizzati come gli attacchi di forza bruta
- Supporto per l'Autenticazione Multi-Fattore (MFA) che consente a Kerberos l'uso di fattori aggiuntivi di autenticazione come smart card o biometria, aggiungendo un ulteriore livello di sicurezza oltre alle sole password
Di seguito è riportato un grafico che riassume le differenze tra NTLM e Kerberos.
Funzionalità | NTLM | Kerberos |
|---|---|---|
|
Meccanismo di autenticazione |
Meccanismo di Challenge-Response |
Meccanismo basato su ticket |
|
Autenticazione reciproca |
Non supportato |
Supportato (client e server si autenticano a vicenda) |
|
Supporto alla delega |
Non supportato |
Supporta la delega |
|
Single Sign-on (SSO) |
Non supportato |
Completamente supportato |
|
Algoritmi di crittografia |
MD4 (NTLMv1), HMAC-MD5 (NTLMv2) |
AES (Advanced Encryption Standard) |
|
Caso d'uso principale |
Autenticazione locale, sistemi legacy, ambienti di workgroup |
Autenticazione di dominio negli ambienti Active Directory |
Quando utilizzare NTLM rispetto a Kerberos
Anche se Kerberos è il metodo di autenticazione preferito, alcuni scenari richiedono ancora NTLM. Ad esempio, se un server perde la connessione ai controller di dominio, diventa necessaria l'autenticazione di accesso locale. Anche gli ambienti di piccoli uffici o uffici domestici senza controller di dominio centralizzati si affidano a NTLM per la sicurezza di base degli account su macchine autonome. Molte applicazioni legacy dipendono ancora dall'autenticazione NTLM. Pensate a NTLM come all'opzione di riserva per circostanze eccezionali. Se lavorate in un ambiente Windows Active Directory, dovreste evitare l'uso di NTLM dove possibile e imporre l'autenticazione Kerberos per migliorare la sicurezza, supportare la delega e abilitare l'autenticazione trasparente tra i servizi.
Identificare quale protocollo è in uso
Windows Event Viewer è lo strumento principale per indagare le attività di autenticazione su singoli server o ambienti di dominio. Per determinare il tipo di autenticazione, controlla il registro eventi Sicurezza. Ogni evento ha un ID evento unico. Ad esempio, l'ID evento 4776 indica un'autenticazione NTLM. Questa voce del registro eventi fornisce dettagli sul tentativo di autenticazione, come l'account utilizzato e la fonte di autenticazione. Lo screenshot qui sotto mostra l'ID evento 4776 di un'autenticazione NTLM per l'account Amministratore locale di una macchina autonoma.
Su un controller di dominio, è possibile cercare l'ID evento 4768 che indica Kerberos come mostrato nello screenshot qui sotto per un controller di dominio.
Puoi anche aprire un prompt dei comandi e digitare “klist” che mostrerà se sono presenti dei ticket Kerberos. Se così fosse, allora sai che Kerberos è in uso come mostrato di seguito.
Puoi anche utilizzare strumenti di analisi dei pacchetti come Wireshark per catturare e analizzare il traffico di rete. Il traffico Kerberos utilizzerà la porta 88, mentre NTLM utilizza tipicamente le porte NetBIOS.
Transizione da NTLM a Kerberos
Mentre disabilitare NTLM sui vostri computer Windows garantirà una maggiore sicurezza, dovreste prendere questa misura solo se siete completamente sicuri che non interromperà le vostre operazioni. Utilizzate Event Viewer come descritto nella sezione precedente per confermare come NTLM viene utilizzato. Se siete certi che non ne avete bisogno su almeno alcune macchine, potete iniziare il processo di disabilitazione.
Apri la console di Group Policy Management e naviga fino a: Configurazione computer > Criteri > Impostazioni Windows > Impostazioni di sicurezza > Criteri locali > Opzioni di sicurezza. Poi modifica le seguenti politiche:
- Sicurezza della rete: Limitare NTLM: Traffico NTLM in entrata > Impostare su Rifiuta tutti gli account come mostrato nello screenshot qui sotto.
Poiché si tratta di un passaggio importante, Windows ti chiederà di confermare la tua intenzione come mostrato nella finestra popup qui sotto:
È necessario configurare anche altre due policy.
- Sicurezza della rete: Restringere NTLM: Autenticazione NTLM in questo dominio > Impostare su Nega tutti gli account.
- Sicurezza della rete: Livello di autenticazione LAN Manager > Impostare per inviare solo risposta NTLMv2. Rifiutare LM e NTLM come mostrato nello screenshot qui sotto:
Assicurati di distribuire le policy inizialmente in un ambiente di test o non di produzione e di testarle rigorosamente. Non distribuire la policy a tutti i computer contemporaneamente. Distribuisci la policy gradualmente per assicurarti che non ci siano interruzioni nelle tue operazioni. Assicurati di monitorare i tuoi log degli eventi.
Affrontare le sfide comuni nella migrazione
Potresti avere alcune applicazioni legacy che potrebbero non supportare Kerberos. Fai delle ricerche per vedere se ci sono aggiornamenti che permettono la compatibilità con Kerberos. Se un'applicazione deve utilizzare NTLM, limita l'accesso NTLM a specifici account o host.
Si noti che l'autenticazione Kerberos richiede una risoluzione DNS accurata e un tempo sincronizzato in tutta la rete. Assicurarsi che tutti i controller di dominio, i client e i servizi siano configurati con le impostazioni DNS corrette e la sincronizzazione del tempo NTP. Potrebbe anche essere necessario educare gli utenti sui cambiamenti nei processi di autenticazione, in particolare per quanto riguarda le funzionalità di Single Sign-On (SSO).
Migliori pratiche per la sicurezza dei protocolli di autenticazione
- Limitare l'uso di NTLM alle necessità assolute
- Continuate a monitorare i log per rilevare schemi di autenticazione insoliti o tentativi di accesso falliti e utilizzate strumenti come Windows Event Viewer per tracciare gli ID Evento relativi all'autenticazione
- Applicare regolarmente patch di sicurezza e aggiornamenti a tutti i sistemi coinvolti nel processo di autenticazione per mitigare le vulnerabilità.
- Esegui valutazioni di sicurezza per verificare le politiche di enforcement di Kerberos e rilevare l'uso non approvato di NTLM.
- Rafforza la sicurezza degli account implementando password policies complesse e integrandole con l'autenticazione a più fattori.
- Effettua regolarmente audit dei nomi dei service principal (SPN)
Casi d'uso e esempi pratici
Man mano che le imprese continuano ad espandersi e a crescere in complessità, Kerberos è costruito per scalare insieme a loro. Gli utenti beneficiano del Single Sign-On (SSO), che consente l'accesso a più servizi dopo una singola autenticazione. Il protocollo fornisce autenticazione reciproca dove sia il client che il server verificano l'identità dell'altro, e utilizza un sistema basato su ticket che impedisce la trasmissione diretta delle credenziali. Questo approccio non solo migliora la sicurezza, ma supporta anche la delega dei servizi, consentendo a complesse applicazioni multi-livello di accedere in modo sicuro alle risorse per conto degli utenti.
Kerberos e ambienti ibridi
Microsoft ha riconosciuto la crescente tendenza dell'architettura di rete ibrida e sta adattando Kerberos per supportare ambienti di rete più flessibili e complessi che si estendono su infrastrutture on-premises e cloud. Per le organizzazioni che implementano soluzioni SSO basate sul cloud, Kerberos può essere utilizzato in combinazione con protocolli di autenticazione moderni per fornire accesso senza soluzione di continuità sia alle risorse on-premises che a quelle cloud. Un altro esempio è che Windows Hello for Business consente agli utenti di accedere alle risorse on-premises utilizzando l'autenticazione Kerberos da workstation collegate al cloud, senza la necessità di una configurazione ibrida del dispositivo.
Applicazioni legacy
Esistono ancora applicazioni legacy sviluppate prima che Kerberos fosse ampiamente adottato e che quindi necessitano di NTLM. Una considerazione per queste è di eseguirle su server Windows 2003 o 2008 che non supportano completamente l'autenticazione Kerberos moderna. Alcuni esempi di app legacy includono:
- Alcune applicazioni di enterprise resource planning (ERP) e risorse umane, specialmente se sviluppate prima degli anni 2000
- Server di file basati su Windows legacy e portali intranet che eseguono versioni più vecchie di IIS o SMB che predefiniscono NTLM.
- Le soluzioni più datate di desktop remoto e VPN che non supportano la Kerberos delegation
Conclusione
La sicurezza dovrebbe essere la considerazione principale quando si selezionano soluzioni IT, e quando si tratta di Kerberos vs NTLM, Kerberos è chiaramente la scelta superiore. Tuttavia, comprendere gli scenari specifici in cui NTLM potrebbe ancora essere necessario è fondamentale per una gestione completa della rete.
FAQ
Qual è la differenza tra NTLM e Kerberos?
NTLM e Kerberos sono entrambi protocolli di autenticazione di Windows, ma con differenze significative. NTLM utilizza un semplice meccanismo di sfida-risposta dove il client dimostra la propria identità al server utilizzando hash della password. Manca di autenticazione reciproca ed è vulnerabile a vari tipi di attacchi. Al contrario, Kerberos è un sistema basato su biglietti più sofisticato che consente l'autenticazione reciproca, utilizza una forte crittografia AES, fornisce capacità di single sign-on e impedisce la trasmissione della password attraverso la rete. Sebbene NTLM rimanga supportato per i sistemi legacy, Kerberos è diventato il protocollo di autenticazione standard nei moderni domini di Windows Active Directory grazie alle sue caratteristiche di sicurezza superiori e prestazioni.
Perché Microsoft è passata da NTLM a Kerberos?
Microsoft è passata da NTLM a Kerberos a causa della necessità di una sicurezza più robusta, una migliore scalabilità e un'efficienza migliorata negli ambienti aziendali moderni. Il meccanismo di challenge-response di NTLM lo rendeva vulnerabile ad attacchi come pass-the-hash e attacchi di tipo relay, mentre Kerberos ha introdotto una crittografia più forte, autenticazione reciproca e autenticazione basata su ticket, riducendo i rischi per la sicurezza e migliorando le prestazioni. Kerberos supporta anche funzionalità avanzate come la delega, Single Sign-On (SSO) e integrazione con l'autenticazione a più fattori (MFA), che mancano in NTLM. Questo rende Kerberos molto più adatto per le moderne reti ibride odierne.
Si usa ancora NTLM?
Anche se l'uso di NTLM è fortemente sconsigliato oggi, è necessario per un numero limitato di scenari come:
- Ambienti di lavoro Windows più datati
- Applicazioni legacy che non supportano Kerberos
- Autenticazione della macchina locale
- Autenticazione di riserva in caso di fallimento dell'autenticazione Kerberos
- Macchine indipendenti
Viene utilizzato NTLM per l'autenticazione locale?
NTLM rimane il protocollo di autenticazione primario per gli accessi alle macchine Windows locali nei seguenti scenari:
- Accessi a macchine locali: Per sistemi Windows autonomi o quelli in ambienti workgroup senza controller di dominio, NTLM rimane il protocollo di autenticazione primario.
- Ambienti Workgroup: In piccole reti o uffici domestici dove non è implementata una struttura di dominio, NTLM facilita l'autenticazione peer-to-peer tra macchine.
- Scenari di Privileged Access Management: Le organizzazioni spesso utilizzano account locali, autenticati tramite NTLM, per attuare il principio del minimo privilegio. Questo metodo limita l'impatto potenziale di un account compromesso restringendo i suoi diritti di accesso solamente alla macchina locale.
Autenticazione di riserva: negli ambienti di dominio, NTLM funge da meccanismo di riserva quando l'autenticazione Kerberos fallisce, garantendo l'accesso continuato alle risorse.
Condividi su
Scopri di più
Informazioni sull'autore
Joe Dibley
Ricercatore di sicurezza
Ricercatore di sicurezza presso Netwrix e membro del Netwrix Security Research Team. Joe è un esperto in Active Directory, Windows e una vasta gamma di piattaforme software aziendali e tecnologie, Joe ricerca nuovi rischi per la sicurezza, tecniche di attacco complesse e relative mitigazioni e rilevamenti.
Scopri di più su questo argomento
Dieci comandi PowerShell più utili per Office 365
Come copiare una Cisco Running Config nella startup config per preservare le modifiche alla configurazione
Come distribuire qualsiasi script con MS Intune
RBAC vs ABAC: Quale scegliere?
Introduzione alle tecnologie dei servizi di Active Directory