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,
- /usr/bin/swatch –daemon: El path completo de la herramienta, ademas de la instruccion para ejecutarse como demonio o servicio
- –config-file=/etc/swatch.conf : El archivo de configuracion que deseamos utilizar
- –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
- –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,
- watchfor : es una lista de palabras claves que se escriben en la bitacora cuando un suceso que nos interesa se dispara
- echo : Le indica a la herramienta que despliege la alerta en pantalla
- write : Indica que debe de mostrar el mensaje a la consola del usuario
- 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.