[A falta de una sección sobre Monitorización, incluyo este hilo en Aplicaciones]
He estado probando varias aplicaciones de análisis de logs procedentes del cortafuegos, y quería aprovechar el foro para compartir mis experiencias, con permiso de jordi, al que felicito por la iniciativa.
Las dos herramientas que he probado han sido fwlogwatch y wflogs. Aunque fwlogwatch es -desde mi punto de vista- más potente y permite respuestas activas, me he decantado por la sencillez de wflogs y porque es suficiente para lo que quiero.
wflogs analiza el fichero que se le pasa como parámetro y realiza un resumen de las conexiones registradas, guardando el informe en un nuevo fichero o enviando un correo al administrador.
Una vez instalado, tenemos los siguientes ficheros (ubicación Debian):
/etc/default/wflogs -> configuración (autoexplicativa)
/etc/cron.daily/wflogs_report -> ejecuta script que vuelva el informe en fichero
/etc/cron.daily/wflogs_email -> ejecuta script que envía el informe vía email
/var/log/wflogs/ -> directorio de informes, estructurados por meses
/2009/11/ wflogs_2009-11-11.human wflogs_2009-11-12.human wflogs_2009-11-13.human
La sintaxis básica de ejecución es la siguiente:
wflogs -i <formato_in> -o <formato_out> iptables.log > file.report
donde el formato de entrada es el del fichero de log que analizamos, que puede ser:
netfilter, ipchains, ipfilter, cisco_pix, cisco_ios y snort
y el formato de salida del fichero donde genera el informe puede ser:
text, html, xml, human, netfilter, ipchains, e ipfilter
Mención especial para el formato html para consulta vía web, y también para el formato xml. El formato human es un poco más "sociable" en la forma de mostrar los datos.
De esta forma, diariamente wflogs realiza un informe resumen de las conexiones (a fichero o vía email), con la estructura siguiente:
12 Nov 19 23:04:50 Nov 19 23:15:23 00:00:10:33 server [NoAuth Input] kernel: eth0 mac xx:xx:xx:xx:xx:xx - mac ff:ff:ff:ff:ff:ff () udp from 192.168.2.100 (-) port 68 (bootpc) to 255.255.255.255 (-) port 67 (bootps)
8 Nov 19 22:32:03 Nov 19 22:54:03 00:00:22:00 serverfiles server [NoAuth Input] kernel: eth0 mac xx:xx:xx:xx:xx:xx - mac xx:xx:xx:xx:xx:xx () icmp type 8 (echo-request) from 192.168.2.100 (-) to 192.168.2.2 (-)
Existen muchas más opciones, disponibles como siempre en el man de wflogs.
Como último comentario para terminar, particularmente me ha dado problemas (formato netfilter no reconocido) usando ULOG en vez de la regla LOG integrada en iptables, que he tenido que solucionar con la opción --ulog-prefix anadiendo a mano la palabra kernel.
iptables -A INPUT -j ULOG --ulog-prefix "[NoAuth Input] kernel: "
¿Alguien más ha tenido este problema?