Monitoreo de red: OSSIM Review Parte II (Nagios, Nessus, OpenVAS, Osiris)
Como lo prometí, heme aquí escribiendo la segunda parte del review del OSSIM. Para el que no haya leído la primera parte, puede encontrarla aquí.
Para repasar un poco las cosas, recordemos que OSSIM es una herramienta que agrupa los resultados de muchas herramientas para mostrarlos de forma uniforme al pobre encargado de monitorear la red. La lista de herramientas que se ejecutan de fondo es grande y en la primer parte repasé, además de OSSIM, los IDSs Snort y OSSEC. En esta entrega veremos un poco más sobre herramientas de monitoreo y escaneo de red. Arranquemos nomas con el repaso.


Osiris

Continuando con la seguidilla de IDSs del artículo anterior, OSSIM también trae Osiris, un HIDS centrado en el monitoreo de integridad del host. Este se utiliza para monitorear cambios en una red de hosts a través del tiempo y reportando estos cambios al administrador(es).
Actualmente, el monitoreo incluye cambios en el filesystem. Osiris toma snapshots periódicos del filesystem y los almacena en una base de datos. Estas bases de datos, así como las configuraciones y los logs, son almacenados en un host de administración central. Cuando se detectan cambios, Osiris loguea estos eventos en el log del sistema y opcionalmente envía un e-mail al administrador.
Además de los archivos, Osiris también monitorea listas de usuarios, listas de grupos, y módulos del kernel o extensiones.

La arquitectura de Osiris está basada en tres componentes:
- consola de administración (osirisimd): debe estar instalada en un host confiable porque es a donde se almacena la información sobre los hosts administrados, incluyendo configuraciones, logs, y bases de datos.
- un agente de escaneo (osirisd): proceso que se ejecuta en cada host monitoreado. Es el responsable de escanear el filesystem local y enviar los datos al host administrador.
- aplicación de administración CLI (osiris): la utiliza el administrador para administrar los detalles de los hosts escaneados. Se comunica directamente con la consola de administración.

osiris <==> osirismd <==> osirisd

Pueden leer más sobre Osiris en su handbook.


Nessus

Pasamos de la detección pasiva a la activa por un momento. Nessus es un programa de escaneo de vulnerabilidades. Su función es escanear los hosts que el usuario desea, detectando primero los ports que tienen abiertos y luego enviando una batería de test para comprobar qué hosts son vulnerables. A partir de los resultados obtenidos, Nessus arma un detallado informe con las vulnerabilidades de cada host, describiendo cada vulnerabilidad, el nivel de riesgo que representa y las posibles formas de mitigarla.
Esta herramienta ahorra horas de pruebas al auditor de red (el sueño del pentester), y permite que personas sin tanto conocimiento sobre exploits pueda conocer los problemas en la red y las soluciones.
Nessus es una herramienta muy completa y flexible, permitiendo agregar tests (plugins) de vulnerabilidades, los cuales deben ser escritos en NASL (Nessus Attack Scripting Language), un lenguaje de scripting optimizado para interacción de red personalizada. Además es posible realizar auditoría de passwords y verificar el nivel de parches aplicados en Windows si el usuario provee las credenciales necesarias.
El reporte generado por Nessus se puede exportar en varios formatos como texto plano, XML, HTML y LaTeX, además del formato propio de Nessus.

En sistemas Unix Nessus está compuesto por un demonio nessusd encargado de realizar es escaneo, y un cliente que controla el escaneo y muestra los resultados. La versión Windows, en cambio, es un solo ejecutable que contiene todo.

Realmente esta herramienta es extremadamente útil, no sólo porque realiza un escaneo automatizado excelente (cubre una amplísima variedad de pruebas), generando reportes bien descriptivos, sino también porque es muy fácil de utilizar. La primera vez que corrí Nessus quedé muy sorprendido por su capacidad, no he conocido otra herramienta que realice un escaneo automatizado tan bueno. Generalmente los escaneos automatizados cubren algunos aspectos, pero fallan en detectar muchas vulnerabilidades, dejando la mayor parte del trabajo a la persona que realiza la auditoría.

