Come fa Linux a sapere che una nuova password è simile a quella vecchia?
Se hai mai ricevuto un messaggio che la tua nuova password è troppo simile a quella precedente, potresti essere curioso di sapere come il tuo sistema Linux 'sa' che sono troppo simili. Il post di Q & A di SuperUser di oggi fornisce una sbirciatina dietro la "cortina magica" di ciò che sta accadendo a un lettore curioso.
La sessione di domande e risposte di oggi ci viene fornita per gentile concessione di SuperUser, una suddivisione di Stack Exchange, un raggruppamento di siti Web di domande e risposte basato sulla comunità.
Schermata per gentile concessione di marc falardeau (Flickr).
La domanda
Lettore SuperUser LeNoob vuole sapere come un sistema Linux 'sa' che le password sono troppo simili tra loro:
Ho provato a cambiare una password 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 lo sa il sistema operativo? Pensavo che le password fossero salvate come hash. Significa che quando il sistema è in grado di confrontare la nuova password per la somiglianza con la vecchia che 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:
Dal momento che è necessario fornire sia la vecchia che la nuova password quando si utilizza passwd, possono essere facilmente confrontati in testo normale.
La tua password è effettivamente cancellata quando viene finalmente archiviata, ma fino a quel momento, lo strumento in cui inserisci la tua password può semplicemente accedervi direttamente.
Questa è una funzionalità del sistema PAM che viene utilizzata sullo sfondo dello strumento passwd. PAM è usato dalle moderne distribuzioni Linux. Più specificamente, pam_cracklib è un modulo per PAM che consente di rifiutare password basate su similitudini e debolezze.
Non sono solo le password troppo simili che possono essere considerate insicure. Il codice sorgente contiene vari esempi di cosa è possibile controllare, ad esempio se una password è un palindromo o quale è la distanza di modifica tra due parole. L'idea è di rendere le password più resistenti agli attacchi del dizionario.
Vedere la manpage pam_cracklib per ulteriori informazioni.
Assicurati di leggere il resto della vivace discussione su SuperUser tramite l'argomento thread collegato sotto.
Hai qualcosa da aggiungere alla spiegazione? Audio disattivato nei commenti. Vuoi leggere più risposte dagli altri utenti di Stack Exchange esperti di tecnologia? Controlla la discussione completa qui.