Autenticazione Kerberos per workstation non sul dominio


8

Ho una conoscenza di base di come Kerberos funziona in un ambiente Active Directory e dei metodi che utilizza per autenticare gli utenti e le stazioni di lavoro sulla rete, ma la mia domanda è ... poiché Kerberos si basa sull'emissione di un token di sicurezza a cui l'utente finale utilizza per accedere risorse di rete, in che modo i sistemi (laptop) non nel dominio sono in grado di accedere alle stesse risorse di rete utilizzando solo il nome utente e la password di un utente di Active Directory?

Immagino che avrebbe più senso se solo usando le credenziali dell'utente, Kerberos generasse un token di sicurezza e lo emettesse al sistema, ma sembra che ci dovrebbe essere più sicurezza lì per impedire a un sistema non remoto di accedere alle risorse di rete.

Se qualcuno potesse illuminarmi, lo apprezzerei!


Domanda stupida ... con l'uso di Kerberos in un ambiente Active Directory .. c'è bisogno di avere abilitato NTLM? Non che sia del tutto sicuro che possa essere disabilitato, ma ho notato sulla pagina wiki a cui joeqwerty è collegato che dice Microsoft non ne consiglia l'utilizzo.
Eric,

Se si accede a un server non per nome (ad esempio \\ 10.12.181.29), si tornerà a NTLM; perché Kerberos dipende dai nomi dei server che corrispondono al loro certificato.
Ian Boyd,

Risposte:



5

in che modo i sistemi (laptop) non sul dominio sono in grado di accedere alle stesse risorse di rete utilizzando solo il nome utente e la password di un utente di Active Directory?

Dipende da quali "risorse di rete" sono coinvolte. Su un computer Windows collegato al dominio in cui hai effettuato l'accesso, ci sono almeno due identità Kerberos client in gioco:

  • tu, utente @ DOMAIN
  • il computer, workstation $ @ DOMAIN

C'è anche host / workstation @ DOMAIN, ma in genere si tratta dell'identificazione di un servizio in esecuzione sull'host, a cui si accede da altrove. Se un processo privilegiato sull'host vuole fare qualcosa - diciamo, aggiungi il suo nome al DNS utilizzando DNS dinamico autenticato Kerberos - utilizzerà la sua identità per farlo, workstation $ @ DOMAIN. Se durante la sessione di accesso accedete da soli alcune risorse, ad esempio una condivisione di rete CIFS o un URL HTTP autenticato, l'identità del client è il nome principale, user @ DOMAIN (le cui credenziali vengono acquisite automaticamente per voi utilizzando il password inserita per accedere). Dalla tua domanda, sembra che pensi che sia coinvolta una combinazione; non è, sono separati.

Questo è il motivo per cui non ci sono problemi nell'utilizzo di Kerberos per accedere alle risorse basate su Windows da altre piattaforme. Puoi anche digitare "kinit user" su un box Linux, inserire la tua password per ottenere una credenziale Kerberos (TGT) da un controller di dominio, quindi utilizzare Firefox per accedere a una pagina Web autenticata da Kerberos su IIS. I protocolli per tutto ciò sono standard e non hai bisogno di nulla tranne le tue credenziali utente.

Una risposta precedente affermava che NTLM è richiesto in questo caso; è falso (anche se certamente può essere usato). Tuttavia, quando si accede a una risorsa da un computer non di dominio e viene richiesto il nome utente e la password, non si conosce necessariamente quale metodo di autenticazione viene effettivamente utilizzato. Potrebbe usare Kerberos. Potrebbe anche ricadere in un meccanismo basato su password in base al quale invia nome utente e password al server per la verifica, quindi memorizza nella cache la password in modo da non dover reinserirla. Molti protocolli consentono entrambi tramite schemi di astrazione come SASL. Dovresti guardare il filo per vedere cosa sta succedendo.


Se è stato utilizzato Kerberos, in seguito è possibile visualizzare il ticket di servizio memorizzato nella cache con il comando "klist". Se hai ottenuto l'accesso senza che ciò causasse la memorizzazione nella cache di un ticket di servizio, probabilmente hai usato NTLM. Per confermare davvero che hai usato Kerberos, probabilmente dovresti disabilitare NTLM (nel caso in cui Windows possa ancora tornare da Kerberos a NTLM dopo aver già ottenuto un ticket di servizio).
Markus Kuhn,

1

Le istruzioni seguenti sono su come autenticarsi su un server Samba usando Kerberos da un client Windows 7/10 (forse altri). Non ho testato per altre versioni di client e server:

Sul client Windows, cmd.exe "Esegui come amministratore". Quindi immettere questo comando per fornire a Windows la conoscenza del controller di dominio Kerberos (KDC) per il Kerberos REALM.COM.

Se il KDC è in DNS:

ksetup /addkdc REALM.COM

Altrimenti:

ksetup /addkdc REALM.COM kdc01.realm.com

(Immettere più KDC per il realm REALM.COM se esistono. Inoltre, è possibile aggiungere altri realm in entrambi gli stili.)

Quindi utilizzare Explorer per accedere alla condivisione di rete di interesse. (Ad esempio \\samba.realm.com\sharenella barra degli indirizzi.) Se la condivisione è protetta, verrà aperta una richiesta di password.

Dovrai specificare il regno nel nome utente. Questo può essere fatto come user@REALM.COMo REALM.COM\user.

Quindi inserisci la password.


0

Conosco almeno un sistema in grado di utilizzare Kerberos che funziona da workstation non di dominio. Il nome di questa applicazione è "Portale SAP NETWEAVER". Ho eseguito uno sniffing di rete su workstation e comunicazione, quando accedo all'applicazione Web che si trova tra workstation e controller di dominio. Prima di ciò, viene creata una query dns per i record srv _krb del dominio che ho passato al campo nome utente (deve essere in formato dominio FQDN, ad esempio mydomain.local \ myusername). Successivamente, si verificano alcuni frame Kerberos.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.