SIEMFuente imagen: Gigaom
Hoy hablaremos de los SIEM (Security Information and Event Management). Estos sistemas surgen de la combinación de dos tareas, que inicialmente realizaban productos específicos: SIM (Security Information Management) y SEM (Security Event Management). Si bien cada una de estas funciones puede ser independiente de la anterior, la verdad es que para gestionar un evento necesitas tener información, así que los desarrolladores, sobretodo los de soluciones propietarias, han tendido a fusionar las dos tareas en un único sistema. En este capítulo no haremos diferencia entre funciones, sino que explicaremos el funcionamiento global de un sistema SIEM.
Los SIEM son probablemente una de las herramientas más difíciles de ajustar y que genera un mayor trabajo de gestión, muchas veces repetitivo, por lo que es muy importante que se tengan en cuenta en cualquier proyecto de implantación de un SIEM: se requiere mucho trabajo de ajuste del sistema para que el análisis de la información sea correcto y las alarmas generadas sean válidas e interesantes. Así cómo otros sistemas de protección, como los antivirus o sistemas anti-spam, pueden dejarse en modo automático, los SIEM deben ser gestionados, analizados y ajustados por técnicos especialistas si se quiere obtener resultados tangibles. Por este motivo no es extraño que muchas empresas prefieran contratar un SOC externo que gestione el SIEM con sus alarmas.
Veamos todos los pasos necesarios para obtener información, analizarla y obtener las alertas oportunas:
1. Recopilación de logs
El primer punto para un sistema de gestión de información es, precisamente recoger esa información. Aquí tenemos dos opciones para obtener los logs: la primera opción es que los sistemas que queremos analizar envíen una copia de sus logs a nuestro sistema SIEM; y la segunda sería que el sistema SIEM haga peticiones periódicas a los sistemas a controlar. Para el intercambio de información podemos utilizar protocolos estándares, como Syslog o SNMP, o bien la conexión con agentes instalados en los servidores a controlar. Lo más probable es que, debido a los entorno heterogéneos de cualquier empresa mediana, el sistema SIEM utilice una combinación de todas las opciones para recoger el máximo de información posible.
1.a Normalización de logs
Fuente imagen:PerfectYourPodcast
Al integrar información de diferentes fuentes debemos asegurarnos que guarden un formato común para poder hacer el análisis posterior. Cada fabricante decide cómo generar los registros de eventos de su plataforma y puede decidir cambiar el formato de logs entre diferentes productos o, incluso, entre versiones de un mismo sistema. Quizás el ejemplo más visual sea el formato de fecha de cuándo sucedió un evento: el formato estadounidense o el español son diferentes (p.e. el orden del número de día o mes cambia), también puede cambiar el texto si el idioma del sistema operativo es diferente (aunque sea lo mismo no queda el mismo registro un lunes que un Monday). Igualmente importante es que todos los equipos tengan sus relojes sincronizados para que el SIEM pueda conocer el orden cronológico de los eventos: para ello se suele utilizar un servidor NTP centralizado.
2. Almacenamiento de logs
En este punto más que el propio formato de almacenamiento de los registros, la principal característica técnica a tener en cuenta es la información extra que añade el sistema para permitir un tratamiento posterior más eficiente. El marcado, etiquetado, categorización, o cualquier otro nombre que los comerciales quieran dar, debe permitir la selección de registros para su posterior correlación. Como suele sucede no existe un único tipo ni un sistema estandarizado de elegir qué y cómo almacenar los registros y todo tiene sus ventajas e inconvenientes.
Otro punto a tratar en este punto es qué logs de eventos queremos almacenar: la primera aproximación suele ser que queremos guardar todo, pero el gran tamaño de almacenamiento (que cuesta dinero)