Cargando



Cómo ver intentos de conexión fallidos inicio sesión SSH en Linux

Tutorial para poder ver el registro de los intentos de conexión fallidos de inicio de sesión SSH en Linux.


oct 09 2019 17:19
Intermedio
Total de Apartados : 2

Hoy en día encontramos diferentes formas para conectarnos a nuestros servidores de forma segura para realizar tareas de mantenimiento y soporte o bien para comprobar el estado del mismo. Debido a que no siempre podemos estar directamente en la ubicación física de este la forma más práctica y común para acceder al servidor, es remotamente posible a través del protocolo SSH.

 

SSH (Secure SHell) se ha desarrollado como un protocolo que permite establecer conexiones entre dos sistemas basándose en la arquitectura cliente/servidor facilitando que como administradores o usuarios podamos conectarnos remotamente al servidor o equipo, una de las ventajas más notables de SSH es que se encarga de encriptar la sesión de conexión para aumentar la seguridad al impedir que los atacantes puedan acceder a las contraseñas no encriptadas.

 

Tutorial para saber cómo configurar seguridad SSH Linux y configurar la seguridad SSH Linux

 

Ahora, cada inicio de sesión o intento de acceso al servidor usando SSH se registra y almacena en un archivo de registro por el demonio rsyslog en Linux de modo que será posible acceder a este y validar en detalle quién, cuándo y el estado del inicio de sesión permitiendo una tarea de auditoría y control mucho más completa.

 

Solvetic te explicará en este tutorial la forma para visualizar este archivo y determinar quién ha intentado o ha iniciado sesión en el equipo.

 


1. Instalar SSH en Linux


Para este ejemplo hemos usado Ubuntu 19 y CentOS 8, recordemos que al acceder mediante SSH podremos trabajar de forma integral en el equipo:

 

 

 

Instalar SSH en CentOS 8
Si deseas instalar SSH en CentOS 8 debes ejecutar lo siguiente:
yum -y install openssh-server openssh-clients

 

 

Instalar SSH en Ubuntu
Si lo deseas hace en Ubuntu 19 debes ejecutar lo siguiente:
sudo apt install openssh-server

3-'Instalar-SSH-en-ubuntu.png

 

 

 


2. Usar el comando grep para ver inicios de sesión fallidos en Linux

 

Paso 1

La forma más simple para determinar y visualizar los intentos de inicio de sesión es ejecutando lo siguiente:
grep "Failed password" /var/log/auth.log

4-Usar-el-comando-grep-para-ver-inicios-de-sesión-fallidos-en-Linux.png

 

 

Paso 2

Podemos ver detalles como:

 

  • Usuario que intento iniciar sesión
  • Dirección IP
  • Puerto usado para el intento de inicio de sesión

 

Paso 3

Este mismo resultado lo encontramos con el comando cat:
cat /var/log/auth.log | grep "Failed password"

5-Usar-el-comando-grep-para-ver-inicios-de-sesión-fallidos-en-Linux.png

 

 

Paso 4

En caso de desear obtener información adicional sobre los inicios de sesión SSH fallidos en Linux debemos ejecutar lo siguiente. Como vemos los detalles son mucho más completos.
egrep "Failed|Failure" /var/log/auth.log

6-Usar-el-comando-grep-para-ver-inicios-de-sesión-fallidos-en-Linux.png

 

 

Ver los registros en RHEL o CentOS 8
En el caso de RHEL o CentOS 8, todos los registros se alojan en el archivo /var/log/secure, para su visualización ejecutaremos lo siguiente:
egrep "Failed|Failure" /var/log/secure

 

 

Vemos que los registros se guardan con detalles completos incluyendo nombres registrados de sesión (correctos o no). Otra opción para visualizar los inicios de sesión SSH fallidos en CentOS es usando alguna de las siguientes líneas:

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

 

 

 

Paso 5

Para desplegar la lista de las direcciones IP que intentaron acceder, pero fueron intentos fallidos, debemos usar el siguiente comando:
grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr
Paso 6

En las distribuciones de Linux más actuales (como Ubuntu 19), es posible acceder al archivo de registro de tiempo de ejecución el cual administra Systemd con el comando journalctl, si deseamos ver los registros fallidos de inicio de sesión SSH, usaremos el comando grep para filtrar los resultados así:
journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure" (Ubuntu)
journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure" (RHEL, CentOS)

9-Usar-el-comando-grep-para-ver-inicios-de-sesión-fallidos-en-Linux.png

 

 

En CentOS
En CentOS también podemos usar lo siguiente:
journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"

 

Podemos ver la forma para visualizar cada intento fallido de inicio de sesión SSH y en base a esto tomar las medidas de seguridad pertinentes para conservar la disponibilidad de los servicios.

 

Tutorial para instalar y configurar un cliente o servidor OpenSSH en Linux (Ubuntu, Debian, CentOS, Fedora, RHEL) para cifrar el envío de información.


¿Te ayudó este Tutorial?


1 Comentarios

Muy util, me va a servir para ofrecerles a los alumnos de SAD cuando estudiemos en el tema de impelmentación de técnicas de acceso remoto donde van a instalar ssh.

No esperes más y entra en Solvetic
Deja tus comentarios y aprovecha las ventajas de la cuenta de usuario ¡Únete!

X