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 grep.
Para mostrar una lista de SSH fallidos inicios de sesión en Linux, emita 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 “Contraseña fallida”/var/log/auth .log
Lista de todos los intentos de inicio de sesión de SSH fallidos
El mismo resultado también se puede lograr emitiendo el comando cat.
# cat/var/log/auth.log | grep “Contraseña fallida”
Para mostrar información adicional sobre los inicios de sesión SSH fallidos, emita el comando como se muestra en el siguiente ejemplo.
# egrep “Falló | Falla”/var/log/auth.log
Find Failed SSH Logins freestar.config. enabled_slots.push
En CentOS. o RHEL. las sesiones SSH fallidas se registran en 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
Buscar 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 “Falló”/var/log/secure # grep “error de autenticación”/var/log/secure
Encontrar inicios de sesión fallidos de autenticación SSH
Para mostrar una lista de todas las direcciones IP que lo intentaron y no pudo 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 “Contraseña fallida”/var/log/auth.log | awk “print $ 11” | uniq-c | sort-nr
Buscar direcciones IP de SSH Inicios de sesión fallidos
En las distribuciones de Linux más recientes, 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 siguientes ejemplos de comandos.
# journalctl _SYSTEMD_UNIT = ssh.service | egrep “Fallido | Fallo” # journalctl _SYSTEMD_UNIT = sshd.service | egrep “Fallido | Fallo” #En RHEL, CentOS
Buscar inicios de sesión SSH fallidos en tiempo real
En CentOS. o RHEL. reemplace el demonio SSH unidad con sshd.service. como se muestra en los siguientes ejemplos de comandos.
# journalctl _SYSTEMD_UNIT = sshd.service | grep “falla” # journalctl _SYSTEMD_UNIT = sshd.service | grep “Fallido”
Una vez que haya identificado las direcciones IP que atacan con frecuencia 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 el SSH fallido intenta direcciones IP o utiliza un software especializado, como fail2ban, para gestionar estos ataques.