Passa al contenuto principale

10. Security Considerations (Considerazioni sulla Sicurezza)

10. Security Considerations (Considerazioni sulla Sicurezza)

Questa sezione discute considerazioni sulla sicurezza relative all'uso del protocollo Kerberos.

Assunzioni di Sicurezza

Kerberos fa diverse assunzioni fondamentali sull'ambiente di deployment:

  1. Sicurezza del KDC: Il KDC deve essere eseguito su un host fisicamente e logicamente sicuro. Se il KDC viene compromesso, l'intero sistema di autenticazione è compromesso.

  2. Protezione delle chiavi segrete: I principal devono proteggere le loro chiavi segrete. Se una chiave segreta viene compromessa, un attaccante può impersonare quel principal.

  3. Sincronizzazione dell'orologio: Gli host devono avere orologi approssimativamente sincronizzati. La sincronizzazione dell'orologio stessa deve essere protetta dagli attacchi.

  4. Password forti: Quando le chiavi segrete sono derivate da password, gli utenti devono scegliere password forti che resistano agli attacchi di dizionario offline.

Minacce e Contromisure

Attacchi di replay: Kerberos utilizza timestamp e nonce per rilevare e prevenire attacchi di replay. I server mantengono cache di autenticatori recenti.

Attacchi di dizionario offline: Un attaccante può intercettare messaggi KRB_AS_REP e tentare attacchi di dizionario offline contro password deboli. La pre-autenticazione può mitigare questo rischio.

Attacchi di negazione del servizio: Kerberos non protegge esplicitamente contro attacchi di negazione del servizio. Gli amministratori devono implementare protezioni a livello di rete.

Compromissione della chiave di sessione: Le chiavi di sessione sono temporanee e limitate in ambito, riducendo l'impatto se vengono compromesse.

Autenticazione inter-realm: Le applicazioni DOVREBBERO verificare il campo transited nei ticket per garantire che solo realm fidati siano stati coinvolti nel processo di autenticazione.

Considerazioni sulla Crittografia

  • Algoritmi di cifratura: Le implementazioni DOVREBBERO supportare algoritmi di cifratura forti e moderni. Gli algoritmi legacy deboli DOVREBBERO essere disabilitati quando possibile.

  • Lunghezza delle chiavi: Utilizzare lunghezze di chiave adeguate per il livello di sicurezza desiderato.

  • Numeri di utilizzo delle chiavi: Utilizzare numeri di utilizzo delle chiavi appropriati per prevenire attacchi di sostituzione crittografica.

Considerazioni sull'Autorizzazione

Kerberos fornisce autenticazione, non autorizzazione. Le applicazioni NON DEVONO assumere che il possesso di un ticket valido implichi autorizzazione. Devono essere implementati controlli di autorizzazione separati.

Considerazioni sulla Gestione delle Chiavi

  • Rotazione delle chiavi: Le chiavi segrete DOVREBBERO essere cambiate periodicamente.
  • Distribuzione delle chiavi: La distribuzione iniziale delle chiavi segrete deve avvenire attraverso canali sicuri.
  • Archiviazione delle chiavi: Le chiavi segrete devono essere archiviate in modo sicuro, preferibilmente utilizzando protezione hardware quando disponibile.

Limitazioni Note

Kerberos ha limitazioni note che gli amministratori devono comprendere:

  • Non protegge contro attacchi se il client o il server è compromesso
  • Non protegge il contenuto dei messaggi a meno che non siano utilizzati KRB_SAFE o KRB_PRIV
  • La verifica dell'identità si applica solo all'inizio della connessione a meno che non sia utilizzata protezione per messaggio
  • Vulnerabile agli attacchi di password deboli

Le implementazioni e i deployment DOVREBBERO considerare attentamente questi problemi di sicurezza e implementare difese a strati appropriate.