Solución 1:
Esto se debe a que el cifrado basado en DES (también conocido como 'descifrar') trunca las contraseñas en 8 bytes y solo verifica los primeros 8 con el propósito de verificar la contraseña.
Esa es la respuesta a su pregunta directa, pero aquí hay algunos consejos generales implícitos en su contexto:
-
Afortunadamente, según mi lectura,
MD5
en/etc/login.defs
es en realidad md5crypt ($1$), que, aunque un poco desactualizado y declarado obsoleto por su autor, sigue siendo muy superior a la cripta basada en DES (y definitivamente ¡mucho mejor que un hachís puro y sin sal como el MD5 normal! La mayoría de los hashes sin sal se pueden descifrar en GPU básicas a tasas de miles de millones. por segundo) -
Parece
SHA256
(en realidad sha256crypt) ySHA512
(en realidad sha512crypt) también están allí. Yo elegiría uno de esos en su lugar. -
Si establece su contraseña en
password
o algo debajo de cada esquema, puede verificar visualmente si mi conclusión de que son las variantes de -crypt es correcta o no (los ejemplos aquí se toman de los hash de ejemplo hashcat, todos 'hashcat', algunos envueltos para facilitar la lectura):
No recomendado:tipos de hash heredados o sin sal, demasiado "rápidos" (tasas de descifrado) para el almacenamiento de contraseñas:
MD5 - 8743b52063cd84097a65d1633f5c74f5
SHA256 - 127e6fbfe24a750e72930c220a8e138275656b8e5d8f48a98c3c92df2caba935
SHA512 - 82a9dda829eb7f8ffe9fbe49e45d47d2dad9664fbb7adf72492e3c81ebd3e2 \
9134d9bc12212bf83c6840f10e8246b9db54a4859b7ccd0123d86e5872c1e5082f
descrypt - 48c/R8JAv757A
Bien, mucho mejor que sin sal, sin truncamiento, pero ya no es lo suficientemente resistente a la fuerza bruta en el hardware moderno:
md5crypt - $1$28772684$iEwNOgGugqO9.bIz5sk8k/
Mejor:hachís relativamente modernos con grandes sales y factores de trabajo:
sha256crypt - $5$rounds=5000$GX7BopJZJxPc/KEK$le16UF8I2Anb.rOrn22AUPWvzUETDGefUmAV8AZkGcD
sha512crypt - $6$52450745$k5ka2p8bFuSmoVT1tzOyyuaREkkKBcCNqoDKzYiJL9RaE8yMnPgh2XzzF0NDrUhgrcLwg78xs1w5pJiypEdFX/
De estos, solo descifra los truncados en 8. Los dos últimos son tu mejor opción.
(Nota al margen:las sales de solo dígitos en los ejemplos md5crypt y sha512crypt anteriores son solo efectos secundarios de cómo hashcat crea hashes de ejemplo; las sales reales y saludables generalmente se extraen de un espacio de claves mucho más grande).
Tenga en cuenta también que solo estoy enumerando los tipos de hash compatibles con /etc/login.defs en esta plataforma. Para uso general, incluso sha256crypt y sha512crypt han sido reemplazados, primero por bcrypt y luego por hashes verdaderamente resistentes a ataques paralelos como scrypt y la familia Argon2. (Tenga en cuenta, sin embargo, que para los inicios de sesión interactivos que deberían completarse en menos de un segundo, bcrypt es en realidad más resistente a los ataques que este último)
Solución 2:
Modifiqué esto en /etc/login.defs
:
PASS_MAX_LEN 8
problema solucionado.
Adiciones importantes:
Después de cambiar los parámetros anteriores, aunque puedo establecer una contraseña de más de 8 dígitos, sigue siendo inválida porque la contraseña real son solo los primeros 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, finalmente puedo establecer una contraseña de root que es realmente más grande que ocho.