Cómo encontrar todos los intentos de inicio de sesión SSH fallidos en Linux

Cada intento de iniciar sesión en el servidor SSH es rastreado y registrado en un archivo de registro por el demonio rsyslog en Linux. El mecanismo más básico para enumerar todos los intentos fallidos de inicio de sesión SSH en Linux es una combinación de mostrar y filtrar los archivos de registro con la ayuda del comando cat o el comando grep.

Para mostrar una lista de los inicios de sesión SSH fallidos en Linux, ejecute algunos de los comandos presentados en esta guía. Asegúrese de que estos comandos se ejecuten con privilegios de root.

El comando más simple para enumerar todos los inicios de sesión SSH fallidos es el que se muestra a continuación.

# grep "Failed password" /var/log/auth.log

Lista de todos los intentos de inicio de sesión SSH fallidosLista de todos los intentos de inicio de sesión SSH fallidos

También se puede lograr el mismo resultado emitiendo el comando cat.

# cat /var/log/auth.log | grep "Failed password"

Para mostrar información adicional sobre los inicios de sesión SSH fallidos, ejecute el comando como se muestra en el siguiente ejemplo.

# egrep "Failed|Failure" /var/log/auth.log

Encontrar inicios de sesión SSH fallidosEncontrar inicios de sesión SSH fallidos

En CentOS o RHEL , las sesiones SSH fallidas se registran en el archivo / var / log / secure . Emita el comando anterior contra este archivo de registro para identificar los inicios de sesión SSH fallidos.

# egrep "Failed|Failure" /var/log/secure

Encontrar inicios de sesión SSH fallidos en CentOSEncontrar inicios de sesión SSH fallidos en CentOS

Una versión ligeramente modificada del comando anterior para mostrar inicios de sesión SSH fallidos en CentOS o RHEL es la siguiente.

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

Buscar inicios de sesión de error de autenticación SSHBuscar inicios de sesión de error de autenticación SSH

Para mostrar una lista de todas las direcciones IP que intentaron y no pudieron iniciar sesión en el servidor SSH junto con el número de intentos fallidos de cada dirección IP, emita el siguiente comando.

# grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

Buscar direcciones IP de inicios de sesión SSH fallidosBuscar direcciones IP de inicios de sesión SSH fallidos

En las distribuciones de Linux más nuevas, puede consultar el archivo de registro de tiempo de ejecución mantenido por el demonio Systemd a través del comando journalctl . Para mostrar todos los intentos fallidos de inicio de sesión SSH, debe canalizar el resultado a través del filtro grep , como se ilustra en los ejemplos de comandos a continuación.

# journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"
# journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"  #In RHEL, CentOS

Encontrar inicios de sesión SSH fallidos en tiempo realEncontrar inicios de sesión SSH fallidos en tiempo real

En CentOS o RHEL , reemplace la unidad de demonio SSH con sshd.service , como se muestra en los siguientes ejemplos de comandos.

# journalctl _SYSTEMD_UNIT=sshd.service | grep "failure"
# journalctl _SYSTEMD_UNIT=sshd.service | grep "Failed"

Una vez que haya identificado las direcciones IP que afectan con frecuencia a su servidor SSH para iniciar sesión en el sistema con cuentas de usuario sospechosas o cuentas de usuario no válidas, debe actualizar las reglas de firewall de su sistema para bloquear las direcciones IP fallidas de intentos SSH o utilizar una dirección IP especializada. software, como fail2ban para gestionar estos ataques.

SSH

Leave a Comment

Your email address will not be published. Required fields are marked *

Hazlo Linux