Me surgio la necesidad de monitorear un archivo log para detectar los intentos fallidos por ssh a mi servidor, claro lo pude seguir haciendo con un cat /var/log/messages | grep "Invalid user" pero estarlo haciendo cada cierto tiempo la verdad se me olvidaba, asi que me puse a investigar como realizar un pequeño bash script que lo monitoreara por mi y al mismo tiempo me enviara un correo y esto fue lo que encontre:
#!/bin/sh
tail -fn0 /var/log/messages | \
while read line ; do
echo "$line" | grep -q "Invalid user"
if [ $? = 0 ]
then
echo "$line" | mail -s "Server Hack" xtokio@gmail.com
fi
done
Lo que hace es estar a la espera de nuevas lineas en el archivo log y validar si la linea agregada contiene la palabra "Invalid user" , si la encuentra entonces envio un correo para avisar.
No es la mejor ni la única opción, es un hack que con el tiempo se consumirá la memoria del servidor.
No hay comentarios.:
Publicar un comentario