Penosamente Nessus dejó de ser libre en 2005. La compañía detrás de Nessus (Tenable Network Security) cerró el código en su versión 3 y ahora venden los plugins. Por suerte todavía mantienen un conjunto de plugins gratuitos pero que sólo pueden utilizarse en casa o en empresas sin fines de lucro (ver Nessus FAQ). Si quieren utilizar Nessus en entornos con fines de lucro, deben comprar la versión profesional.
Por ello la gente de Alien Vault (empresa detrás de OSSIM) creó su propio conjunto de plugins gratuitos y licenciados bajo la GPLv2.


OpenVAS

Además de Nessus, OSSIM incluye OpenVAS (OpenSource Vulnerability Assessment Scanner), el fork libre de Nessus, creado a partir del motor en Nessus 2 (que era libre). Se entiende a partir de esto que OpenVAS funciona igual a Nessus y persigue el mismo propósito, escanear en busca de vulnerabilidades.
Esta herramienta tiene algunas limitaciones y no llega a ser Nessus, pero el trabajo detrás es interesante, porque además se pueden utilizar los plugins libres de Nessus.


Nagios

OK llegamos a una de mis favoritas. Sin dudas Nagios es una de las herramientas más interesantes para el monitoreo de redes, aunque también una de las más complejas para customizar y mantener. Como bien dicen en el manual oficial "Relax - it's going to take some time".
Nagios es de las herramientas más complejas, pero permite a un administrador tener una visión central del estado de los hosts de la red. A través del monitoreo de hosts, Nagios puede enviar alertas en caso de fallas. La descripción de la funcionalidad es simple, monitorear hosts y alertar en caso de fallas. Además posee un front-end web desde donde se puede observar el estado de la red.

Nagios se basa en un demonio central que recibe datos de plugins y los almacena en una base de datos. La configuración de todo el sistema se realiza a través de archivos de texto. Nagios no incluye mecanismos de chequeo de estado de hosts y servicios, deja este trabajo a los plugins. Simplemente se limita a ejecutar los plugins, recibir los resultados, procesar los resultados y ejecutar las acciones necesarias.

Lo bueno del sistema de plugins es que abstraen a Nagios del chequeo en sí, logrando que sea extremadamente flexible y extensible, abarcando varias plataformas. Los plugins pueden ser scripts o ejecutables que se pueden ejecutar desde la línea de comandos.


Si bien todo el monitoreo se puede realizar desde una sola máquina, algunos plugins requieren que se instale un agente monitor en la máquina que deseamos monitorear. Ejemplo de este caso es cuando deseamos monitorear el uso de CPU, memoria, disco, de alguna máquina en particular. El agente monitor se comunica con el server Nagios para enviar la información necesaria.
Actualmente existen plugins para monitorear varios dispositivos y servicios incluyendo:
* HTTP, POP3, IMAP, FTP, SSH, DHCP
* Carga de CPU, Uso de Disco, Uso de Memoria, Usuarios Actuales
* Unix/Linux, Windows, y servidores Netware
* Routers y Switches

Alertar sobre fallas es la principal función de Nagios, pero éste también es capaz de ejecutar event handlers. Los event handlers, al igual que los plugins, son comandos del sistema (ejecutables o scripts), y tratan de arreglar el problema antes de notificarlo. Entre los usos se incluye:
* Reiniciar un servicio que falló
* Ingresar un ticket de problema en un sistema helpdesk
* Loguear información del evento en una base de datos
* Reboot del sistema (hay que tener mucho cuidado con este)

Como dije anteriormente, Nagios es muy muy completo. La configuración no es simple, pero está muy bien documentada. Lleva un tiempo hasta que logramos que nos alerte lo que deseamos, o tomar las acciones necesarias. Al principio puede resultar bastante molesto la cantidad de alertas arrojadas, pero gracias a la configuración de umbrales, y a la inteligencia para detectar flip-flos (cuando un servicio/host cae y se levanta muchas veces en un intervalo corto de tiempo) es posible lograr el funcionamiento deseado.


To be continued...

Una vez más, la cantidad de información sobrepasó el tamaño que pensaba y necesitaré terminar de describir las herramientas de OSSIM en un nuevo artículo. Resta entonces hablar sobre herramientas de monitoreo pasivas como Arpwatch, Tcptrack, p0f, Pads; graficadores de tráfico como Ntop, NFSen, y una de inventariado llamada OCS-NG.
Vengo bastante encaminado, así que probablemente termine la revisión en un par de días. Las herramientas que restan son muy interesantes y vale la pena saber de que tratan, así que stay tuned.

0 comentarios:

Publicar un comentario