Snort. EasyIDS un IDS preconfigurado con BASE.

Después de varios artículo dedicados a Snorby, en esta ocasión estudiaremos un sistema IDS preconfigurado cuyo motor es Snort. Se trata de EasyIDS basado en CentOS 5.4, que además, cuenta con una serie de facilidades para la mejor gestión de la configuración y alertas de Snort.

Snort y EasyIDS en Seguridad y Redes. Alfon.

Para ello y totalmente preconfigurado tenemos un sistema BASE con todo lo necesario para la gestión de Snort. Además cuenta con Ntop y otras herramietnas «menores» como Nmap, Arpwatch, Stunnel para sensores remotos, etc. Y todo administrado a tracés de un interface desde la que podemos configurar todas las herramientas, sus opciones, reglas, etc. Lo vemos…

Nota.

Antes que nada comentar que  las herramientas que contiene EasyIDS no están totalmente actualizadas. Por ejemplo Snort tiene la versión 2.8.5.1.  Esto pasa con todos los componentes. De cualquier forma es totalmente válido y además obviamente se pueden actualizar, al menos, los componentes  más importantes.

Instalación y configuraciones previas.

Descargamos desde http://sourceforge.net/projects/easyids/files/ un .iso con 540 Kb. correspondiente a la versión 0.4.

Podemos usar VMWare o una máquina dedicada. En mi caso usaré un máquina dedicada.

La primera pantalla es esta:

easyids pantalla principal instalacion

Normalmente escogeremos la primera opción. Tenemos otras opciones con las teclas de función.

El proceso de instalación del Sistema Operativo CentOS y paquetes principales es muy sencillo y automático. Se nos preguntará por idioma del teclado, zona horaria y password de root del sistema (muy imporante para luego entrar en el por ejemplo con Putty, etc.).

Una vez terminada esta primera fase, reiniciamos sin el CD y se instalarán y configurarán, mediante scripts automatizados, los paquetes correspondientes a las herramietnas necesaria tales como mysql, Snort, librerías,  apache, oinkmaster, etc.,

Terminada esta fase, se reinicia de nuevo el sistema con todo instalado y se inician los servicios. Algunos de estos servicios veremos que pueden fallar, por ejemplo Snort y Ntop. Después de un par de ajustes que veremos a continuación todo estará listo.

Configuración interface de red EasyIDS.

Tras el reinicio, introducimos login (root) y password.

EasyIDS está preparado para una conexión de red DHCP. En mi caso, la IP es estática asi que hay que configurar la red correctamente:

  • system-config-network (configuración muy intuitiva)

easyids y centos configuracion terjetas de red

  • service network restart (reiniciamos el servicio)

Una vez reiniciado podemos comprobar que todo está correcto en:

  • nano /etc/sysconfig/network-scripts/ifcfg-eth0 (tarjeta de red sensor, aunque EasyIDS permite otra para administración )
  • nano /etc/resolv.conf

Desde cualquier máquina hacemos ping para comprobar que nuestro EasyIDS está correctmente configurado en la red.. vaya pues pareceque no.  ¿ porqué ?. La razón está en que EasyIDS tiene una configuración previa de iptables.

si comprobamos el estado actual de iptables:

  • iptables –L

podemos comprobar que existen una serie de reglas que, por ejemplo, solo nos deja conectarnos desde el exterior haciendo uso d SSH, HTTP y SHTTP. Ping solo lo podemos realizar desde nuestro CentOS hacia el exterior:

easyids iptables comprobacion

Para solventar esto, podemos crear una regla ACCEPT para ping. De todas formas estas reglas están preconfiguradas para que todo funcione correctamente.

Configuración EasyIDS.

Bien, ya podemos conectar desde el exterior mediante https a través un navegador desde cualquier máquina usando:

  • https://IP/

Tras introducir el usuario y password por defecto (admin / password),  lo primero que nos sale es una pantalla Welcome to EasyIDS. Le damos a aceptar y tenemos un pantalla que nos pide password para la cuenta root de mysql. A continuación, una pantalla informativa con los componentes de EasyIDS y un menú.

Lo primero que tenemos que comprobar es el estado de los servicios. Para ello: Status >  System:

easyids system estatus estado de los servicios

Podemos comprobar como no todo va bien. Los servicios Arpwatch, NTOP y Snort están parados. No se iniciaron.

