Num 03 IPTables Logs Analyzer

4
18 Número 03 www.linuxmagazine.com.es El cortafuegos Netfilter crea ficheros de registros muy detallados que real- mente nadie quiere inspeccionar a mano. Las herramientas de análisis de ficheros de registros como IPtables Log Analyzer,Wallfire Wflogs y FWlogwatch ayudan a los admi- nistradores a seguir la pista de acontecimientos y de filtros para mensajes importantes. POR RALF SPENNEBERG E n un entorno protegido por un cortafuegos, el administrador debe seguir la pista de los acontecimien- tos mediante el registro de tantas transacciones como sean posibles. Al mismo tiempo, los administradores quieren evitar inspeccionar ficheros de registros de cientos de megabytes porque sólo están interesados en algunos en concreto. Asistentes para los Ficheros de Registros Las herramientas de análisis de proto- colo proporcionan una solución a este dilema. Los usuarios de Linux tienen varias opciones a la hora de elegir un programa de análisis de cortafuegos. En datos Ulog son raras. Ulogd-php [5] es uno de los primeros. Al contrario que los otros sistemas de registros, Ulogd puede registrar los eventos que causaron una alerta en el cortafuegos en su base de datos. IPtables Log Analyzer IPtables Log Analyzer presta servicio a los registros de IPtables para Linux 2.4 o 2.6 en formato de páginas HTML (Ver Figura 1). La herramienta incluye tres componentes. El sistema de entrada de la base de datos almacena los eventos en una base de datos MySQL; los admi- nistradores pueden usar el interfaz web para acceder a la base de datos. El sis- tema de entrada de la base de datos, la Analizadores de Registros de Cortafuegos PORTADA este artículo, veremos tres alternativas: IPtables Log Analyzer [1], WFlogs del proyecto Wallfire [2] y FWlogwatch [3]. Los tres programas soportan una amplia gama de protocolos y muestran los resultados como páginas HTML muy bien formateadas; WFlogs y FWlog- watch además tienen modos en tiempo real. IPtables Log Analyzer es la única herramienta que utiliza bases de datos para el almacenamiento de mensajes. IPtables Log Analyzer se basa en un sistema de entrada especial. Ulogd de Harald Weltes [4] maneja esto de forma nativa, sustituyendo el sistema de syslog que trae por defecto. Desafortunada- mente, las herramientas de análisis gratuitas que soportan las bases de Herramientas de Análisis para Ficheros de Registros de Cortafuegos Análisis Final 018-021_Logfile_Linux3 15.02.2005 18:06 Uhr Página 18

Transcript of Num 03 IPTables Logs Analyzer

Page 1: Num 03 IPTables Logs Analyzer

18 Número 03 www.linuxmagazine.com.es

El cortafuegos Netfilter crea ficheros

de registros muy detallados que real-

mente nadie quiere inspeccionar a

mano. Las herramientas de análisis

de ficheros de registros como IPtables

Log Analyzer,Wallfire Wflogs y

FWlogwatch ayudan a los admi-

nistradores a seguir la pista de

acontecimientos y de filtros para

mensajes importantes.

POR RALF SPENNEBERG

En un entorno protegido por uncortafuegos, el administrador debeseguir la pista de los acontecimien-

tos mediante el registro de tantastransacciones como sean posibles. Almismo tiempo, los administradoresquieren evitar inspeccionar ficheros deregistros de cientos de megabytesporque sólo están interesados enalgunos en concreto.

Asistentes para los Ficherosde RegistrosLas herramientas de análisis de proto-colo proporcionan una solución a estedilema. Los usuarios de Linux tienenvarias opciones a la hora de elegir unprograma de análisis de cortafuegos. En

datos Ulog son raras. Ulogd-php [5] esuno de los primeros. Al contrario que losotros sistemas de registros, Ulogd puederegistrar los eventos que causaron unaalerta en el cortafuegos en su base dedatos.

IPtables Log AnalyzerIPtables Log Analyzer presta servicio alos registros de IPtables para Linux 2.4 o2.6 en formato de páginas HTML (VerFigura 1). La herramienta incluye trescomponentes. El sistema de entrada dela base de datos almacena los eventosen una base de datos MySQL; los admi-nistradores pueden usar el interfaz webpara acceder a la base de datos. El sis-tema de entrada de la base de datos, la

Analizadores de Registros de CortafuegosPORTADA

