Com'è la stringa casuale M1uG*xgRCthKWwjIjWc*010iSthY9buc
essere rilevato come troppo semplicistico/sistematico per una password secondo passwd e cracklib-check? Provalo sulla tua macchina e vedi
echo "M1uG*xgRCthKWwjIjWc*010iSthY9buc" | cracklib-check
Nota che questa non è la mia password, ma un'altra stringa generata casualmente dallo stesso generatore di password casuali che produce lo stesso risultato.
Risposta accettata:
Poiché cracklib è open source, la risposta può essere trovata nel codice sorgente.
"Troppo semplicistico/sistematico" significa che ci sono troppi caratteri preceduti da uno dei loro vicini alfabetici. Quindi "ab" o "ba" sono considerati cattivi, ma "ac" o "ca" sono OK poiché la b è omessa.
Prima di questa patch del 02-03-2010, consente al massimo quattro caratteri che presentano questa caratteristica. Ad esempio, "bar12345" fallirebbe, perché i caratteri "a", "2", "3", "4" e "5" sono vicini alfabetici dei caratteri precedenti.
slm ha scoperto nella sua risposta che M1uG*xgRCthKWwjIjWc*010iS
era OK, mentre M1uG*xgRCthKWwjIjWc*010iSt
non è. Analizziamo. Ecco i caratteri che cracklib-check ritiene siano indicazioni di una password sistematica:
M1uG*xgRCthKWwjIjWc*010iS
^^ ^^
che è inferiore al massimo di quattro, ma aggiungendo t:
M1uG*xgRCthKWwjIjWc*010iSt
^^ ^^ ^
lo spinge al di sopra del limite, poiché T segue S (sembra che il test non faccia distinzione tra maiuscole e minuscole).
La patch modifica il limite massimo in modo che dipenda dalla lunghezza totale della password, per evitare falsi positivi come questo.