Para arreglar esto vamos a:

  • Setting >Arpwatch > Network Setting, configuramos si hay querenmos cambiar algo, la interface correcta y Save. Ahora Start Arpwatch.
  • Hacemos lo mismo con NTOP donde configuramos Local Subnet. En mi caso / red de laboratorio: 192.168.1.0/24, pulsamos Save e iniciamos el servicio.

Ahora nos centramos en el motor IDS; Snort.  Pulsamos Network Setting y configuramos las variables. Pulsamos también en Edit Config File para modificar el snort.conf directamente si es necesario.si nos sigue fallando (FAILED), desde la consola Putty o desde la línea de comandos podemos testear Snort para ver en que nos falla: snort -ieth0 -c /etc/snort/snort.conf

También comprobamos la configuración de EasyIDS en Setting > EasyIDS > Network Setting. Si no está correctamente configurado lo hacemos.

Si no nos indica ningún error el test Snort, vamos a Status > System y pulsamos Reboot. volvemos  Status > System y ahora si tenemos todos los servicios en RUNNING.

si aún así se nos resiste, comprobamos la configuración en.

  • /etc/easyids/easyids.conf

ya que es posible tanto la interface de monitorización (sensor snort) y como la interface de administración  no esté corectamente configuradas… lo hacemos directamente:

easyids easyids.conf

En este caso estaban intercambiadas. Reboot y ahora si está todo bien:

eqasyids system status running todo correcto

NOTA: Esta resolución de problemas se basa en dos casos concretos. NO tiene por que ser así en otros casos, pero si es una guia para averiguar donde puede estar el problema.

Iptables.

Ya hemos hablado antes de iptables, pero os recuerdo que está presente con una configuración / reglas por defecto y eso puede interferir en la captura de paquetes por parte del sensor snort.

Todo (BASE, mysql, apache, php, snort) funciona.

Después de un tiempo revisamos BASE para ver si realmente Snort está funcionando, hay alertas almacenas (mysql) y:

easyids BASE comprobando que funciona sensor snort

Otras configuraciones.

Configuraciones de seguridad.

Os recuerdo que la contraseña para accedermediante shttp es admin/pasword y por tanto hay que cambiarlo y, además, crear un usuario nuevo no administrador. Esto se hace de la siguiente manera:

  • passwd-admin
  • passwd-user

Revisando los logs.

En Tools > Log Viewer podemos revisar todos los componentes del sistema.

Actualizando las reglas Snort.

Para actualizar las reglas Snort debemos estar registrados o subscritos. En mi caso, estoy registrado y uso mi Oink Code. Para actualizar las reglas vamos a Setting > Snort > Rule Updates:

easyids introducir oink code para actualizar reglas snort

Ya tenemos nuestras reglas o rules configuradas.

Rendimiento de Snort en EasyIDS.

EasyIDS incluye gráficas para evaluar el rendimiento de Snort en base a los preprocesadores que se encargan de este menester, en este caso perfmonitor, encargado de escribir en un archivo las estádisticas de tráfico, rendimiento, paquetes, etc. Esto es necesario para pmgraph que creará unas gráficas en base a estos datos.

  • preprocessor perfmonitor: time 60 file /var/log/snort/snort.stats pktcnt 500

Para una configuración más afinada de las gráficas:

  • Editarmeos el archivo makegraphs-easyids.sh que se encuentra en /etc/easyids/scripts

Las gráficas de nuestra instalación en un momento dado. Accedemos a ellas desde Graphs > Snort:

graficas pmgraph snort easyids

graficas pmgraph snort easyids 2

Sobre actualización de Snort / oink code y oinkmaster: Oinkmaster. Actualizando las reglas Snort.

Enlaces relacionados:

=========

Y hasta aquí por hoy. Haasta la próxima.

Esta entrada fue publicada en EasyIDS, Seguridad y redes, Snort. Guarda el enlace permanente.

3 respuestas a Snort. EasyIDS un IDS preconfigurado con BASE.

  1. Jesus dijo:

    Soy un completo ignorante en temas de seguridad de redes, pero gracias a tu post he montado sin muchos problemas el EasyIDS. Bien es cierto que muchos conceptos y funciones se me escapan, pero eso ya es cuestión de documentarme.
    Muchas gracias por este blog, y por tus posts.

  2. slakd dijo:

    De las pocas veces que escribo en una pagina. Gracias por el manual, me funciono al 100% 🙂

  3. Pingback: IP SOURCE GUARD EN CIASCO, digo CISCO | CMD sistemas

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s