Mi Blog

Las Mejores Ofertas de Amazon

hack Sandisk Pendrive
hack Monitor HP 27''
hack Disco Duro Seagate Barracuda
hack Disco Duro Kingston SSD

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...

 

 

¿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!


Raúl Prieto Fernández

Sitio Web: raulprietofernandez.net

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

Escribir un comentario

Código de seguridad
Refescar