Manuale di Sun Enterprise Authentication Mechanism

Gestione delle password

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.

Suggerimento per la scelta della password

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:

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:


Avvertenza - Avvertenza -

Non usare questi esempi. Le password che compaiono nei manuali sono le prime ad essere provate dagli utenti malintenzionati.


Modifica della password

La password di Kerberos può essere cambiata in due modi:

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.

Esempi: Modifica della password

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. 
 

Concessione dell'accesso al proprio account

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:

Figura 6-1 Uso del file .k5login

Graphic

(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:

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.

Esempi: Uso del file .k5login

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]%