Si alguna vez ha recibido un mensaje de que su nueva contraseña es demasiado similar a la anterior, entonces puede sentir curiosidad por saber cómo su sistema Linux "sabe" que se parecen demasiado. La publicación de preguntas y respuestas del superusuario de hoy ofrece un vistazo detrás de la "cortina mágica" de lo que está sucediendo para un lector curioso.
La sesión de preguntas y respuestas de hoy nos llega por cortesía de SuperUser, una subdivisión de Stack Exchange, una agrupación de sitios web de preguntas y respuestas impulsada por la comunidad.
Captura de pantalla cortesía de marc falardeau (Flickr) .
La pregunta
LeNoob, lector de superusuario, quiere saber cómo un sistema Linux "sabe" que las contraseñas son demasiado similares entre sí:
Intenté cambiar la contraseña de un usuario en varias máquinas Linux varias veces y cuando la nueva contraseña era muy parecida a la anterior, el sistema operativo dijo que eran demasiado similares.
Siempre me he preguntado, ¿cómo sabe esto el sistema operativo? Pensé que las contraseñas se guardaban como un hash. ¿Significa esto que cuando el sistema puede comparar la nueva contraseña en busca de similitudes con la anterior, en realidad se guarda como texto sin formato?
¿Cómo "sabe" un sistema Linux que las contraseñas son demasiado similares entre sí?
La respuesta
El colaborador de superusuario slhck tiene la respuesta para nosotros:
Dado que debe proporcionar las contraseñas antiguas y nuevas al usar passwd, se pueden comparar fácilmente en texto sin formato.
De hecho, su contraseña tiene un hash cuando finalmente se almacena, pero hasta que eso suceda, la herramienta donde está ingresando su contraseña puede acceder a ella directamente.
Esta es una característica del Sistema PAM que se utiliza en segundo plano de la herramienta passwd. Las distribuciones modernas de Linux utilizan PAM. Más específicamente, pam_cracklib es un módulo para PAM que le permite rechazar contraseñas basándose en similitudes y debilidades.
No son solo las contraseñas que son demasiado similares las que pueden considerarse inseguras. los código fuente tiene varios ejemplos de lo que se puede verificar, como si una contraseña es un palíndromo o cuál es la distancia de edición entre dos palabras. La idea es hacer que las contraseñas sean más resistentes a los ataques de diccionario.
Ver el pam_cracklib página de manual para más información.
Asegúrese de leer el resto de la animada discusión en SuperUser a través del hilo del tema vinculado a continuación.
¿Tiene algo que agregar a la explicación? Habla en los comentarios. ¿Quieres leer más respuestas de otros usuarios de Stack Exchange expertos en tecnología? Consulte el hilo de discusión completo aquí .