¿Cómo establece los requisitos (como la longitud mínima) en las contraseñas?

18

¿Hay alguna forma de establecer requisitos mínimos de contraseña, como una longitud mínima, requisitos de alfanuméricos de mayúsculas y minúsculas y al menos 1 símbolo en la contraseña, y aplicar eso en los cambios de contraseña?

Thomas Ward
fuente

Respuestas:

21

La complejidad de la contraseña en Ubuntu está controlada por PAM. Desafortunadamente, PAM es "típicamente Unix" como en su enfoque. Lo que significa que difunde su configuración a través de una gran cantidad de archivos muy confusos.

El archivo que controla la complejidad de la contraseña es:

/etc/pam.d/common-password

Hay una linea:

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

Que define las reglas básicas para la complejidad de la contraseña. Puede agregar una anulación de longitud mínima cambiándola a:

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

o lo mínimo que quieras. Como puede ver, el valor predeterminado ya define algunas reglas básicas de oscuridad. Estas reglas básicas se pueden ver en:

man pam_unix

Busca "oscuro".

Hay una gran cantidad de módulos pam que se pueden instalar.

apt-cache search libpam-

Debería mostrártelos.

Tendré que buscar la documentación para ellos, me temo. Pero el "cracklib" es una adición común.

ACTUALIZACIÓN: debería haber señalado que el parámetro "oscuro" predeterminado incluye pruebas de complejidad basadas en contraseñas anteriores y simplicidad (longitud, número de diferentes tipos de caracteres). El ejemplo en la página de manual muestra cracklib en acción. Instale libpam_cracklib para que funcione.

Además, una vez que haya resuelto qué cambiar, los cambios son los mismos en otros archivos para que pueda aplicar las mismas (o diferentes) comprobaciones de contraseña para SSH y otras aplicaciones.

Julian Knight
fuente
Según man pam_unix, la longitud mínima de contraseña predeterminada es de 6 caracteres si busca minlen.
Timo
esto no funciona para ubuntu 18.04 - incluso con esta configuración puedo poner cualquier contraseña que quiera (short, palindrome, ..) - Solo necesito repetir esa contraseña 4x :(
xhudik
Cuando dices "no funciona", no está claro a qué te refieres. ¿Quiere decir que se hace el trabajo, pero que repetir la contraseña corta 4 veces es una especie de "by-pass" - si es así, con respeto, usted está equivocado, que sigue siendo una contraseña fuerte. De lo contrario, ¿podría aclararlo?
Julian Knight
1

Los valores de contraseña se controlan en el archivo

/etc/pam.d/common-password

Para obtener más información sobre cómo modificar el archivo, consulte la página de manual de pam_unix

Mitch
fuente
1
Ha incluido pam_unix (5), la página correcta es pam_unix (8) linux.die.net/man/8/pam_unix . De hecho, las versiones en línea de la página de manual, por alguna razón, no parecen enumerar la sección importante sobre el parámetro "oscuro", el que he incluido en mi respuesta. Si haces un man pam_unix, podrás verlo sin embargo.
Julian Knight
1
@JulianKnight Gracias por el comentario. Arreglé el enlace :)
Mitch
1

Los módulos PAM preinstalados le permiten configurar requisitos básicos a la luz de la complejidad. Hay un buen módulo que es el sucesor del módulo pam_cracklib: pam_pwquality. Para instalarlo escriba lo siguiente

apt-get install libpam-pwquality

entonces familiarízate con este

man pam_pwquality

especialmente con la sección "Opciones".

Ahora puede editar la contraseña común en /etc/pam.d/

vi /etc/pam.d/common-password

encuentre la línea que contiene la siguiente instrucción "contraseña requerida pam_pwquality.so" y después de pam_pwquality.so adjunte sus opciones como esta

password        requisite         pam_pwquality.so minlen=16 ucredit=-4 retry=3

que significa "el tamaño mínimo de la contraseña es de 16 caracteres, donde mínimo 4 de ellos en mayúscula. Solicite al usuario la contraseña 3 veces.

pam_pwquality le permite hacer requisitos de contraseña mucho más complejos en combinación con otros módulos como pam_pwhistory. Buena suerte

Piotr Kowalczyk
fuente