este artículo, veremos tres alternativas:IPtables Log Analyzer [1], WFlogs delproyecto Wallfire [2] y FWlogwatch [3].Los tres programas soportan una ampliagama de protocolos y muestran losresultados como páginas HTML muybien formateadas; WFlogs y FWlog-watch además tienen modos en tiemporeal. IPtables Log Analyzer es la únicaherramienta que utiliza bases de datospara el almacenamiento de mensajes.

IPtables Log Analyzer se basa en unsistema de entrada especial. Ulogd deHarald Weltes [4] maneja esto de formanativa, sustituyendo el sistema de syslogque trae por defecto. Desafortunada-mente, las herramientas de análisisgratuitas que soportan las bases de

Herramientas de Análisis para Ficheros de Registros de Cortafuegos

Análisis Final

018-021_Logfile_Linux3 15.02.2005 18:06 Uhr Página 18

Page 2: Num 03 IPTables Logs Analyzer

19www.linuxmagazine.com.es Número 03

PORTADAAnalizadores de Registros de Cortafuegos

parámetros de la base de datos y la con-figuración del servidor web (usuario,password, URL). El último paso es insta-lar y activar el sistema de entrada de labase de datos. Será necesario de nuevomodificar las credenciales de los usua-rios de la base de datos.

IPtables Log Analyzer tiene tres va-riantes del sistema de entrada de la basede datos denominadas feed_db.pl,feed_db-shore-wall.pl y feed_db-suse.php. Para lanzar el sistema deentrada automáticamente, el admi-nistrador necesita mover el script dearranque, scripts/iptablelog, a /etc/init.dy crear los enlaces en rc.

WFlogsWFlogs es la herramienta de análisisque pertenece al proyecto Wallfire [2],aunque puede usarse independiente-mente. El módulo del programa analizay procesa Netfilter, Ipchains, IPfilter,Cisco PIX, Cisco IOS y ficheros de re-gistro Snort, mostrando los resultadoscomo texto, HTML, XML o en tiemporeal. WFlogs no tiene soporte de base dedatos, pero puede convertir formatos deficheros de registros entre Netfilter,IPchains e IPfilter.

Instalar WFlogs en Debian es muyfácil. Debian Sid incluye WFlogs y los

paquetes para Woody están disponiblesen [8]. Los usuarios de otras distribu-ciones pueden compilar WFlogs desde elcódigo fuente. Wflogs también necesitala biblioteca WFnetobjs, otro compo-nente de Wallfire [2]. La libreríaalternativa DNS, adns [9], también serecomienda para la resolución de nom-bres de forma asíncrona DNS.

Para compilar Wflogs, se siguen lospasos típicos ./configure; make; makeinstall; se necesitará especificar el direc-torio de WFnetobjs en los pasos deconfiguración.

De Netfilter a HTMLWFlogs puede procesar los registros delcortafuegos de forma online u offline.Los siguientes comandos crean unavista en formato HTML de un fichero deregistro de Netfilter (Figura 2):

wflogs -i netfilter -o htmlUnetfilter.log > logs.html

En el modo tiempo real, WFlogs analizalas nuevas entradas del fichero de re-gistros y muestra por pantalla estasentradas. Los administradores puedenusar la shell para modificar interactiva-mente el comportamiento de WFlogs.Los siguientes comandos le dicen a

base de datos y el interfaz web puedenejecutarse todos en la misma máquina oen máquinas distintas. Por otro lado, labase de datos puede almacenar ficherosde registros de varios cortafuegos.

Después de decidir la arquitectura,el administrador necesita crear unabase de datos MySQl denominada ipta-bles, permitir a los usuarios el accesoa iptables_admin e iptables_user ygenerar tablas en la base de datos (Lis-tado 1). También es necesario definirlas reglas de IPtables. Dos cadenasdefinidas por el usuario es la mejorforma (Listado 2).

Creando CadenasEn vez de -j ACCEPT, IPtables ahorausará -j LOG_ACCEPT. Estas modifica-ciones no son necesarias para Shorewall[6] o Suse Firewall en CD [7]. Sinembargo Suse dice que no dará soportea su producto de cortafuegos en elfuturo, que es otra razón para que losadministradores escojan herramientas yactualizaciones del mundo de códigoabierto.

El siguiente paso es instalar el interfazweb. Para hacer esto, el administradornecesita mover el directorio web aldirectorio raíz del servidor web y modi-ficar config.php para reflejar los

Figura 1: IPtables Log Analyzer da al administrador una clara visión de los ficheros de registros del corta-fuegos.

01 # mysql -u root -p02 mysql> create database03 iptables;04 mysql> grant05 create,select,insert

on06 iptables.* to07

iptables_admin@localhost08 identified by

'g3h31m';09 mysql> grant create,select on10 iptables.* to11

iptables_user@localhost12 identified by

'auchgeheim';13 mysql> quit14 # cat sql/db.sql | mysql -u15 iptables_admin -p

iptables

Listado 1: Base de DatosMySQL

018-021_Logfile_Linux3 15.02.2005 18:06 Uhr Página 19

Page 3: Num 03 IPTables Logs Analyzer

20 Número 03 www.linuxmagazine.com.es

enviando mensajes de correo oautomáticamente modificando las reglasdel cortafuegos.

Los administradores pueden usar elservidor web integrado para supervisarel estado de FWlogwatch desde un nave-gador web.

FWlogwatch soporta IPchains(opción i), Netfilter (n), Ipfilter (f),IPFW (b), Cisco IOS (c), Cisco PIX (p),Netscreen (e), Windows XP (w), ElsaLancom (l) y formatos Snort (s). Lainstalación es tan fácil como lanzar los

procesos make && makeinstall && make install-con-fig. Boris Wesslowski tienelos paquetes para Red Hat yDebian en la página princi-pal del sitio web deFwlogwatch.

Los administradorespueden configurar el com-portamiento de FWlogwatchusando el archivo de confi-guración, que vienesumamente comentado.También pueden configurarFWlogwatch mediante lalínea de comandos. En laspáginas de ayuda (comandoman) vienen explicadas lasopciones. Por ejemplo, elsiguiente comando ejecutaFWlogwatch en modoresumen:

fwlogwatch -b -Pn -U U

'Spenneberg.Com'-p -n -N -o U

output.html -t -w U

/var/log/messages

La opción -Pn habilita el analizador deNetfilter. -U permite al usuario especi-ficar una cabecera para el resumen. Laopción -o especifica el fichero de salida; -w estipula la salida HTML. -n y -Npermite la resolución de nombres dehosts y servicios. El resultado es unresumen en formato HTML del ficherode registros del cortafuegos.

Respuesta RápidaLa opción de ejecución de FWlogwatchen modo tiempo real permite a losadministradores reaccionar ante men-sajes del fichero de registros y a la vezmostrar el estado actual en la ventanadel navegador. FWlogwatch se ejecutaen segundo plano como un servicio ymonitoriza el fichero de registros, ana-lizando de nuevo el archivo deconfiguración si se recibe un SIGHUP.SIGUSR1 le indica al servicio que vuelvaa abrir el fichero de registros. Esta carac-terística es útil para ir rotando ficherosde registros, por ejemplo.

Los administradores pueden especi-ficar el valor umbral para queFWlogwatch reaccione a mensajes delfichero de registros disparando alarmas orespondiendo con scripts. Hay dos

WFlogs que monitorice inte-ractivamente un ficherodenominado /var/log/warnen tiempo real:

wflogs -RI -o humanU/var/log/warn

La opción -P le dice a WFlogsque procese los mensajesmás antiguos del fichero.WFlogs no se lanza por men-sajes que no sean delcortafuegos.

FiltradoLas opciones de filtradopueden restringir la salida amensajes específicos. El fil-tro siguiente es de ladocumentación de WFlogs;lista las conexiones Telnet ySSH denegadas para los últi-mos tres días de la red10.0.0.0/8:

wflogs -f '$start_time >= U

this 3 days ago] &&$start_timeU< [this 2 days ago] && U

$chainlabel =~ /(DROP|REJECT)/U&& $sipaddr == 10.0.0.0/8 && U

$protocol == tcp && ($dport ==Ussh || $dport == telnet) && U

($tcpflags & SYN)' -i U

netfilter -o text U

--summary=no

FWlogwatchBoris Wesslowski desarrolló FWlogwatchpara RUS-CERT en la Universidad deStuttgart, Alemania. La versión 1.0 [3]de la herramienta de análisis ahora hasido lanzada bajo licencia GPL.

FWlogwatch tiene tres modos deoperación: Modo Log Summary, ModoInteractive Report y Modo RealtimeResponse. En el modo Log Summary, elprograma genera texto o páginas HTMLcon el resumen del análisis de losficheros de registros del cortafuegos(Figura 3). En el modo Interactive Report,FWlogwatch genera automáticamenteinformes de incidencias que los admi-nistradores pueden reenviar a quieneshayan sido afectados por el incidente.

En el modo Realtime, FWlogwatchresponde a ataques ejecutando scripts,

Analizadores de Registros de CortafuegosPORTADA

Figura 2: La página del Resumen de WFlogs muestra cuantos paquetes hansido registrados para cada fuente.

01 iptables -N LOG_DROP

02 iptables -A LOG_DROP -j LOG--

03 log-tcp-options--log-ipoptions

04 --log-prefix05 '[IPTABLES DROP] :'06 iptables -A LOG_DROP -j DROP07 iptables -N LOG_ACCEPT08 iptables -A LOG_ACCEPT -j LOG09 --log-tcp-options

--log-ipoptions10 --log-prefix11 '[IPTABLES ACCEPT] : '12 iptables -A LOG_ACCEPT -j13 ACCEPT

Listado 2: Analizador deRegistros de IPtables

018-021_Logfile_Linux3 15.02.2005 18:06 Uhr Página 20

Page 4: Num 03 IPTables Logs Analyzer

21www.linuxmagazine.com.es Número 03

PORTADAAnalizadores de Registros de Cortafuegos

con el analizador Netfilter. El proceso seejecuta bajo la identificación de usuariofwloguser.

Si se excede el umbral de cinco cone-xiones en 600 segundos, Fwlogwatchrealiza una acción configurable. Fwlog-watch monta un servidor de web en127.0.0.1:8888, donde un usuario ralfpuede conectarse con la contraseña pass-word. FWlogwatch utiliza contraseñasencriptadas con DES, que pueden gene-rarse tecleando htpasswd -nb usuario

contraseña. Cuando el usuario se registraen esta página, aparece lo mostrado en laFigura 4. Esta página conduce a otraspáginas con una amplia gama deopciones de configuración de Fwlog-watch (Figura 5).

OpcionesFWlogwatch tiene una enorme va-riedad de características, que vandesde un simple resumen hasta unmodo en tiempo real con respuestasconfigurables. Pero las otras herra-mientas que se comentan en esteartículo merecen también una buenaconsideración. Si necesita filtrospotentes, WFlogs puede ser unabuena opción para su red. El IPta-bles Log Analyzer es una opcióninteresante para algunas situacionespor su soporte de base de datos.

El IPtables Log Analyzer da a losadministradores de sistemas la opción deutilización de sentencias SQL para bus-car los mensajes del cortafuegos, en vezde tener que lanzar las búsquedas desdeuna interfaz web. ■

opciones de configuración importantes:recent (-l) define el período de tiempo amonitorizar y alert_threshold (-a) defineel número de eventos que en este tiempotienen que suceder para lanzar unarespuesta. El Listado 3 muestra su con-figuración. Este ejemplo configuraFWlogwatch para el modo en tiempo real

Figura 4: El servidor web integrado en FWlog-watch permite a los administradores monitorizarel estado actual del cortafuegos.

Figura 5: Los administradores pueden utilizar unnavegador para configurar FWlogwatch. El AlertThreshold especifica el número de mensajes nece-sarios para lanzar la respuesta de FWlogwatch.E

[1] IPtables Log Analyzer: http://www.gege.org/iptables/

[2] Proyecto Wallfire (WFlogs y WFnetobjs):http://www.wallfire.org

[3] FWlogwatch: http://fwlogwatch.inside-security.de

[4] Ulogd: http://gnumonks.org/projects/ulogd

[5] Ulogd PHP:http://www.inl.fr/download/ulog-php.html

[6] Cortafuegos Shorewall: http://shorewall.sourceforge.net

[7] Cortafuegos Suse:http://www.suse.de/en/ business/products/suse_business/firewall/

[8] Paquetes WFlogs,Debian Woody: http://people.debian.org/~kelbert/

[9] GNU adns:http://www.chiark.greenend.org.uk/~ian/adns/

INFO

Ralf Spenneberg es un freelance deUnix/Linux, profesor y autor. El añopasado vió la luz su primer libro:“Sis-temas de Intrusión y Detección paraServidores Linux”. Ralf también hadesarrollado varios trabajos de edu-cación.

ELAU

TOR

Figura 3: En Modo Resumen, FWlogwatch da a los administradores una vista de la actividad del ficherode registro del cortafuegos.

01 realtime_response = yes

02 parser = n03 run_as = fwloguser04 recent = 60005 alert_threshold = 506 notify = yes07 notification_script = /usr/08 sbin/fwlw_notify09 server_status = yes10 bind_to = 127.0.0.111 listen_port = 888812 status_user = ralf13 status_password =14 i0QlAmOg4PrAA15 refresh = 10

Listado 3: Fwlogwatch enModo Tiempo Real

018-021_Logfile_Linux3 15.02.2005 18:06 Uhr Página 21