usuarios - ¿Las contraseñas en los sistemas Unix/Linux modernos todavía están limitadas a 8 caracteres?
tipos de usuarios en linux (6)
Hace años, solía darse el caso de que las contraseñas de Unix estaban limitadas a 8 caracteres, o que si se establecía una contraseña de más de 8 caracteres, el extra no haría ninguna diferencia.
¿Sigue siendo así en la mayoría de los sistemas Unix / Linux modernos?
Si es así, ¿cuándo se hicieron posibles las contraseñas más largas en la mayoría de los sistemas?
¿Hay una manera fácil de saber si un sistema dado admite contraseñas más largas y, de ser así, cuál sería el máximo efectivo (si lo hubiera)?
He hecho algunas búsquedas en la web sobre este tema y no pude encontrar nada definitivo; gran parte de lo que surgió fue de principios de la década de 2000, cuando creo que el límite de 8 caracteres todavía era común (o lo suficientemente común como para justificar ese límite).
¿Estás preguntando por el algoritmo de crypt
?
http://linux.die.net/man/3/crypt
"Al tomar los 7 bits más bajos de cada uno de los primeros ocho caracteres de la clave ..."
"La versión glibc2 de esta función tiene las siguientes características adicionales. ... La clave completa es significativa aquí (en lugar de solo los primeros 8 bytes)".
Aquí hay un indicio de hace cuánto sucedió este cambio.
Glibc 2 HOWTO
Eric Green, [email protected]
v1.6, 22 June 1998
Aunque el algoritmo original basado en DES solo utilizó los primeros 8 caracteres de la contraseña, Linux, Solaris y otros sistemas más nuevos ahora también admiten otros algoritmos de hash de contraseña como MD5 que no tienen este límite. A veces es necesario continuar usando el algoritmo anterior si su red contiene sistemas más antiguos y si se usa NIS. Puede saber que el antiguo algoritmo basado en DES todavía se está utilizando si el sistema lo iniciará cuando ingrese solo los primeros 8 caracteres de su contraseña de> 8 caracteres.
Debido a que es un algoritmo hash, MD5 no tiene un límite intrínseco. Sin embargo, varias interfaces generalmente imponen un límite de al menos 72 caracteres .
Aunque originalmente la contraseña encriptada se almacenó en un archivo legible para todo el mundo ( /etc/passwd
), ahora generalmente se almacena en una base de datos shadow (por ejemplo, /etc/shadow
) que solo se puede leer por root. Por lo tanto, la fuerza del algoritmo ya no es tan importante como lo era antes. Sin embargo, si MD5 es inadecuado, Blowfish o SHA se pueden usar en algunos sistemas. Y Solaris admite módulos de cifrado de contraseña conectables, lo que le permite utilizar cualquier esquema loco . Por supuesto, si está utilizando LDAP o alguna otra base de datos de usuarios compartida, deberá seleccionar un algoritmo que sea compatible con todos sus sistemas.
En glibc2 (cualquier distribución de Linux moderna), la función de cifrado de contraseña puede usar MD5 / SHA-xxx (provocada por un prefijo de sal mágica) que luego considera importantes todos los caracteres de entrada (ver crypt man 3 ). Para una prueba simple en su sistema, podría intentar algo como:
#!/bin/perl -w
my $oldsalt = ''@@'';
my $md5salt = ''$1$@@$'';
print crypt("12345678", $oldsalt) . "/n";
print crypt("123456789", $oldsalt) . "/n";
print crypt("12345678", $md5salt) . "/n";
print crypt("12345678extend-this-as-long-as-you-like-0", $md5salt) . "/n";
print crypt("12345678extend-this-as-long-as-you-like-1", $md5salt) . "/n";
(que en mi sistema da)
@@nDzfhV1wWVg
@@nDzfhV1wWVg
$1$@@$PrkF53HP.ZP4NXNyBr/kF.
$1$@@$4fnlt5pOxTblqQm3M1HK10
$1$@@$D3J3hluAY8pf2.AssyXzn0
Otras variantes * ix son compatibles, por ejemplo, crypt (3) desde al menos Solaris 10 . Sin embargo, es una extensión no estándar: POSIX no la define .
Encontrarás este article de interés. Hay algo llamado PAM (Módulo de autenticación de contraseña) que ejecuta su contraseña a través de una serie de módulos (configurados en /etc/pam.d/passwd
o /etc/pam.conf
) para determinar si la contraseña es válida o no.
No para Linux. Solo es 8 si deshabilitas el hash MD5.
http://www.redhat.com/docs/manuals/linux/RHL-8.0-Manual/security-guide/s1-wstation-pass.html
También puede administrar políticas que apliquen contraseñas más largas y complejas.
Las longitudes completas se discuten aquí:
Pienso en el momento en que las contraseñas reales se movieron de / etc / passwd a shadow, en Linux. Supongo que alrededor del año 2000, Red Hat 6.x tenía contraseñas largas IIRC. Alrededor del año 2000 todavía había muchos SUN antiguos, y tenían límites de contraseña y nombre de usuario.