Kerberos e dual boot

Da Security e-Book.

Nel paragrafo “Windows 2000/XP” di questo capitolo si è accennato al fatto che non è possibile usare lo stesso principal Kerberos sia per ambienti Unix che per ambienti Windows. Il problema che deriva dal non poter riusare lo stesso principal, quindi lo stesso hostname, è particolarmente sentito in un ambiente dual boot, in cui l’hostname della macchina è identico sia per l’ambiente Unix che per l’ambiente Windows. Il problema è dovuto ad un parametro della chiave di Kerberos, ovvero il Key Version Number, conosciuto anche come KVNO, che viene incrementato ogni qual volta viene apportata una modifica alla chiave. Questo parametro viene controllato dal KDC all’atto dell’ottenimento del TGT, insieme ovviamente alla chiave simmetrica ed al clockskew. Esportare la chiave per Unix con l’opzione ktadd della utility kadmin incrementa il KVNO, mentre Windows presuppone che il KVNO sia impostato al valore 1: questa è l’incongruenza che fa sì che non si possa usare la stessa chiave sia per Windows che per Unix in un ambiente dual boot. Esiste comunque un modo per aggirare il problema: creare un keytab sul sistema Unix senza esportarlo dal KDC, partendo quindi dalla password usata durante la creazione del principal sul KDC, in maniera simile a quello che avviene con Windows. Ipotizziamo di aver installato una doppia partizione Linux/Windows sul sistema picard e che il sistema sia acceso e funzionante in Linux. Una volta collegatosi con l’utente root, invocare la utility ktutli e, dal prompt della stessa, procedere come segue:

# ktutil
addent -password -p host/picard.azienda.it@AZIENDA.IT -k 1 -e des-cbc-crc
(verrà chiesta la password, inserire quella relative al principal di picard, ovvero miapassword5)
wkt /etc/krb5.keytab

Vediamo in dettaglio le operazioni. Il comando addent crea in memoria una chiave Kerberos attraverso una password (opzione –password) relativa al principal host/picard.azienda.it@AZIENDA.IT con KVNO di 1 (opzione –k) e con la encryption della chiave compatibile con il KDC (opzione –e). Il secondo comando, wkt, scrive sul keytab della macchina la chiave appena creata in memoria. È bene ricordarsi che vanno assegnati i permessi di scrittura/lettura al solo utente di root sul keytab; nessun permesso va assegnato agli altri utenti.

Voci correlate

Strumenti personali
Pubblicità