Quelles méthodes sont utilisées pour crypter les mots de passe dans / etc / passwd et / etc / shadow?


19

Un examen attentif des fichiers /etc/passwdet /etc/shadowrévèle que les mots de passe stockés sont hachés à l'aide d'une forme de fonction de hachage.

Une recherche rapide sur Google révèle que par défaut, les mots de passe sont cryptés à l'aide de DES . Si une entrée commence par $, cela indique qu'une autre fonction de hachage a été utilisée.

Par exemple, certaines entrées sur ma machine Ubuntu commencent par $6$...

Que représentent les différents chiffres?

Réponses:


28

La liste complète est en man 3 crypt( version web ):

          ID  | Method
          -------------------------------------------------
          1   | MD5
          2a  | Blowfish (on some Linux distributions)
          5   | SHA-256 (since glibc 2.7)
          6   | SHA-512 (since glibc 2.7)

(Blowfish peut être $2$ou $2a$selon Wikipedia Crypt (Unix) .)

Cela $6$signifie donc SHA-512.

Celui que votre système utilise est régi par les options passées au module pam_unix PAM .

La valeur par défaut sur la dernière version d'Ubuntu est définie dans /etc/pam.d/common-password:

password        [success=1 default=ignore]      pam_unix.so obscure sha512

ce qui signifie que la prochaine fois que vous modifierez votre mot de passe, il sera haché à l'aide de SHA-512, en supposant que votre compte est local, plutôt que NIS / LDAP / Kerberos, etc.

Voir également:


Une double vérification rapide de mon /etc/shadowmontre 2 entrées qui commencent par $6$.
— Nathan Osman

Notez que SHA-256 et SHA-512 font partie de l'ensemble de fonctions de hachage SHA-2.
— mattdm

4
Notez que les hachages de cryptage basés sur SHA-2 ne sont pas des SHA-2 simples, ce qui serait mauvais car SHA-2 ordinaire est faible contre les attaques par dictionnaire. Les schémas de cryptage SHA-2 utilisent les hachages simples comme bloc de construction, mais ajoutent un facteur de travail variable (pour ralentir les attaques par dictionnaire) et un sel.
— CodesInChaos

Sur ma machine Ubuntu, le mot de passe de root a un symbole de point d'exclamation ( !). En lecture man shadow, cela signifie que le mot de passe est verrouillé, vous ne pouvez donc pas vous connecter directement en utilisant le mot de passe Unix. Cela a à voir avec le compte root Ubuntu défini par défaut.
— Akronix
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.