Se hai mai ricevuto un messaggio secondo cui la tua nuova password è troppo simile a quella vecchia, potresti essere curioso di sapere come il tuo sistema Linux "sa" che sono troppo simili. Il post di domande e risposte di SuperUser di oggi offre una sbirciatina dietro il "sipario magico" di ciò che sta accadendo a un lettore curioso.
La sessione di domande e risposte di oggi ci arriva per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento guidato dalla comunità di siti web di domande e risposte.
Screenshot per gentile concessione di marc falardeau (Flickr) .
La domanda
Il lettore SuperUser LeNoob vuole sapere come un sistema Linux "sa" che le password sono troppo simili tra loro:
Ho provato a cambiare la password di un utente su varie macchine Linux alcune volte e quando la nuova password era molto simile a quella vecchia, il sistema operativo diceva che erano troppo simili.
Mi sono sempre chiesto, come fa il sistema operativo a saperlo? Pensavo che le password fossero state salvate come hash. Ciò significa che quando il sistema è in grado di confrontare la nuova password per somiglianza con quella vecchia, viene effettivamente salvata come testo normale?
Come fa un sistema Linux a "sapere" che le password sono troppo simili tra loro?
La risposta
Il collaboratore di SuperUser slhck ha la risposta per noi:
Poiché è necessario fornire sia la vecchia che la nuova password quando si utilizza passwd, possono essere facilmente confrontate in testo normale.
La tua password viene effettivamente sottoposta ad hashing quando viene finalmente memorizzata, ma fino a quando ciò non accade, lo strumento in cui stai inserendo la tua password può semplicemente accedervi direttamente.
Questa è una caratteristica di Sistema PAM che viene utilizzato in background dello strumento passwd. PAM è utilizzato dalle moderne distribuzioni Linux. Più specificamente, pam_cracklib è un modulo per PAM che gli consente di rifiutare le password in base a somiglianze e punti deboli.
Non sono solo le password troppo simili a essere considerate insicure. Il codice sorgente ha vari esempi di ciò che può essere verificato, ad esempio se una password è un palindromo o qual è la distanza di modifica tra due parole. L'idea è di rendere le password più resistenti agli attacchi del dizionario.
Vedi il manpage pam_cracklib per maggiori informazioni.
Assicurati di leggere il resto della vivace discussione su SuperUser tramite il thread dell'argomento collegato di seguito.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere altre risposte da altri utenti esperti di tecnologia Stack Exchange? Dai un'occhiata al thread di discussione completo qui .