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

--SNiP--
# Use SHA512 to encrypt password.
ENCRYPT_METHOD SHA512
--SNiP--

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

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