¿Qué métodos se utilizan para cifrar las contraseñas en / etc / passwd y / etc / shadow?

19

Un examen cuidadoso de los archivos /etc/passwdy /etc/shadowrevela que las contraseñas almacenadas se codifican mediante alguna forma de función de codificación.

Una búsqueda rápida en Google revela que, de forma predeterminada, las contraseñas se cifran con DES . Si una entrada comienza con $, entonces indica que se utilizó alguna otra función de hashing.

Por ejemplo, algunas entradas en mi máquina Ubuntu comienzan con $6$...

¿Qué representan los diversos números?

Nathan Osman
fuente

Respuestas:

28

La lista completa está en man 3 crypt( versión 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 puede ser $2$o $2a$según Wikipedia Crypt (Unix)) .

Eso $6$significa SHA-512.

El que utiliza su sistema se rige por las opciones pasadas al módulo PAM pam_unix .

El valor predeterminado en la última versión de Ubuntu se establece en /etc/pam.d/common-password:

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

lo que significa que la próxima vez que cambie su contraseña, se cifrará con SHA-512, suponiendo que su cuenta sea local, en lugar de NIS / LDAP / Kerberos, etc.

Ver también:

Mikel
fuente
Una rápida verificación doble de mi /etc/shadowmuestra 2 entradas que comienzan con $6$.
Nathan Osman
Tenga en cuenta que SHA-256 y SHA-512 son parte del conjunto de funciones hash SHA-2.
mattdm
44
Tenga en cuenta que los hashes de la cripta basados ​​en SHA-2 no son simples SHA-2, lo que sería malo ya que SHA-2 es débil contra los ataques de diccionario. Los esquemas de cripta SHA-2 usan los hashes simples como bloque de construcción, pero agregan un factor de trabajo variable (para ralentizar los ataques de diccionario) y una sal.
CodesInChaos
En mi máquina Ubuntu, la contraseña de root tiene un símbolo de exclamación ( !). Leer man shadow, significa que la contraseña está bloqueada, por lo que no puede iniciar sesión directamente con la contraseña de Unix. Tiene que ver con Ubuntu configurar la cuenta raíz deshabilitada por defecto.
Akronix