Es importante tener copia de seguridad de los siguientes ficheros, ya que podemos fastidiar el login:
# cp /etc/pam.d/system-auth /etc/pam.d/system-auth.bckEmpezamos a modificar el fichero login.defs
# cp /etc/login.defs /etc/login.def.bck
# vi /etc/login.defsNos centramos en las 3 lineas que se muestran a continuación, son las que cambiaremos y adaptaremos:
PASS_MAX_DAYS 90Ahora lo que significa cada linea:
PASS_MIN_DAYS 0
PASS_WARN_AGE 7
- PASS_MAX_DAYS: Establece un periodo de caducidad de contraseña en días
- PASS_MIN_DAYS: Son los días que tiene que pasar de un cambio de contraseña a otro
- PASS_WARN_AGE: Son los días que nos avisara antes de que caduque la contraseña
Ahora editaremos el fichero más sensible, un archivo de la carpeta pam:
# vi /etc/pam.d/system-authLas lineas en negrita son las que he modificado o añadido, mas abajo paso a explicar las opciones.
#%PAM-1.0Explicación de las opciones
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.
auth required pam_tally.so onerr=fail per_user deny=3 unlock_time=180
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth required pam_deny.so
account required pam_unix.so
account sufficient pam_succeed_if.so uid < 500 quiet
account required pam_tally.so reset
account required pam_permit.so
password requisite pam_cracklib.so retry=3 minlen=8 difok=3
password requisite pam_cracklib.so try_first_pass retry=3 minlen=8 lcredit=1 ucredit=1 dcredit=1 ocredit=0
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
- per_user deny=3 Intensos antes de bloqueo
- unlock_time=180: bloquea el usuario durante 180 segundos
- retry=3 : Veces que se muestra el promtp sin mostrar error
- minlen=8 : Minimo de caracteres de la contraseña
- difok=6: El número de caracteres iguales en la nueva contraseña con relación a la antigua.
- minlen=8 número mínimo de caracteres
- lcredit=1 número mínimo de letras minúsculas
- ucredit=1 número mínimo de letras mayúsculas
- dcredit=1 número mínimo de caracteres numéricos
- ocredit=0 número mínimo de caracteres especiales (#~|@$ ...)
Con esto lo tenemos configurado, ahora podemos gestionarlo con comandos. Para ver los intentos de entrada de un usuario:
# faillog -u userPara ver las políticas de un usuario.
Login Failures Maximum Latest On
user 15 0 11/05/12 13:05:36 +0100 pc-linux
# chage -l userLos logs se almacenan en:
Last password change : Nov 05, 2012
Password expires : Feb 03, 2013
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 90
Number of days of warning before password expires : 7
/var/log/secureEn el caso que un usuario tenga demasiados intentos fallidos, podemos resetear el numero de intentos otra vez a 0:
# pam_tally --user user --resetPodemos comprobarlo ahora con el comando faillog
Los usuarios ya creados no heredan estas políticas.
No hay comentarios:
Publicar un comentario