Kézako

Linux hache et stocke les mots de passe dans /etc/shadow pour les comparer à la prochaine authentification.

Fonctionnement

C'est le deuxième champs de /etc/shadow qui contient toutes les informations du hash de mot de passe.
C'est sous la forme $id$salt$hash

-id : correspond à l'algorithme de hash
-salt : chaîne de caractères qui permet d'ajouter de la sécurité au hash de mot de passe
-hash : hash du mot de passe résultant de l'association de l'algorithme, du salt et du mot de passe

        id  | algo
        1   | MD5
        2a  | Blowfish (not in mainline glibc; added in some
            | Linux distributions)
        5   | SHA-256 (since glibc 2.7)
        6   | SHA-512 (since glibc 2.7)

(extrait de man 3 crypt)

Le salt peut aller jusqu'à 16 caractères, et pour le hash :

   MD5     | 22 characters
   SHA-256 | 43 characters
   SHA-512 | 86 characters

Les jeux de caractères du salt et du hash : [a–zA–Z0–9./]

Modifier l'algorithme de hash

Modifier cette ligne dans /etc/login.defs

1 --SNiP--
2 # Use SHA512 to encrypt password.
3 ENCRYPT_METHOD SHA512
4 --SNiP--

et dans /etc/pam.d/system-auth remplacer le sha512 :

1 --SNiP--
2 password    sufficient    pam_unix.so sha512 shadow nullok try_first_pass use_authtok
3 --SNiP--