Mi Blog

No te olvides seguirme en Facebook.

Tan solo tienes que hacer click en Me Gusta

 

 

x

Cómo gestionar y bloquear los accesos SSH con Pam_Tally2

Cómo gestionar y bloquear los accesos SSH con Pam_Tally2

(Tiempo estimado: 5 - 10 minutos)

Asegurar el acceso a nuestros equipos GNU/Linux es sumamente importante hoy en día. Muchas máquinas están expuestas a Internet o en grandes redes propensas a ser atacadas por usuarios ajenos al sistema. Los sistemas GNU/Linux son muy populares y suelen accederse a todos ellos a través de la consola de SSH. Bloquear y desbloquear usuarios de forma automática es muy sencillo gracias al módulo de PAM llamado pam_tally2.

Seguid leyendo y os enseñaré controlar y bloquear los accesos indeseados a través de SSH a vuestros servidores...

⬇️ Conoce el hardware que utilizo ⬇️

🔥 HAZ CLICK AHORA 🔥

 

 

¿QUÉ ES PAM_TALLY2?

El módulo de PAM, llamado pam_tally2, se utiliza para bloquear y gestionar los accesos SSH de las cuentas de usuario, tras un cierto número de accesos fallidos a través de SSH. Pam_Tally2 guarda un registro de intentos de acceso y accesos fallidos de login.  Pam_Tally2 se basa en el módulo PAM y se puede utilizar para examinar y manipular el archivo del contador. Se puede mostrar el contador de intentos de inicio de sesión de los usuarios, establecer recuentos de forma individual y también se permite desbloquear todos los contadores de acceso de usuarios.

 

 

Pam_tally2 permite securizar los accesos a nuestros equipos GNU/Linux

 

 

1.- ELEMENTOS NECESARIOS PARA ESTE TUTORIAL

  • Un PC con GNU/Linux Debian/Ubuntu
  • Conexión a Internet (recomendado)

2.- BLOQUEAR Y DESBLOQUEAR CUENTAS DE USUARIO

Pam_tally2 está instalado por defecto en en casi todas las distribuciones de GNU/Linux al depender del paquete PAM de autenticación. En función de la distribución que usemos, los ficheros de configuración pueden cambiar. En las distribuciones Debian/Ubuntu/Mint el fichero de configuración es "/etc/pam.d/common-auth".  

 

 

Para controlar los accesos de "usuarios normales" del sistema, editaremos el fichero citado anteriormente y añadiremos la siguiente línea al principio del fichero:

auth required pam_tally2.so file=/var/log/tally.log onerr=fail deny=3 unlock_time=900 audit

 

 

Donde:

  • file=/var/log/tally.log : ruta del fichero de log de Pam_Tally2
  • onerr=fail : En caso de error, mostrar un error
  • deny=3 : Después de 3 intentos fallidos, la cuenta del usuario se bloqueará
  • unlock_time=900 : La cuenta se desbloqueará de forma automática cuando pasen 900 segundos (15 minutos)
  • audit : Para generar el fichero audit.log

 

 

Una vez hecho el cambio, reiniciaremos el servicio de sshd:

raul@debian:~$ sudo systemctl restart sshd

 

 

Si queremos que el control de acceso también se aplique al usuario root, añadiremos la línea siguiente:

auth required pam_tally2.so file=/var/log/tally.log onerr=fail deny=3 unlock_time=900 audit even_deny_root root_unlock_time=900

 

 

Donde:

  • file=/var/log/tally.log : ruta del fichero de log de Pam_Tally2
  • onerr=fail : En caso de error, mostrar un error
  • deny=3 : Después de 3 intentos fallidos, la cuenta del usuario se bloqueará
  • unlock_time=900 : La cuenta se desbloqueará de forma automática cuando pasen 900 segundos (15 minutos)
  • audit : Para generar el fichero audit.log
  • even_deny_root : Bloquear la cuenta de root tras 3 intentos fallidos de login
  • root_unlock_time=900 : La cuenta de root se bloqueará durante 900 segundos (15 minutos)

 

 

Una vez hecho el cambio, reiniciaremos el servicio de sshd:

raul@debian:~$ sudo systemctl restart sshd

3.- PROBAR PAM_TALLY2

Para probar si está funcionando correctamente Pam_Tally2, intentaremos acceder con un usuario del sistema a través de SSH pero con una contraseña incorrecta:

raul@debian:~$ ssh raul@127.0.0.1
raul@127.0.0.1's password:
Permission denied, please try again.

 

 

Para ver si está funcionando correctamente Pam_Tally, ejecutaremos el siguiente comando para ver los intentos de acceso fallidos del usuario raul, la hora del intento y desde que equipo se ha hecho la conexión:

raul@debian:~$ sudo pam_tally2 --user raul
Login Failures Latest failure From
raul 1 05/02/21 12:35:24 127.0.0.1

 

 

Ahora intentaremos hacer otros 2 intentos fallidos de login (para llegar al máximo de 3):

raul@debian:~$ ssh raul@127.0.0.1
raul@127.0.0.1's password:
raul@debian:~$ ssh raul@127.0.0.1
raul@127.0.0.1's password:

 

 

Ahora mismo al cuenta debería estar bloqueada durante 900 segundos al haber fallado 3 veces en el login:

raul@debian:~$ sudo pam_tally2 --user raul
Login Failures Latest failure From
raul 3 05/02/21 12:36:06 127.0.0.1

 

 

Ahora, si intentamos hacer login con el usuario y a contraseña correcta, vemos que no funciona porque la cuenta está bloqueada 15 minutos desde el último intento de acceso:

raul@debian:~$ ssh raul@127.0.0.1
raul@127.0.0.1's password:
Permission denied, please try again.
raul@127.0.0.1's password:

 

 

Si queremos resetear (desbloquear) la cuenta, ejecutaremos el siguiente comando:

raul@debian:~$ sudo pam_tally2 --user raul --reset
Login Failures Latest failure From
raul 4 05/02/21 12:36:37 127.0.0.1

 

 

Comprobamos que el contador de intentos de login está a 0, por tanto, ahora si podremos hacer login:

raul@debian:~$ sudo pam_tally2 --user raul
Login Failures Latest failure From
raul 0

 

 

Acceso correcto tras desbloquear la cuenta:

raul@debian:~$ ssh raul@127.0.0.1
raul@127.0.0.1's password:
Linux debian 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u2 (2019-11-11) x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Apr 22 09:42:24 2021 from 192.168.1.46

 

 

ENJOY!


⬇️ Conoce el hardware que utilizo ⬇️

🔥 HAZ CLICK AHORA 🔥
Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

Si quieres ir rápido, ve solo. Si quieres llegar lejos, ve acompañado.

No tienes permisos para escribir comentarios. Debes autenticarte con Facebook, Linkedin, Twitter o Google.