Me gustaría ver si alguien ha estado intentando iniciar sesión por fuerza bruta en mi servidor Ubuntu 12.04 a través de SSH. ¿Cómo puedo ver si se han llevado a cabo tales actividades?
134
Todos los intentos de inicio de sesión se registran en /var/log/auth.log
.
Abra una terminal y escriba lo siguiente; si tiene más de 1 página, podrá desplazarse hacia arriba y hacia abajo; escriba q
para salir:
grep sshd.\*Failed /var/log/auth.log | less
Aquí hay un ejemplo real de uno de mis VPS:
18 de agosto 11:00:57 izxvps sshd [5657]: contraseña fallida para root del puerto 95.58.255.62 38980 ssh2 18 de agosto 23:08:26 izxvps sshd [5768]: Error de contraseña para root del puerto 91.205.189.15 38156 ssh2 18 de agosto 23:08:30 izxvps sshd [5770]: contraseña fallida para nadie desde el puerto 91.205.189.15 38556 ssh2 18 de agosto 23:08:34 izxvps sshd [5772]: contraseña fallida para asterisco de usuario inválido desde 91.205.189.15 puerto 38864 ssh2 18 de agosto 23:08:38 izxvps sshd [5774]: contraseña fallida para el usuario no válido sjobeck del puerto 91.205.189.15 39157 ssh2 18 de agosto 23:08:42 izxvps sshd [5776]: Error de contraseña para root del puerto 91.205.189.15 39467 ssh2
Usa este comando:
grep sshd.*Did /var/log/auth.log | less
Ejemplo:
5 de agosto 22:19:10 izxvps sshd [7748]: No recibió la cadena de identificación de 70.91.222.121 10 de agosto 19:39:49 izxvps sshd [1919]: No recibió la cadena de identificación del 50.57.168.154 13 de agosto 23:08:04 izxvps sshd [3562]: No recibió la cadena de identificación de 87.216.241.19 17 de agosto 15:49:07 izxvps sshd [5350]: No recibió la cadena de identificación de 211.22.67.238 19 de agosto 06:28:43 izxvps sshd [5838]: No recibió la cadena de identificación de 59.151.37.10
/var/log/secure
systemctl -eu sshd
Yo diría que monitorear los registros es una solución débil, especialmente si tiene una contraseña débil en una cuenta. Los intentos brutos a menudo prueban al menos cientos de teclas por minuto. Incluso si tiene un trabajo cron configurado para enviarle correos electrónicos de intentos brutos, podrían pasar horas antes de que llegue a su servidor.
Si tiene un servidor SSH público, necesita una solución que se active mucho antes de que pueda ser hackeado.
Yo recomendaría fuertemente
fail2ban
. Su wiki dice lo que hace mejor que yo.Obtener protección es tan simple como
sudo apt-get install fail2ban
.Por defecto, tan pronto como alguien tiene tres intentos fallidos, su IP obtiene una prohibición de cinco minutos. Ese tipo de retraso esencialmente detiene un intento de fuerza bruta SSH, pero no va a arruinar tu día si olvidas tu contraseña (¡pero deberías estar usando las claves de todos modos!)
fuente