Conservation des mots de passe avec GNU/Linux Slackware

Comme on le constate à la lecture du fichier Changelog de Slackware, beaucoup de changements ont été apportés pour la future version 14.0. Parmi ceux-ci, celui du 27 juin concerne la méthode de hachage utilisée pour conserver les mots de passe.

Lorsqu'un mot de passe est défini il est enregistré, ainsi que d'autres informations, dans le fichier /etc/shadow :

ellendhel:$1$INLWd/3q$ugULe03NIjY7H4bOt3TYa/:15525:0:99999:7:::

Comme pour le fichier /etc/passwd, les champs sont séparés par le caractère deux points ; le deuxième correspond à celui qui nous intéresse. Son contenu est sommairement expliqué dans la page de manuel correspondante (man 5 shadow) ; plus détails et d'exemples sont donnés dans la documentation de la fonction crypt (man crypt). Le caractère dollar y délimite trois informations : le type de hachage, le sel et enfin l'empreinte proprement dite. Les méthodes disponibles sont MD5, SHA-256, SHA-512 et dans certains cas Blowfish.

MD5 à déjà montré des faiblesses cryptographiques, les attaques contre les mots de passe deviennent de plus en plus sophistiquées, il est donc relativement prudent de "monter en gamme". SHA-256 sera maintenant appliqué par défaut pour les futures installations de Slackware (probablement pas pour les mises à jour). Si vous souhaitez modifier cela dès à présent, il vous suffit de modifier la directive ENCRYPT_METHOD du fichier /etc/login.defs en substiuant la valeur MD5 par SHA256, voire SHA512.

Cela n'est cependant pas appliqué aux mots de passes existants, il faudra utiliser la commande passwd pour redéfinir votre mot de passe habituel et constater la différence :

ellendhel:$5$AbqZRhIFJ$6Vf6fHB15MCIQOt.5B23kt3YEiPzbnbUz6eyhVhojm6:15525:0:99999:7:::

publié le 4 juillet 2012