Utilice Pam_Tally2 para bloquear y desbloquear los intentos de inicio de sesión fallidos de SSH


El módulo pam_tally2 se usa para bloquear cuentas de usuario después de cierto número de intentos fallidos de inicio de sesión ssh realizados en el sistema. Este módulo mantiene el recuento de intentos de acceso y demasiados intentos fallidos.

El módulo pam_tally2 viene en dos partes, una es pam_tally2.so y otra es pam_tally2. Se basa en el módulo PAM y se puede utilizar para examinar y manipular el archivo del contador. Puede mostrar los recuentos de intentos de inicio de sesión de los usuarios, establecer recuentos de forma individual y desbloquear todos los recuentos de usuarios.

Por defecto, el módulo pam_tally2 ya está instalado en la mayoría de las distribuciones de Linux y está controlado por el propio paquete PAM. Este artículo muestra cómo bloquear y desbloquear cuentas SSH después de alcanzar un cierto número fallido de intentos de inicio de sesión.

Cómo bloquear y desbloquear cuentas de usuario

Utilice el archivo de configuración "/etc/pam.d/password-auth" para configurar los accesos de intentos de inicio de sesión. Abra este archivo y agregue la siguiente línea de configuración AUTH al comienzo de la sección "auth".

auth        required      pam_tally2.so  file=/var/log/tallylog deny=3 even_deny_root unlock_time=1200

A continuación, agregue la siguiente línea a la sección "cuenta".

account     required      pam_tally2.so
  1. file=/var/log/tallylog – Default log file is used to keep login counts.
  2. deny=3 – Deny access after 3 attempts and lock down user.
  3. even_deny_root – Policy is also apply to root user.
  4. unlock_time=1200 – Account will be locked till 20 Min. (remove this parameters if you want to lock down permanently till manually unlock.)

Una vez que haya terminado con la configuración anterior, ahora intente realizar 3 intentos fallidos de inicio de sesión en el servidor utilizando cualquier "nombre de usuario". Después de realizar más de 3 intentos, recibirá el siguiente mensaje.

[[email protected] ~]# ssh [email protected]
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Permission denied, please try again.
[email protected]'s password:
Account locked due to 4 failed logins
Account locked due to 5 failed logins
Last login: Mon Apr 22 21:21:06 2013 from 172.16.16.52

Ahora, verifique o marque el contador que el usuario intenta con el siguiente comando.

[[email protected] ~]# pam_tally2 --user=tecmint
Login           Failures  Latest    failure     From
tecmint              5    04/22/13  21:22:37    172.16.16.52

Cómo restablecer o desbloquear la cuenta de usuario para habilitar el acceso nuevamente.

[[email protected] pam.d]# pam_tally2 --user=tecmint --reset
Login           Failures  Latest    failure     From
tecmint             5     04/22/13  17:10:42    172.16.16.52

Verifique que el intento de inicio de sesión se restablezca o desbloquee

[[email protected] pam.d]# pam_tally2 --user=tecmint
Login           Failures   Latest   failure     From
tecmint            0

El módulo PAM es parte de toda la distribución de Linux y la configuración proporcionada debería funcionar en todas las distribuciones de Linux. Haz "man pam_tally2" desde la línea de comandos para saber más al respecto.

Leer también:

  1. 5 Tips to Secure and Protect SSH Server
  2. Block SSH Brute Force Attacks Using DenyHosts