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.
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:
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)
- 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:
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:
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:
En este caso estaban intercambiadas. Reboot y ahora si está todo bien:
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:
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:
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:
Sobre actualización de Snort / oink code y oinkmaster: Oinkmaster. Actualizando las reglas Snort.
Enlaces relacionados:
-
Snort. Enviado log a base datos mysql.
-
Snortalog. Analizando los logs de Snort.
-
Snort Logging mode. Modos de alerta.
-
Enviando alertas a un syslog remoto con snort.
=========
Y hasta aquí por hoy. Haasta la próxima.
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.
De las pocas veces que escribo en una pagina. Gracias por el manual, me funciono al 100% 🙂
Pingback: IP SOURCE GUARD EN CIASCO, digo CISCO | CMD sistemas