Dopo l'installazione di SEAM, l'utente possiede due password: la password normale di Solaris e una password per Kerberos. Le due password possono essere uguali o differenti.
I comandi non basati su Kerberos, come login, vengono normalmente configurati mediante il modulo PAM in modo da autenticarsi sia con Kerberos che con UNIX. Se si utilizzano password differenti, è necessario inserirle entrambe per eseguire il login con l'autenticazione appropriata. Se però le due password sono uguali, la prima password inserita per UNIX verrà accettata anche da Kerberos.
Purtroppo, l'uso di una stessa password può compromettere la sicurezza. Infatti, se qualcuno dovesse scoprire la password per Kerberos di un utente, egli scoprirà automaticamente anche la sua password per UNIX. In ogni caso, l'uso della stessa password per UNIX e Kerberos offre sempre una maggiore sicurezza rispetto a un sito senza Kerberos, poiché in ambiente Kerberos le password non vengono trasmesse attraverso la rete. In genere, ogni sito avrà definito una serie di criteri per indirizzare gli utenti nella scelta delle impostazioni.
La password è l'unico modo con cui Kerberos può verificare l'identità dell'utente. Se questa password viene scoperta, la protezione di Kerberos diventa inutile, poiché l'identità dell'utente "derubato" può essere usata da un altro utente (per inviare messaggi, leggere, modificare o eliminare i file o eseguire il login in altri sistemi) senza che nessuno possa scoprirlo. Per questa ragione, è assolutamente essenziale scegliere una buona password e tenerla segreta. Se occorre concedere a un altro utente l'accesso al proprio account, si può concederlo usando Kerberos senza rivelare la propria password (vedere "Concessione dell'accesso al proprio account"). Non rivelare mai la propria password ad altri utenti, neppure all'amministratore di sistema. È inoltre buona norma cambiare la password frequentemente, in particolare ogni volta che si teme che qualcuno possa averla scoperta.
Le password possono includere quasi tutti i caratteri (ad eccezione dei tasti di controllo e del tasto Return). Una buona password deve essere facile da ricordare per l'utente, ma difficile da indovinare per tutti gli altri. Si sconsiglia di usare come password:
Parole che si trovano nel vocabolario
Nomi comuni o molto diffusi
Nomi di persone o personaggi famosi
Il nome dell'utente in qualunque forma (scritto al contrario, ripetuto due volte, ecc.)
Nomi del coniuge, dei figli o dei propri animali
La propria data di nascita o quella di un parente
Il proprio codice fiscale, il numero della patente o del passaporto o altri numeri di identificazione
Le password di esempio usate in questo o in altri manuali
Una buona password dovrebbe essere formata da almeno otto caratteri, e dovrebbe includere lettere maiuscole e minuscole, numeri e simboli di punteggiatura. Si consiglia ad esempio di utilizzare:
Acronimi, come "HlmcaSF" (per "Ho lasciato il mio cuore a San Francisco")
Parole senza senso che siano facili da pronunciare, come "BumpaBum" o "Scuppiripicchio!"
Parole scritte deliberatamente in modo errato, come "6inponto" o "GrrandeFfrattelllo"
Non usare questi esempi. Le password che compaiono nei manuali sono le prime ad essere provate dagli utenti malintenzionati.
La password di Kerberos può essere cambiata in due modi:
Con il normale comando passwd di UNIX. Quando SEAM è installato, il comando passwd di Solaris richiede automaticamente anche una nuova password per Kerberos.
L'uso di passwd è preferibile all'uso di kpasswd poiché permette di impostare entrambe le password (per UNIX e Kerberos) con una stessa operazione. In genere, tuttavia, non è necessario cambiare entrambe le password con passwd; in molti casi, si può cambiare solo la password di UNIX senza modificare la password di Kerberos o viceversa.
Il comportamento di passwd dipende dalla configurazione del modulo PAM. In alcune configurazioni può essere necessario cambiare entrambe le password. Per alcuni siti è necessario cambiare la password di UNIX, mentre altri richiedono la modifica della password di Kerberos.
Con il comando kpasswd. kpasswd è molto simile a passwd, ma kpasswd cambia solo le password di Kerberos, mentre per cambiare la password di UNIX è necessario usare passwd.
Un'altra differenza consiste nel fatto che kpasswd può cambiare una password per un nome principale di Kerberos che non corrisponde a un utente UNIX valido. Ad esempio, davide/admin è un nome principale di Kerberos, ma non è un utente UNIX effettivo, perciò in questo caso è necessario usare kpasswd invece di passwd.
Dopo aver cambiato la password, occorre qualche tempo perché questa modifica venga propagata nell'intero sistema (soprattutto se la rete è molto estesa). A seconda della configurazione del sistema, tale tempo può variare da pochi minuti a un'ora o più. Se occorre acquisire nuovi ticket Kerberos poco dopo la modifica della password, provare prima la nuova password. Se la nuova password non funziona, riprovare usando quella vecchia.
Kerberos V5 permette agli amministratori di sistema di impostare i criteri per le password accettabili per ogni utente. Tali criteri possono essere definiti a livello di utente singolo (o mediante un insieme di criteri predefinito), per maggiori informazioni sui criteri, vedere "Amministrazione dei criteri". Ad esempio, si supponga che i criteri associati a giovanna (denominati crigio) impongano che la password debba avere una lunghezza minima di otto caratteri e debba includere almeno due tipi di caratteri. In questo caso, kpasswd rifiuterà i tentativi di usare una password come "falena":
% kpasswd kpasswd: Modifica della password per giovanna@EURO.SPA.IT. Vecchia password: <giovanna inserisce la sua password corrente> kpasswd: La password di giovanna@EURO.SPA.IT è controllata dai criteri crigio che richiedono almeno 8 caratteri di almeno 2 classi (le cinque classi sono lettere minuscole, lettere maiuscole, numeri e tutti gli altri caratteri). Nuova password: <giovanna inserisce 'falena'> Nuova password (ripetere): <giovanna reinserisce 'falena'> kpasswd: La nuova password è troppo corta. Scegliere una password che contenga almeno 8 caratteri. |
A questo punto, giovanna sceglie la password "falena1949". 'falena1949' soddisfa i criteri specificati, poiché ha una lunghezza maggiore di otto lettere e contiene due tipi differenti di caratteri (numeri e lettere minuscole):
% kpasswd kpasswd: Modifica della password per giovanna@EURO.SPA.IT. Vecchia password: <giovanna inserisce la sua password corrente> kpasswd: La password di giovanna@EURO.SPA.IT è controllata dai criteri crigio che richiedono almeno 8 caratteri di almeno 2 classi (le cinque classi sono lettere minuscole, lettere maiuscole, numeri e tutti gli altri caratteri). Nuova password: <giovanna inserisce 'falena1949'> Nuova password (ripetere): <giovanna reinserisce 'falena1949'> Password per Kerberos modificata. |
Nell'esempio seguente, davide modifica sia la sua password UNIX che la sua password Kerberos con passwd.
% passwd passwd: Changing password for davide Enter login (NIS+) password: <inserire la password UNIX corrente> New password: <inserire la nuova password UNIX> Re-enter password: <confermare la nuova password UNIX> Old KRB5 password: <inserire la password Kerberos corrente> New KRB5 password: <inserire la nuova password Kerberos> Re-enter new KRB5 password: <confermare la nuova password Kerberos> |
Nell'esempio precedente, passwd chiede di inserire sia la password UNIX che la password Kerberos; tuttavia, se nel modulo PAM è abilitata l'opzione try_first_pass, la password Kerberos verrà impostata in modo automatico come uguale alla password UNIX. (Questa è la configurazione predefinita.) In questo caso, davide dovrà usare kpasswd per impostare una stringa diversa come password Kerberos, come mostrato nell'esempio seguente.
In questo esempio, davide cambia solo la sua password Kerberos con kpasswd:
% kpasswd kpasswd: Modifica della password per davide@EURO.SPA.IT. Vecchia password: <inserire la password Kerberos corrente> Nuova password: <inserire la nuova password Kerberos> Nuova password (ripetere): <confermare la nuova password Kerberos> Password per Kerberos modificata. |
In questo esempio, davide cambia la password per il nome principale Kerberos davide/admin (che non è un utente UNIX valido). A questo scopo, egli deve utilizzare kpasswd.
% kpasswd davide/admin kpasswd: Modifica della password per davide/admin. Vecchia password: <inserire la password Kerberos corrente> Nuova password: <inserire la nuova password Kerberos> Nuova password (ripetere): <confermare la nuova password Kerberos> Password per Kerberos modificata. |
Con Kerberos, è possibile concedere a un altro utente l'accesso al proprio account (con la relativa identità), senza bisogno di rivelare la password, collocando un file .k5login nella propria directory iniziale. Il file .k5login contiene un elenco di uno o più nomi principali Kerberos corrispondenti alle persone a cui si desidera concedere l'accesso al proprio account. (Ogni nome principale deve trovarsi su una riga diversa.)
Si supponga che l'utente davide abbia un file .k5login nella propria directory iniziale con il seguente contenuto:
giovanna@EURO.SPA.IT mario@SPA.ORG |
Questo file permette agli utenti giovanna e mario di assumere l'identità di davide, purché abbiano già i ticket Kerberos necessari nei rispettivi settori. Ad esempio, giovanna può eseguire rlogin sul sistema di davide (torino), con l'identità di davide, senza dover inserire la sua password:
(Se la directory iniziale di davide fosse attivata via NFS, con i protocolli Kerberos V5, da un altro (terzo) sistema, giovanna, per poter accedere alla sua directory iniziale, dovrebbe avere un ticket inoltrabile. Per un esempio dell'uso dei ticket inoltrabili, vedere "Creare un ticket".)
Se si prevede di dover eseguire il login in altri sistemi attraverso la rete, può essere comodo includere il proprio nome principale Kerberos nei file .k5login di questi sistemi.
L'uso di un file .k5login è molto più sicuro della rivelazione della propria password, in quanto:
L'accesso può essere revocato in qualunque momento rimuovendo i nomi principali degli altri utenti dal proprio file .k5login.
Anche se gli utenti nominati nel file .k5login della directory iniziale di un utente hanno pieno accesso all'account di quell'utente sul sistema (o su più sistemi, se il file .k5login è condiviso, ad esempio tramite NFS), essi non ereditano i suoi privilegi di rete: i servizi basati su Kerberos autorizzano infatti l'accesso in base all'identità dell'utente richiedente, non in base a quella dell'utente che concede l'accesso. Questo significa che giovanna potrà eseguire il login nel sistema di mario ed eseguire operazioni su quel sistema, ma, se userà un programma basato su Kerberos come ftp o rlogin, dovrà farlo come se stessa.
Kerberos registra in un log gli utenti che ricevono i ticket, perciò l'amministratore di sistema potrà scoprire. all'occorrenza, chi possa usare l'identità di un certo utente in un dato momento.
Un modo comune di usare il file .k5login è quello di collocarlo nella directory iniziale di root, assegnando l'accesso root per il sistema ai nomi principali Kerberos elencati. Questo permette agli amministratori di sistema di diventare root localmente, o di eseguire un login remoto come root senza dover rivelare la password di root, e senza che nessuno debba digitare la password di root attraverso la rete.
Si supponga che giovanna decida di eseguire il login nel sistema torino.spa.it come root. Avendo una voce per il suo nome principale nel file .k5login della directory iniziale di root su torino.spa.it, essa non avrà bisogno di digitare la sua password:
% rlogin torino.spa.it -l root -x Questa sessione rlogin utilizza la cifratura DES per tutte le trasmissioni di dati. Ultimo login: gio 20 giu 16:20:50 da plutone SunOS Release 5.7 (GENERIC) #2: Tue Nov 14 18:09:31 EST 1998 torino[root]% |