Establecer vigencia y reglas sobre contraseñas a usuarios Linux

Lo que haremos en este post es el establecer una política de seguridad para la renovación de contraseñas de los usuarios en el servidor y también sobre reglas para la creación de las mismas.

Abrimos y editamos el siguiente archivo:

$ vi /etc/login.defs
# Controles de vigencia de contraseñas:
#
# PASS_MAX_DAYS Máximo numero de días que una contraseña debe usarse
# PASS_MIN_DAYS Número mínimo de días permitidos entre los cambios de contraseña.
# PASS_MIN_LEN Longitud mínima de la contraseña aceptable.
# PASS_WARN_AGE Número de días de aviso antes de dar una contraseña expire.
#
PASS_MAX_DAYS 60
PASS_MIN_DAYS 0
PASS_MIN_LEN 10
PASS_WARN_AGE 7

Esta configuración sólo afectara cuando se creen nuevos usuarios, y no a los a los usuarios ya existente, si deseamos aplicar una vigencia de contraseñas a usuarios que ya existan entonces ejecutamos el comando: chage -M [días] [usuario].

Ahora editamos system-auth para establecer las mismas políticas definidas anteriormente, esto podrá ser usado en cualquier servicio del sistema remoto/local (ssh), caso contrario con login.defs solo aplica para la consola local.

Editamos el archivo de configuración:

$ vi /etc/pam.d/system-auth

Establecer una contraseña según políticas establecidas.

  • Establecer una mínima de longitud de la contraseña (minlen = N)
  • Forzar el uso mínimo de N números en la contraseña (dcredit=-N)
  • Forzar el uso mínimo de N letras mayúsculas ( ucredit=-N )
  • Forzar el uso mínimo de N letras minúsculas ( lcredit=-N )
  • Forzar el uso mínimo de N símbolos ( ocredit=-N )
  • Forzar un mínimo de N caracteres diferentes de la contraseña actual ( difok=N )

Y la configuración queda de la siguiente forma:

password requisite pam_cracklib.so try_first_pass retry=3 type= difok=3
                                  minlen=10 dcredit=-2 ucredit=-2 lcredit=-2 ocredit=0

Ahora establecemos que se recuerden las ultimas 5 contraseña con la opción remember

password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok
                                  remember=5

Armando Uch

An Accidental Engineer
• Lazy #Programmer • #TacOps 🌮 • #BOFH
🎸⚾️🍺☕️


2012-05-22