Cómo bloquear cuentas de usuario después de intentos fallidos de inicio de sesión

Cómo bloquear cuentas de usuario después de intentos fallidos de inicio de sesión

Esta guía mostrará cómo bloquear la cuenta de un usuario del sistema después de un número específico de intentos fallidos de inicio de sesión en distribuciones CentOS, RHEL y Fedora. Aquí, el objetivo es hacer cumplir la seguridad del servidor simple bloqueando la cuenta de un usuario después de un número consecutivo de autenticaciones fallidas.

Lea también. Use Pam_Tally2 para bloquear y desbloquear SSH intentos fallidos de inicio de sesión

Esto se puede lograr usando el módulo pam_faillock que ayuda a bloquear temporalmente las cuentas de usuario en caso de múltiples intentos fallidos de autenticación y mantiene un registro de este evento. Los intentos fallidos de inicio de sesión se almacenan en archivos por usuario en el directorio tally que es/var/run/faillock/por defecto.

pam_faillock. es parte de Linux PAM. ( Módulos de autenticación conectables. , un mecanismo dinámico para implementar servicios de autenticación en aplicaciones y varios servicios del sistema que explicamos brevemente en la configuración de PAM para auditar la actividad del shell de inicio de sesión del usuario.

Cómo bloquear cuentas de usuario después de autenticaciones fallidas consecutivas

Puede configurar la funcionalidad anterior en /etc/pam.d/system-auth. y /etc/pam. d/password-auth. agregando las entradas a continuación a la sección de autenticación.

auth required pam_faillock.so preauth silent audit deny = 3 unlock_time = 600 auth [default = die] pam_faillock.so authfail audit deny = 3 unlock_time = 600 freestar.config.enabled_slots.push

Donde:

    audit: habilita la auditoría del usuario.
  • denegar: se usa para definir el número de intentos ( 3. en este caso), después de lo cual la cuenta de usuario debe bloquearse.
  • unlock_time: establece el tiempo ( 300. segundos = 5. minutos) durante el cual la cuenta debe permanecer bloqueada.

Nota que el orden de estas líneas es muy importante, las configuraciones incorrectas pueden hacer que todas las cuentas de usuario se bloqueen.

La sección de autenticación en ambos archivos debe tener el contenido a continuación organizado en este orden:

autenticación requerida pam_env.so auth required pam_faillock.so preauth silent audit deny = 3 unlock_time = 300. auth suficiente pam_unix.so nullok try_first_pass auth [default = die] pam_faillock.so authfail audit deny = 3 unlock_time = 300. auth requisite pam_succeed_if.so uid> = 1000 quiet_success auth required pam_deny.so

Ahora abra estos dos archivos con su elección del editor.

# vi/etc/pam.d/system-auth # vi/etc/pam.d/password-auth

Las entradas predeterminadas en la sección de autenticación ambos archivos se ven así.

#% PAM-1.0 # Este archivo se genera automáticamente. # Los cambios de usuario se destruirán la próxima vez que se ejecute authconfig. auth requerido pam_env.so auth suficiente pam_fprintd.so auth suficiente pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid> = 1000 quiet auth required pam_deny.so

Después de agregar la configuración anterior, debería aparecer de la siguiente manera.

#% PAM-1.0 # Este archivo se genera automáticamente. # Los cambios de usuario se destruirán la próxima vez que se ejecute authconfig. auth required pam_env.so auth required pam_faillock.so preauth silent audit deny = 3 unlock_time = 300. auth suficiente pam_fprintd.so auth enough pam_unix.so nullok try_first_pass auth [default = die] pam_faillock.so authfail audit deny = 3 unlock_time = 300. auth requisite pam_succeed_if.so uid> = 1000 quiet auth required pam_deny.so

Luego agregue lo siguiente entrada resaltada a la sección cuenta. en ambos archivos anteriores.

cuenta requerida pam_unix.so cuenta suficiente pam_localuser.so cuenta suficiente pam_succeed_if.so uid <500 tranquila cuenta requerida pam_permit.so cuenta requerida pam_faillock.so.

Cómo bloquear la cuenta raíz después de intentos fallidos de inicio de sesión

Para bloquear la cuenta raíz después de una autenticación fallida intentos, agregue la opción even_deny_root a las líneas en ambos archivos en la sección auth de esta manera.

auth required pam_faillock.so preauth silent audit deny = 3 even_deny_root. unlock_time = 300 auth [default = die] pam_faillock.so authfail audit deny = 3 even_deny_root. unlock_time = 300

Una vez que haya configurado todo. Puede reiniciar los servicios de acceso remoto como sshd. para que la política anterior surta efecto, es decir, si los usuarios utilizarán ssh para conectarse al servidor.

# systemctl restart sshd [On SystemD. # service sshd restart [On SysVInit.

Cómo probar los intentos de inicio de sesión fallidos del usuario SSH

A partir de la configuración anterior, configuramos el sistema para bloquear la cuenta de un usuario después de 3. intentos de autenticación fallidos.

En este escenario, el usuario tecmint está intentando cambiar al usuario aaronkilik, pero después de 3. inicios de sesión incorrectos debido a una contraseña incorrecta, indicado por el mensaje “ Permiso denegado. , la cuenta de aaronkilik. del usuario se bloquea como se muestra. por el mensaje “ error de autenticación. del cuarto intento.

Intentos de inicio de sesión fallidos del usuario de prueba Prueba Intentos de inicio de sesión fallidos del usuario Intentos de inicio de sesión fallidos del usuario de prueba

El usuario root también recibe una notificación de los intentos fallidos de inicio de sesión en el sistema, como se muestra en la captura de pantalla a continuación.

 Error de intentos de inicio de sesión Mensaje  Mensaje de intentos de inicio de sesión fallidos Mensaje de intentos de inicio de sesión fallidos

Cómo ver los intentos de autenticación fallidos

Puede ver todos los registros de autenticación fallidos mediante el error. utilidad, que se utiliza para mostrar y modificar el registro de fallos de autenticación.

Puede ver los intentos fallidos de inicio de sesión para un usuario en particular como este.

# faillock–user aaronkilik  Ver intentos de inicio de sesión fallidos del usuario  Ver intentos de inicio de sesión fallidos del usuario Ver intentos fallidos de inicio de sesión del usuario

Para ver todos los intentos fallidos de inicio de sesión, ejecute faillock sin ningún argumento como este:

# faillock

Para borrar un usuario registros de fallas de autenticación, ejecute este comando.

# faillock–user aaronkilik–reset OR # fail–reset # borra todos los registros de fallas de autenticación

Por último, para decirle al sistema que no bloquee un usuario o cuentas de usuario después de varios intentos fallidos de inicio de sesión, agregue la entrada marcada en color rojo, justo encima de donde se llama primero a pam_faillock. en la sección auth. en ambos archivos (/etc/pam .d/system-auth. y /etc/pam.d/password-auth. de la siguiente manera.

Simplemente agregue nombres de usuario. a la opción usuario en.

auth requiere pam_env.so auth [éxito = 1 predeterminado = ignorar] pam_succeed_if.so usuario en tecmint: aaronkilik. auth required pam_faillock.so preauth silent audit deny = 3 unlock_time = 600 auth suficiente pam_unix.so nullok try_first_pass auth [default = die] pam_faillock.so authfail audit deny = 3 unlock_time = 600 auth requisite pam_succeed_if.so uid> = 1000 quiet_success auth required pam_deny.so

Para obtener más información, consulte pam_faillock. y las páginas de manual de faillock.

# man pam_faillock # man faillock

Es posible que también le guste leer los siguientes artículos útiles:

  1. TMOUT-Cierre de sesión automático de Shell de Linux cuando no hay ninguna actividad
  2. Modo de usuario único: restablecimiento/recuperación de la contraseña de la cuenta de usuario raíz olvidada
  3. 5 Mejores prácticas para asegurar y proteger el servidor SSH
  4. Cómo obtener alertas por correo electrónico de inicio de sesión SSH de usuario y root

¡Eso es todo! En este artículo, mostramos cómo hacer cumplir la seguridad del servidor simple bloqueando la cuenta de un usuario después de un número x de inicios de sesión incorrectos o intentos de autenticación fallidos. Utilice el formulario de comentarios a continuación para compartir sus consultas o pensamientos con nosotros.