27 votos

¿Por qué la longitud máxima de la contraseña de root de OpenWrt es de 8 caracteres?

Cuando intento establecer la contraseña de root :

 root@OpenWrt:~# passwd
Changing password for root
Enter the new password (minimum of 5, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
 

Parece que la longitud máxima es 8. Si intento establecer una contraseña de más de 8, solo los primeros 8 caracteres son válidos. ¿Cómo puedo configurar una contraseña más larga para root ?

Mi versión OpenWrt:

 Linux OpenWrt 4.14.108 #0 SMP Wed Mar 27 21:59:03 2019 x86_64 GNU/Linux
 

35voto

Royce Williams Puntos 750

Esto es debido a que DES basado en la cripta (AKA 'descrypt') trunca contraseñas de 8 bytes, y sólo comprueba los 8 primeros para el propósito de la verificación de contraseña.

Esa es la respuesta a su pregunta directa, pero aquí hay algunos consejos generales implícitas en su contexto:

  • Afortunadamente, desde mi lectura, MD5 en /etc/login.defs es en realidad md5crypt ($1$), el cual, aunque un poco anticuado, y declarado obsoleto por su autor, es todavía muy superior a la de DES-basado de la cripta (y sin duda mucho mejor que un crudas, sin sal hash como llanura MD5! La mayoría de mantequilla sin sal hash puede ser roto en los productos básicos GPUs en las tasas de miles de millones por segundo)

  • Parece SHA256 (en realidad sha256crypt) y SHA512 (en realidad sha512crypt) también están allí. Me volvería a escoger uno de esos en su lugar.

  • Si tu contraseña a password o algo debajo de cada esquema, se puede comprobar visualmente si o no mi conclusión de que son la -cripta variantes es la correcta (los ejemplos son tomados de la hashcat ejemplo hash, todos los 'hashcat', algunos ajustado para mejorar la legibilidad):

No se recomienda sin sal o legado hash tipos, demasiado "rápida" (grietas de las tasas) para el almacenamiento de contraseñas:

MD5         - 8743b52063cd84097a65d1633f5c74f5
SHA256      - 127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA512      - 82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e2 \
              9134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f
descrypt    - 48c/R8JAv757A

OK, mucho mejor que sin sal, sin truncamiento, pero no lo suficientemente resistentes a la fuerza bruta del hardware moderno:

md5crypt    - $1$28772684$iEwNOgGugqO9.bIz5sk8k/

Mejor - relativamente moderno hashes con gran sales y factores de trabajo:

sha256crypt - $5$rounds=5000$GX7BopJZJxPc/KEK$le16UF8I2Anb.rOrn22AUPWvzUETDGefUmAV8AZkGcD
sha512crypt - $6$52450745$k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX/

De estos, sólo descrypt trunca a las 8. Los dos últimos son su mejor apuesta.

(Nota: los dígitos solo sales en el md5crypt y sha512crypt ejemplos anteriores son sólo efectos secundarios de cómo hashcat crea ejemplo los hash; real, saludable sales son generalmente extraídos de una mucho más grande keyspace).

Tenga en cuenta también que soy sólo un listado de los tipos de hash que son compatibles con /etc/login.defs en esta plataforma. Para uso general, incluso sha256crypt y sha512crypt han sustituido - en primer lugar por bcrypt, y luego de verdad paralelo-ataque-resistente hash como scrypt y la Argon2 de la familia. (Tenga en cuenta, sin embargo, que para inicios de sesión interactivos que debe completar en menos de un segundo, bcrypt en realidad es más resistente al ataque de este último)

20voto

Alan42 Puntos 451

He modificado esta en /etc/login.defs:

PASS_MAX_LEN            8

problema fijo.


Adiciones importantes:

Después de cambiar los parámetros anteriores, a pesar de que puede establecer una contraseña de más de 8 dígitos, que aún no es válido debido a que la contraseña real es sólo la primera de ocho dígitos. No sé si este es mi problema.

Mi solución final es establecer

# ENCRYPT_METHOD DES

a

ENCRYPT_METHOD MD5

en /etc/login.defs.

Ahora, por fin puedo establecer la contraseña de root que es realmente mayor que ocho.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: