En un servidor expuesto a la red, se generan multitud de eventos que son registrados en diferentes archivos de sucesos. Estos archivos, a pesar de estar en texto plano y ser perfectamente interpretables por personas, debido al volumen de información que se genera rápidamente se vuelven inabarcables.
Aquí es donde aparece una utilidad como Logwatch. Esta herramienta analiza los diferentes archivos de registro de sucesos generados por los servicios presentes en el servidore y genera un informe con la información más relevante para nosotros.
Entre los servicios que puede monitorizar están los accesos al sistema, el cortafuegos, Apache, Fail2ban, etc. Estos pueden ser activados de acuerdo a nuestras necesidades.
Instalación
La instalación en un servidor Ubuntu están fácil como es habitual. Tan solo debemos acceder al equipo y introducir el siguiente comando para instala Logwatch.
sudo apt-get install logwatch libdate-manip-perl
Podemos lazar un informe tan fácilmente como:
sudo logwatch
O si queremos que nos lo envíe a nuestro correo podemos usar un comando semejante a:
sudo logwatch --mailto usuario@midominio.com --output mail --format html
Sin olvidar cambiar el correo del comando por el de donde queremos que se envíe el informe.
Configuración
La configuración de Logwatch es un tanto peculiar. En el directorio donde se instala convive con los archivos de configuración. Esto esta en /usr/share/logwatch. Ahí no debemos de tocar nada. Si acaso observar los valores de configuración que están por defecto.
La configuración la debemos hacer en el archivo /etc/logwatch/conf/logwatch.conf. Las entradas de configuración que escribamos en ese archivo prevalecerán sobre las que están por defecto. Recién instalado logwatch no existe el archivo en el directorio.
Además en la instalación se crea una tarea programada para el servicio CRON para iniciar logwatch una vez al día. Si queremos que este informe se envíe a nuestro correo debemos añadir al archivo de configuración:
Pedimos que los informes los genere en html:
sudo echo "Output = mail" >> /etc/logwatch/conf/logwatch.conf
Le pedimos que el informe sea de la última semana:
sudo echo "Range = between -7 days and today" >> /etc/logwatch/conf/logwatch.conf
Le pedimos que lo envíe a usuario@midominio.com. Que cambiaremos por nuestro correo:
sudo echo "MailTo = usuario@midominio.com" >> /etc/logwatch/conf/logwatch.conf
Y para probar si funciona lanzamos la tarea:
sudo /etc/cron.daily/00logwatch
Recibiremos el informe de la última semana en nuestro correo, perfectamente formateado en html.