¿Cómo evitar que los usuarios cambien su contraseña a una de las últimas X contraseñas?

9

Tengo un Ubuntu GNOME 15.10 con el sistema GNOME 3.18 que me gustaría configurar para que los usuarios que lo usan no puedan establecer una nueva contraseña como una de las contraseñas X anteriores, ¿cómo se puede lograr esto?

Cuando cambio mi contraseña, si es muy similar a la última, mi sistema no me permite cambiarla a esa contraseña, sería bueno que la respuesta también mostrara cómo extender esto para que la nueva contraseña tampoco pueda ser demasiado similar a las contraseñas X registradas anteriormente.

Nota: El historial de las últimas contraseñas X no debe almacenarse de manera insegura y sin cifrar, de hecho, probablemente debería almacenarse de la misma manera o de manera similar a la forma en que se almacena la contraseña actual (como un hash salado).

Solía Xrepresentar el número de contraseñas (esto podría ser cualquier valor) porque quiero poder cambiar fácilmente la cantidad de contraseñas almacenadas que no se pueden usar, y también para que otros puedan tomar fácilmente la respuesta y usarla como ellos deseo en lugar de tener una respuesta que gira en torno a un valor muy establecido para X.

Actualización de información:

Según lo solicitado aquí está el contenido de mi /etc/pam.d/common-passwordarchivo (excluyendo los comentarios en la parte superior) :

# here are the per-package modules (the "Primary" block)
password        [success=1 default=ignore]      pam_unix.so obscure sha512
# here's the fallback if no module succeeds
password        requisite                       pam_deny.so
# prime the stack with a positive return value if there isn't one already;
# this avoids us returning an error just because nothing sets a success code
# since the modules above will each just jump around
password        required                        pam_permit.so
# and here are more per-package modules (the "Additional" block)
password        optional        pam_gnome_keyring.so
# end of pam-auth-update config
Guntbert
fuente
Tenga en cuenta que a) obligar a los usuarios a cambiar su contraseña yb) evitar que X contraseñas antiguas donde X es> 2 pueda reducir la seguridad ... "Hmm mejor solo agregue 1 a mi contraseña anterior ... Y escríbala en la nota de correo para recordar yo ... "
Tim
@Tim: Ya hay mecanismos integrados en mi sistema que evitan que la contraseña sea demasiado similar a la anterior.
Eso es a menudo igual de malo, eso asegura que el usuario lo anotará. Tampoco estoy convencido de que cambiarlo tenga algún beneficio, y ciertamente tiene aspectos negativos.
Tim
@Tim: Además, me recordó algo que olvidé incluir, he actualizado mi pregunta con él (aunque tenga en cuenta que, aunque sería bueno, si la respuesta no puede mostrar cómo hacer esto adicional, estaría bien con obteniendo lo que pedí originalmente).
@Tim: tendré otras políticas vigentes para evitar que lo hagan y las vigilaré de cerca.

Respuestas:

17

Puede configurar PAM para que haga esto por usted. Simplemente abra /etc/pam.d/common-passwordy agregue use_authtoka la primera passwordlínea (la que llama al módulo pam_unix) para que se vea algo así:

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

Ahora agregue esta línea sobre la línea modificada previamente:

password    required    pam_pwhistory.so  remember=X

donde Xes el número de contraseñas anteriores con las que desea verificar una contraseña repetida

Aquí las Xcontraseñas anteriores se almacenarán en forma hash en la ubicación/etc/security/opasswd

Por lo tanto, debe crear el archivo si y solo si no existe y asignarle el permiso 600 ( -rw-------):

sudo touch /etc/security/opasswd
sudo chmod 600 /etc/security/opasswd
daltonfury42
fuente
Aunque hacer lo que dices parece significar que si trato de establecer una contraseña que he usado antes como una de mis últimas contraseñas X en el centro de control de gnome simplemente no hace nada y me obliga a forzar el cierre de la aplicación, no lo hace no parece funcionar muy bien ... ¿Qué hace exactamente en 14.04? Porque esperaría que me indicara si la contraseña no era adecuada en lugar de simplemente colgarse cuando le pido que la cambie.
@ParanoidPanda Muy interesante. ¿Qué obtienes cuando intentas cambiar la contraseña usando passwd? Esto es lo que me pasa. Cuando cambio el uso passwdobtengo "La contraseña ya se ha usado. Elija otra". y cuando intento cambiar la contraseña desde la GUI, no me permite cambiar la contraseña (el botón Cambiar está atenuado) y se escribe "Contraseña demasiado débil".
daltonfury42
Cabe señalar que estoy informando desde Ubuntu 14.04 ejecutando Unity, no Gnome.
daltonfury42
Lo probé nuevamente, esta vez en una instalación de Ubuntu GNOME 16.04 Beta 2 con GNOME 3.20 y descubrí que funciona igual que lo que describiste con el passwdcomando, pero no en el gnome-control-center, simplemente se cuelga después de permitirme para presionar Change. Aunque tal vez sea un error, necesito presentar un informe sobre ...
2
@ParanoidPanda Esto se debe a la pésima programación en gnome-control-center, no porque esto no funcione. La configuración de PAM es definitivamente la mejor manera de hacer esto.
Seth