Autenticazione Kerberos su Internet pubblico

17

Quali sono le minacce alla disponibilità del KDC via Internet per i client remoti?

Sono a conoscenza del fatto che l'autenticazione è un protocollo challenge / response e che la password non viene mai trasmessa. Gli attacchi di forza bruta sono la ragione per cui questo non è comune?

Questo perché l'autenticazione Kerberos è più preziosa della forzatura bruta di un singolo account ssh o di posta in quanto più servizi su più host potrebbero essere compromessi in una volta? È a causa della superficie di attacco del KDC stesso e che un firewall stenopeico non è visto come una barriera sufficiente per impedire l'accesso a questo prezioso perno per l'autenticazione e l'autorizzazione?

    
posta Richard Salts 05.09.2013 - 03:20
fonte

2 risposte

23

Probabilmente il motivo per cui Kerberos non è usato su Internet pubblica non ha a che fare con la sicurezza del protocollo o l'esposizione del KDC, ma piuttosto che è un modello di autenticazione che non si adatta alle esigenze di la maggior parte delle applicazioni "Internet pubbliche".

Per citare Wikipedia, Kerberos " fornisce l'autenticazione reciproca - sia l'utente che il server verificano la reciproca identità. "Ciò significa che la macchina client deve avere le chiavi necessarie per garantire la sua identità prima che avvenga l'autenticazione dell'utente. La distribuzione di tali chiavi per applicazioni "pubbliche Internet" non è pratica per diversi motivi: considera quanti PC accedono al tuo sito web bancario, di proprietà di una vasta gamma di persone la cui capacità di installare regolarmente le patch di Windows è tesa. Non è come se l'IT aziendale dovesse intervenire e configurare Kerberos per loro.

Kerberos richiede degli orologi strettamente sincronizzati - non che difficili da fare in un ambiente aziendale o educativo gestito centralmente, molto più difficile quando le macchine sono tutte possedute e gestite da persone completamente diverse.

Uno dei vantaggi di Kerberos è la possibilità di sfruttare senza interruzioni un'autenticazione iniziale in più accessi alle applicazioni. Sull'Internet pubblica, le molteplici applicazioni raramente hanno qualcosa a che fare l'una con l'altra: la mia banca, la mia posta e il mio /. l'account non ha chiamate per fidarsi l'un l'altro o lo stesso gruppo di persone. (Questo rientra nell'area di Federated Identity, e c'è lavoro in quest'area, ma non ha bisogno dello stesso mix di cose che Kerberos porta in tavola).

In breve, Kerberos è una soluzione pesante e il controllo dell'accesso alle applicazioni Internet pubbliche è un problema leggero.

Per rispondere direttamente alla tua domanda, no, non credo che le preoccupazioni relative agli attacchi di forza bruta o alla vulnerabilità del KDC mantengano il Kerberos fuori da Internet. Il protocollo è stato ragionevolmente ben controllato, attaccato, riparato e aggiornato da oltre 20 anni. Il pezzo di autenticazione client (macchina) da solo fornisce una protezione eccezionale contro un numero di attacchi che ci si aspetta su una grande rete aperta come Internet.

    
risposta data 12.09.2013 - 15:35
fonte
7

Lo stesso Kerberos è generalmente sicuro da usare su Internet. Dopotutto, è stato progettato per essere sicuro su una delle reti pubbliche più ostili al mondo: la rete del campus del MIT.

Un whitepaper su Kerberos, "Perché Kerberos è una soluzione di sicurezza credibile?" risolve tutti i punti che hai sollevato . Per citare in parte:

A password that is never disclosed or sent over a network is much more difficult for an attacker to purloin. Consequently, Kerberos authentication of users does not require that passwords be presented to the authentication service. Instead, the Kerberos authentication service uses cryptographic protocols whereby the user can prove possession of a password without actually revealing it.

In a distributed environment, it would be awkward in the extreme to maintain shared secrets such as passwords on every client and server that needs to authenticate requests. Furthermore, distributing shared secrets across many systems increases potential vulnerabilities in direct proportion to the number of systems—a problem exacerbated by the “weakest link” phenomenon. Kerberos addresses this requirement by maintaining a centralized database that is distributed across only a few authentication servers. While overall security is critically dependent on protecting this central database, it is much easier to harden a few special-purpose servers against attacks than to protect many general-purpose systems. The central control over authentication secrets also makes it easier to issue new credentials, revoke existing ones, and recover from compromised credentials.

The Kerberos developers assumed that anyone could eavesdrop on network traffic, could claim to be any user, and could set up rogue servers capable of posing as any legitimate service, including the Kerberos services themselves. Encryption was used to prevent eavesdropping attacks, and session keys were introduced along with timestamps to prevent replay attacks. When users (or hosts/services) authenticate to the Kerberos authentication service, the authentication service in turn authenticates itself to the user (or host/service) by proving it knows the previously established shared secret. A by-product of these counter-measures is that Kerberos provides protection against man-in-the-middle attacks, which were generally regarded as infeasible at the time, and for more than a decade after Kerberos was initially deployed. Sadly, man-in-the-middle attacks are no longer mere conjecture, and are all too common in today’s Internet web, which was not designed with a hostile environment in mind.

Se riesci a unire in modo ragionevole tutti i sistemi all'ambito Kerberos, ad esempio sono tutti siti all'interno della tua azienda, quindi dovrebbe essere appropriato. Tuttavia, non cripta necessariamente tutto ; per esempio, HTTP sarebbe ancora non criptato. Alcuni servizi come NFS, tuttavia, possono crittografare i loro flussi di dati utilizzando Kerberos. A seconda delle applicazioni e dei dati che trasmetti, potresti comunque voler utilizzare una VPN tra i siti.

Ma se le tue applicazioni saranno aperte al pubblico, allora Kerberos probabilmente non è quello che vuoi.

    
risposta data 08.01.2014 - 04:23
fonte

Leggi altre domande sui tag