Il problema legato all'utilizzo del file delle password è che ogni utente può vedere
tutte le password cifrate e, anche se è difficile invertire l'algoritmo di cifratura,
è possibile cifrare,
con lo stesso algoritmo, un gran numero di stringhe e quindi
confrontarle con quelle cifrate del file delle password.
I tentativi di confronto delle cifrature delle password sono più efficaci per
intromettersi in un sistema che il
ripetere tentativi di login. Un cracker che ha in possesso il file delle password
di un sistema ha molte più possibilità di
intromettersi!
Per risolvere questo problema è stato introdotto il file shadow che
contiene le password in forma cifrata e a cui può
accedere solo l'utente root. Tutti i campi relativi alle password nel file /etc/passwd
contengono una x; infatti i dati relativi a queste sono
stati spostati nel file /etc/shadow.
Questo costituisce un sistema di difesa supplementare dagli attacchi di un
cracker.
La versione shadow ha delle particolarità in più rispetto al passwd normale:
una di queste è il controllo della complessità
della nuova password inserita. Per esempio, quando un utente tenta di cambiare
la password, se questa è troppo semplice
viene rifiutata. Il calcolo della complessità è però abbastanza elementare e
non garantisce affatto che la password sia
introvabile. Semplicemente costringe gli cracker a creare dizionari molto più
ampi e quindi a spendere molto più tempo.
Infatti l'algoritmo che calcola la complessità prevede che ci sia almeno una
lettera maiuscola, un numero o un carattere di
punteggiatura. Inoltre la password deve differire per più di un carattere
rispetto alla precedente. La tecnica shadow
supporta però una interessante funzione preventiva, che è il controllo della
password con un vocabolario al momento in cui
viene inserita. Per utilizzarla occorre procurarsi la libreria Cracklib di
Alec Muffett. Ovviamente non si può fornire alla
Cracklib un vocabolario troppo ampio. Quindi l'ideale è di usare un piccolo
vocabolario con Cracklib e poi, periodicamente,
lanciare Crack con un vocabolario più completo.