twitter
    Sigueme en el Twitter :-)

19 diciembre 2008

HIDS... un poco de seguridad

El campo de los detectores de intrusos siempre me ha fascinado, la idea en sí misma de un IDS es genial: un sistema que me permita saber cuando y como soy atacado e incluso efectuar acciones reactivas ante dichos ataques. En un mundo ideal los detectores de intrusos serían la panacea de la seguridad informática pero no estamos en un mundo ideal. No obstante estamos en un campo interesantismo.

Hay 3 tipos de detectores de intrusos:

Host IDS (HIDS): los sensores se encuentran en cada maquina y por tanto vigilan unicamente dicha maquina.

Network IDS (NIDS): los sensores se encuentran en segmentos de red y por tanto vigilan el trafico de la misma.

Distributed IDS (DIDS): en la práctica se trata de una serie de NIDS que se comunican con un sensor central, ideal para VPN’s.

Todo el mundo que haya oido hablar de detectores de intrusos estará pensando en Snort, sin duda el rey de los NIDS OpenSource. Esta entrada, sin embargo, es para hablar de OSSEC, un HIDS que he utilizado desde hace tiempo pero que me ha sorprendido gratamente en sus ultimas versiones y que ha incorporado una interfaz Web para visionar las alertas.

OSSEC es un detector de intrusos en host que proporciona análisis de logs, verificación de integridad de ficheros( gracias a OSSEC he dicho adiós a AIDE ), monitorización del registro de Window$, detección de rootkits en tiempo real, etc y que permite configurar respuestas activas. Funciona en multitud de sistemas operativos como Linux, OpenBSD, FreeBSD, MacOS, Solaris y Window$. En esta entrada comentaré brevemente como montarnos un OSSEC sobre Linux sin respuesta activa( no se os puede dar todo masticado ) y configuraremos la interfaz web para ver las alertas de forma cómoda y sencilla.

Instalación

  • Lo primero es bajarnos el agente para Linux, es muy sencillo solo hay que ejecutar:

  • # wget http://www.ossec.net/files/ossec-hids-1.6.1.tar.gz


  • Descomprimimos el fichero:

  • # tar zxvf ossec-hids-1.6.1.tar.gz


  • En el directorio resultante ejecutamos el script de instalación:

  • ./install.sh


    Este script nos deja instalado el OSSEC con la configuración por defecto, para afinarla solo tenemos que modificar el fichero /var/ossec/etc/ossec.conf pero eso es cosa vuestra. Un aspecto a destacar en la instalación es que OSSEC se instala específicamente para el núcleo de Linux que se esté ejecutando en ese momento, por lo tanto si cambiamos de kernel es necesario instalar nuevamente OSSEC.

    Para inicializar OSSEC debemos ejecutar el script de control:
    # /var/ossec/bin/ossec-control start


    No obstante OSSEC detecta el tipo de Linux en el que se está ejecutando y crea un script de inicio adecuado para cada uno, en mi caso para Ubuntu Intrepid creó el script /etc/rc.d/rc.ossec

    El sistema de detección de intrusos utiliza 4 procesos:
    /var/ossec/bin/ossec-maild
    /var/ossec/bin/ossec-execd
    /var/ossec/bin/ossec-analysisd
    /var/ossec/bin/ossec-logcollector
    /var/ossec/bin/ossec-syscheckd
    /var/ossec/bin/ossec-monitord


    Aunque no lo parezca por las grandes prestaciones que tiene, OSSEC no consume ni memoria ni CPU en exceso.

    Interfaz Web

    El problema cuando instalamos verificadores de integridad, IDS’s, etc suele ser que en teoría proporcionan multitud de beneficios pero en la practica la gestión de las alertas resulta tan tediosa que no merece la pena su uso. Para que no suceda esto último los chicos de OSSEC han desarrollado una interfaz web escrita en php que permite la consulta rapida y sencilla de las alertas. Es una interfaz que si bien no está aún muy madura, ya tiene beneficios y todo apunta a que se están volcando mucho en su desarrollo. Prueba de ello es que existe un Wiki creado unicamente para ella con una lista de funciones pendientes por desarrollar muy interesante.

    Instalarla es muy sencillo una vez que tengamos ya en funcionamiento nuestro servidor LAMP( en realidad con un LAP es suficiente ), apenas unos pocos y sencillos pasos.

    Descargamos la interfaz web:
    # wget http://www.ossec.net/files/ui/ossec-wui-0.2.tar.gz


    Lo descomprimimos en el Document Root de nuestro servidor web:
    # tar zxvf ossec-wui-0.2.tar.gz


    Entramos en el directorio resultante y ejecutamos el scrip de instalación:
    # ./setup.sh


    Añadimos en el fichero /etc/group el grupo de nuestro servidor web al grupo ossec, por ejemplo si nuestro servidor se ejecuta con el usuario nobody la linea quedaría similar a esta:
    ossec:x:1003:nobody


    Una vez realizado esto ya deberíamos poder ver las alertas introduciendo en el navegador la ruta de la interfaz web. Hay que destacar que aún no se permite eliminar alertas, hacer gráficos, etc, pero todo se andará, no nos podemos quejar ya que es la versión 0.2 y nos la venden por el módico precio de 0 €.

    Como nota final quiero añadir que normalmente será necesario incluir alguna restricción sobre la interfaz web, para que no pueda visualizarla cualquiera, esto puede restringirse desde Apache configurando una autenticación. En estos momentos solo ofrecemos información porque no se permite el borrado de alertas, pero en el futuro no configurar una autenticación hacia la interfaz web podría dar lugar a un importante agujero de seguridad.

    Dejo algunos pantallazos de mi OSSEC en acción:

    En esta imagen vemos la vista general de OSSEC, con los agentes disponibles( desde un servidor web se pueden controlar multitud de PC’s con OSSEC ) a la derecha los ultimos ficheros detectados que han sido modificados en el chequeo de integridad. Debajo podemos ver los ultimos eventos detectados.

    En esta imagen vemos la vista de búsqueda. Se permite buscar eventos por fecha, nivel de peligrosidad, categoría, etc.

    En esta imagen vemos una vista detallada de todos los cambios detectados en la revisión de integridad.

    En esta imagen vemos las estadísticas del sensor, organizadas por riesgo, regla y hora. Como decía antes aún no hay graficos, pero todo se andará.

    Conclusión
    OSSEC es un sistema de detección de intrusos muy potente, facil de usar, gratuito y licenciado bajo la GPL v2.
    Posee capacidades avanzadas como la respuesta ante eventos, aunque configurarla correctamente requiere una dedicación mayor. Unido al poco consumo de recursos y a que es un programa soportado por el 95% de las plataformas más comunes lo convierten en una referencia en el campo de los HIDS y en una imprescindible herramienta que todos los interesados en proteger nuestros sistemas deberíamos utilizar.

    Tomado como Referencia de Espacio Linux

    No hay comentarios.: