Vous êtes sur la page 1sur 25

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de logs:
Una experiencia real
Daniel Snchez Dorado
dani@fib.upc.edu

Facultad de Informtica de Barcelona


Universidad Politctica de Catalunya
Jornadas Tcnicas Rediris 2006
16 Noviembre 2006

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Presentacin

El Laboratorio de Clculo de la Facultad de Informtica de


Barcelona (LCFIB) dispone de unos 80 servidores y 60
equipos diversos (SAIs, access points, routers,
switches, impresoras, sensores, cmaras, ) los cuales
son capaces de generar logs sobre su estado.
En general, cada equipo es una fuente local de logs
Esos logs generalmente estn basados en el sistema de
syslog de unix, en el sistema de eventos de Windows,
en traps SNMP o en ficheros locales

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Presentacin II


Pero, quin mira esos logs?
El problema es que nadie controla estos logs
constantemente, lo cual nos lleva a que
los logs
nos dicen qu ha pasado
y nosotros queremos que
nos digan qu est pasando.

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Presentacin III


El ao pasado emprendimos un proyecto cuyo objetivo es
incorporar la informacin til de los logs a nuestro
sistema de monitorizacin (Nagios) en tiempo real.
Existen gran cantidad de artculos explicando como se
consigue todo esto de manera sencilla.
Por ejemplo:
Sysadmin Diciembre 2004 Vol 13 Number 12
Centralized Logging for UNIX, Windows, and Network Devices Corey Ramsden

Descubrimos que estos artculos obvian ciertos


problemillas
El objetivo de esta presentacin es exponer todos los
problemas con que nos encontraremos para facilitar
esta tarea a futuros usuarios.

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Lista de tareas


Las tareas bsicas son:

Recoleccin local

Envo a un servidor central

Qu envo?

Anlisis

Qu recojo? Cmo lo clasifico?

Qu busco?

Entrega de resultados

Cmo lo enseo?

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Syslog local


El sistema de syslog se encarga de recoger y almacenar en ficheros
los eventos en funcin de 2 parmetros: la facility y la severity
En el syslog.conf clasificamos y archivamos los logs en ficheros en
funcin de ellos

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Syslog local II

Cada aplicacin enva los logs a una facility


determinada

La mayora de distribuciones actuales agrupan los


logs por severity
#
# print most on tty10 and on the xconsole pipe
#
kern.warning;*.err;authpriv.none
/dev/tty10
kern.warning;*.err;authpriv.none
|/dev/xconsole
*.emerg
*
#
# Warnings in one file
#
*.=warning;*.=err
*.crit

-/var/log/warn
/var/log/warn

#
# Some foreign boot scripts require local7
#
local0,local1.*
-/var/log/localmessages
local2,local3.*
-/var/log/localmessages

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: syslog.conf


# Mensajes de kernel
kern.panic;kern.emerg;kern.alert;kern.crit;kern.err
kern.warning;kern.notice;kern.info

/syslog/kern_greu.log
/syslog/kern.log

# Logs de los ipfilters de los firewals Linux


kern.debug
/syslog/ip.log
user.debug
/syslog/user.log
mail.debug
/syslog/mail.log
daemon.debug
/syslog/daemon.log
syslog.debug
/syslog/syslog.log
lpr.emerg;lpr.alert;lpr.crit;lpr.notice
/syslog/lpr.log
# Logs de los iptables de Solaris
local0.debug
/syslog/ip.log
local2.debug
/syslog/local2.log
# Logs de SAMBA
local4.warning

/syslog/samba.log

# Logs del tripwire


local5.debug

/syslog/tripwire.log

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Consideraciones

Hay aplicaciones que tienen la facility y severity dentro del cdigo.


Otras en cambio, se pueden configurar

No siempre disponemos del cdigo fuente, o no es posible


cambiarlo: por ejemplo software propietario.

A veces el mismo software ocupa distintas facility en distintos


servidores !

Hay que hacer una revisin de todas las aplicaciones de todos los
sistemas y hacer una tabla para agrupar los logs por categoras de
facilitys comunes

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs:
Tabla de facilitys centralizada

Al final, hemos de llegar a una tabla como esta:

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Windows

Usaremos el NTSyslog para integrar los sucesos de sistema de


Windows (http://ntsyslog.sourceforge.net/)

Las categoras de sucesos de Windows parecen las de syslog,


pero en la prctica son completamente distintas

facility: Aplicacin, Seguridad, Sistema, (hay otras)


severity: Error, Advertencia, Informacin, Auditora de aciertos, Auditora de
errores

Qu monitorizamos?
Procedimiento:

Obtenemos la lista completa de sucesos del sistema


Knowledge Base artculos 299475 y 301677
(Descripciones de los sucesos de seguridad de Windows 2000)

Elegimos los mensajes que consideremos importantes


Escogemos las categoras que engloban todos estos mensajes

FACULTAT DINFORMTICA DE BARCELONA

Centralizacion de Logs: poltica de Windows


Seguridad

Sistema

Aplicacin

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs:otros

Los IOS de Cisco incorporan un cliente syslog, slo hay que


configurarlo:
switch1#conf t
switch1(config)#
switch1(config)# logging facility local6
switch1(config)# logging 192.168.1.2
switch1(config)# logging trap 4

Las impresoras HP y las tarjetas de gestin de los SAIs modernos


incorporan tambin un cliente syslog

Aplicaciones especficas que dejan mensajes en ficheros concretos


pueden ser pasadas a syslog mediante un script o usando el
syslog-ng:
tail f <log> | logger p user.notice

Para el resto de dispositivos se puede habilitar un gestor de traps


SNMP

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: qu envio?

Una vez hemos agrupado los logs por facility y los hemos
sincronizado en todos los servidores, simplemente hemos de
indicar al syslog que enve los logs remotos, pero
Qu enviamos? Todo?

Nuestra poltica de syslog:

Se envan todos los logs de severity: emerg, alert, crit y error


En las mquinas que actan de firewall: todos los logs de firewall
En las mquinas gestoras de mail: todos los logs de mail

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs

Para enviar los logs, simplemente aadir esta lnea al syslog.conf


de cada mquina:
*.emerg;*.alert;*.crit;*.err

@nodo-central

En firewalls, aadimos el iptables


*.emerg;*.alert;*.crit;*.err;kern.=debug

En gestores de mail, aadimos:


*.mail

@nodo-central

@nodo-central

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Qu envio?


Otras decisiones:

Syslog o syslog-ng?
Nuestra experiencia es que syslog-ng es recomendable, pero no
imprescindible
Para una instalacin nueva, yo lo instalara desde el principio.

Envo encriptado ?
Syslog enva los mensajes en texto en claro. Nosotros no lo hemos credo
necesario, pero puede serlo en entornos muy seguros

Almacenamiento en una BD

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Anlisis

El anlisis consiste en buscar los mensajes que realmente nos


aportan informacin sobre el estado del sistema.

La clasificacin de severitys, en general no suele aportar mucho


sobre la gravedad de los mensajes, ya que cada software la
interpreta de formas muy distintas

En general, los programas normales utilizan una nica severity


para generar todos los mensajes.

Slo los programas ms sofisticados usan correctamente toda la


clasificacin de severitys (kernel, bind, samba, )

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Anlisis

Para el anlisis de los logs existen muchos programas de parser,


los ms conocidos son:

Logsurfer+
Swatch

Nuestra recomendacin es agrupar cada facility en un fichero y


parsearlo por separado. Como hemos agrupado por facilitys, los
mensajes de un mismo tipo de programas estn agrupados, as
que es mucho ms fcil reconocer patrones

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Anlisis II

Swatch se basa en un fichero de configuracin del estilo:


####################### Configuracion SWATCH ############################
# ATENCION: Fichero generado automaticamente por el SiMLog al ejecutar
# start_simlog.
# Fichero de Log: /xxxx/xarxes.log
#########################################################################
ignore /.*Ethernet.* changed state to .*/
ignore /.*last message repeated.*/
watchfor /(.*Configured from console by .*.*)/
bell
echo
mail xxxx@fib.upc.edu
exec perl /home/soft/swatch/send_alarm 'ALL'

0 '' '$1'

watchfor /(.*Attempted to connect to RSHELL from .*.*)/


exec perl /home/soft/swatch/send_alarm 'ALL' 1 '' '$1'
watchfor /(.*list .* denied .*.*)/
exec perl /home/soft/swatch/send_alarm 'ALL'

1 '' '$1'

watchfor /(.*list .* permitted .*.*)/


exec perl /home/soft/swatch/send_alarm 'ALL'

0 '' '$1'

watchfor /(.*)/
exec perl /home/soft/swatch/send_alarm switch1:switch2'

2 '' '$1'

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Anlisis II


Consejos:

Una vez centralizados los logs, acumular mensajes en cada


categora durante unos das.

La primera regla que nos aparecer

ignore /(.*last message repeated.*)/

Algunos mensajes ya son sobradamente conocidos, as que ya


podemos incorporarlos. Otros los podremos obtener a partir de los
ficheros.

Aadimos una opcin de todo lo que no interpreto, genero una


alarma al final. De esta forma poco a poco irn apareciendo los
mensajes importantes e iremos descartando el resto
watchfor /(.*)/
mailto admin@fib.upc.edu

En ficheros con gran cantidad de mensajes podemos decidir que


todo lo no reconocido sea ignorado.

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Integracin con Nagios

Swatch es bueno reconociendo


patrones, pero nosotros
necesitamos integrarlo con
nuestra herramienta de gestin de
redes: Nagios

Mi objetivo final es que cada equipo/servidor tenga una alarma que me


diga qu mensajes son importantes.
Nagios nos permite 3 niveles de alarma: OK, Warning y Critical. Tambin
me interesa incorporar este nivel de alarma a mis mensajes

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs :Integracin con Nagios II

Para integrarlo necesitamos un elemento ms, que nos relacione


determinados logs con sus servidores y aada en nivel de OK,
Warning o Critical.
Para ello desarrollamos un script que aporta esta utilidad. Este
script parte de un fichero de configuracin como ste y nos genera
los ficheros de configuracin de swatch
log: /xxx/xarxes.log
ALL;;/Configured from console by .*/;"";OK;-;-;ALL;;/Attempted to connect to RSHELL from .*/;"";WARN;-;-;switch1,switch2;;/.* GigabitEthernet.*\/52 changed state to .*/;"";CRIT;-;-;switch1,switch2;;/.* GigabitEthernet.* changed state to .*/;"";NONE;-;-;ALL;;/psecure-violation error detected/;"";CRIT;-;-;ALL;;/.* FastEthernet.* changed state to .*/;"";NONE;-;-;ALL;;/FastEthernet.* is experiencing errors/;"";WARN;-;-;ALL;;/GigabitEthernet.* is experiencing errors/;"";WARN;-;-;ALL;;/list .* denied .*/;"";WARN;-;-;ALL;;/list .* permitted .*/;"";OK;-;-;ALL;;/FastEthernet.* link down\/up .* times per min/;"";NONE;-;-;router1,router2;;/GigabitEthernet.* link down\/up .* times per min/;"";CRIT;-;-;ALL;;/last message repeated/;"";NONE;-;-;- router1,router2;;/.*/;"";CRIT;-;-;ALL;;/.*/;"";CRIT;-;-;-

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin de Logs: Integracin con Nagios III

Para incorporar las alarmas a Nagios usaremos la opcin de


swatch de llamar a un programa externo para pasarle el mensaje, la
mquina y el nivel de alarma

El script send_alarm escribe en el fichero de comandos externos


(nagios.cmd) el resultado de la alarma
watchfor /(.*list .* permitted .*.*)/
exec perl /home/soft/swatch/send_alarm 'ALL'

0 '' '$1

Para Nagios crearemos una servicio nuevo donde incorporaremos


estos mensajes. Este servicio ser de tipo voltil
define service{
name simlog-generico
use servicio-generico
service_description MENSAJES
max_check_attempts 1
is_volatile 1
normal_check_interval 60
contact_groups admin-lcfib
check_command reset_alarm
stalking_options o,w,c,u
register 0
}

FACULTAT DINFORMTICA DE BARCELONA

Ventajas adicionales
Ventajas adicionales:
Logs remotos dan seguridad
aadida ya que no pueden ser
modificados

Nos permite centralizar


software de estadstico,
grficas,

Nos permite hacer correlacin


de eventos

Notificaciones de scripts
especficos

FACULTAT DINFORMTICA DE BARCELONA

Centralizacin: Documentacin interesante

Documentacin sobre las auditoras de Windows:


http://www.microsoft.com/spain/technet/seguridad/2000server/chapters/ch06secops.asp

Logsurfer+
http://www.samag.com/documents/s=9053/sam0403i/0403i.htm

Cross-Platform Event Reporting


http://www.samag.com/articles/2000/0009/

Remote System Logs via SSH


http://www.samag.com/documents/s=1149/sam0106s/0106s.htm

Sitio web sobre temas de logs. Buenos artculos y


referencias
http://www.loganalysis.org/

Guia de mensajes inesperados en los logs:


http://www.loganalysis.org/presentations/syslog_sans_webcast.pdf

Snare EventLog (LotusNotes, windows, es GNU)


http://www.intersectalliance.com/projects/SnareWindows/index.html

Vous aimerez peut-être aussi