Como monitorear automaticamente las bitacoras del sistema Linux con Swatch

0 Comments

Los sistemas en produccion, ya sea Linux, Unix o Windows en sus bitacoras o logs pueden almacenar cientos de miles de lineas  de eventos o alertas diariamente. Yo como administrador de sistemas no tengo el tiempo para revisar los 30 archivos de logs de 20 y tantos servidores.

Aca es donde Swatch entra al juego . . .

Swatch es una pequeña aplicacion que nos sirve para monitorear las bitacoras de nuestro sistema. Tan sencillo como alimentar la configuracion de la herramienta con palabras claves, ya sea de intrusion, fuerta bruta o cosas simples como un llenado de disco, para que Swatch nos envie por correo la alerta respectiva.

Como instalar Swatch

La instalacion es de lo mas facil, en sistemas basados en Debian/Ubuntu solo teclean;

:~$ sudo aptitude install swatch

El script de inicio

Para que el demonio de swatch se inicie automaticamente en cada arranque del equipo sera necesario crear el archivo /etc/init.d/swatch , con el contenido siguiente;

#!/bin/sh
# Simple Log Watcher Program
case "$1" in
'start')
		/usr/bin/swatch --daemon --config-file=/etc/swatch.conf --tail-file=/var/log/auth.log --pid-file=/var/run/swatch.pid
		;;
'stop')
		PID=`cat /var/run/swatch.pid`
		kill $PID
		;;
*)
		echo "Usage: $0 { start | stop }"
		;;
esac
exit 0

Ahora para que se ejecute correctamente en los diferentes niveles, hacemos el script ejecutable y lo agregamos a los runlevels, tecleando;

$ sudo chmod 755 /etc/init.d/swatch
$ sudo ln -s /etc/init.d/swatch /etc/rc2.d/S99swatch
$ sudo ln -s /etc/init.d/swatch /etc/rc3.d/S99swatch
$ sudo ln -s /etc/init.d/swatch /etc/rc5.d/S99swatch

Aunque si les pasa como a mi que no reinician sus servidores en un año.. pueees.

Como utilizar Swatch

Ya que tenemos el servicio configurado es hora de ejecutar el comando, como ejemplo de la siguiente manera;

/usr/bin/swatch --daemon --config-file=/etc/swatch.conf --tail-file=/var/log/auth.log --pid-file=/var/run/swatch.pid

Donde,

  1. /usr/bin/swatch –daemon: El path completo de la herramienta, ademas de la instruccion para ejecutarse como demonio o servicio
  2. –config-file=/etc/swatch.conf : El archivo de configuracion que deseamos utilizar
  3. –tail-file=/var/log/auth.log : El archivo de bitacora que vamos a supervisar, si desean vigilar dos o mas archivos tan solo dejan un espacio en blanco y escriben el path para el siguiente archivo
  4. –pid-file=/var/run/swatch.pid : El Id del proceso

El archivo de Configuracion

El archivo /etc/swatch.conf contiene todos los parametros de configuracion necesarios para vigilar o ignorar palabras. Para que esta herramienta de monitoreo funcione segun nuestros requerimientos debemos de editar el archivo y agregar algo como;

watchfor /Failed|password|invalid/
echo
write usuario
mail [email protected], subject=Intentos SSH Fallidos

Donde,

  1. watchfor : es una lista de palabras claves que se escriben en la bitacora cuando un suceso que nos interesa se dispara
  2. echo : Le indica a la herramienta que despliege la alerta en pantalla
  3. write : Indica que debe de mostrar el mensaje a la consola del usuario
  4. mail addresses : Envia el repote de los sucesos al correo indicado, con el asunto indicado

Si desean probar alguna opcion nueva, tan solo ejecutan el comando sin la opcion –daemon, y reinician el proceso para que tome los cambios.

Deja tus preguntas o comentarios