Hace no mucho expliqué cómo saber qué IPs se han conectado por SSH, pero… ¿y si el usuario o password fue incorrecto y no se conectaron?
O sea, si hay alguien intentando adivinar cómo acceder por SSH a nuestro ordenador o servidor, de veras necesitamos saberlo ¿o no?
Para eso haremos el mismo procedimiento que en el post anterior, filtraremos el log de autentificación pero esta vez, con un filtro diferente:
cat /var/log/auth* | grep Failed
Les dejo un screenshot sobre cómo se ve:
Pero esto se puede organizar un poco más, usaremos awk para mejorar un poco el resultado:
cat /var/log/auth* | grep Failed | awk '{print $2 "-" $1 " " $3 "\t USUARIO: " $9 "\t DESDE: " $11}'
Aquí vemos cómo nos quedaría:
Esto sé que no a muchos les será de utilidad, pero a los que administramos servidores sé que sí nos mostrará unos cuantos datos interesantes jeje.
Saludos
8 comentarios, deja el tuyo
Muy buen uso de pipes
Saludos
Gracias 🙂
Excelente los 2 post
Yo usaba siempre el primero, pues no me conozco awk, pero voy a tener que aprenderlo
cat /var/log/auth* | grep Failed
Aqui donde trabajo, en la facultad de matematica-computacion de la Univ de Oriente en Cuba, tenemos una fabrica de «hackercillos», que a cada rato andan inventando cosas que no deben y tengo que estar con 8 ojos. El tema del ssh es uno de ellos. Thanks por el tip dude.
Una duda: si uno tiene un servidor de cara a internet pero en iptables uno abre el puerto ssh solo para ciertas direcciones MAC internas (digamos de una oficina), llegarían al log de autenticación los intentos de acceso desde el resto de las direcciones internas y/o externas? Porque yo tengo mis dudas.
En el log lo que se guarda es solo las peticiones permitidas por el firewall, pero denegadas o aprobadas por el sistema como tal (me refiero al login).
Si el firewall no permite pasar peticiones SSH, no llegará al log nada.
Esto no lo he probado, pero vamos… creo que debe ser así 😀
grep -i failed /var/log/auth.log | awk ‘{print $2 «-» $1 » » $3 «\t USUARIO: » $9 «\t DESDE: » $11}’
rgrep -i failed /var/log/(carpetas de logrotates) | awk ‘{print $2 «-» $1 » » $3 «\t USUARIO: » $9 «\t DESDE: » $11}’
en centos-redhat…..etc……
/var/log/secure