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.