You are on page 1of 26

2012

INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE

Javier Garca Cambronel SEGUNDO DE ASIR 01/03/2012

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INTRODUCCIN

QU ES SNORT Y QU ES ACID?

PREREQUISITOS PARA SNORT CON ACID

INSTALAMOS SNORT Y ACID BASE

ANLISIS DE VULNERABILIDADES Y SU DETECCION

SEGUNDO DE ASIR

Pgina 1

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INTRODUCCIN
Este documento trata de describir los pasos a realizar para la instalacin y configuracin de un sistema de deteccin de intrusiones. Durante la escritura del documento dar algunos pasos por sabidos o ya realizados, para cualquier duda recomiendo consultar la documentacin oficial de las aplicaciones a configurar.

QU ES SNORT Y QU ES ACID?

SNORT
Es un sniffer de paquetes y un detector de intrusos basado en red (se monitoriza todo un dominio de colisin). Es un software muy flexible que ofrece capacidades de almacenamiento de sus bitcoras tanto en archivos de texto como en bases de datos abiertas como lo es MySQL. Implementa un motor de deteccin de ataques y barrido de puertos que permite registrar, alertar y responder ante cualquier anomala previamente definida. As mismo existen herramientas de terceros para mostrar informes en tiempo real (ACID) o para convertirlo en un Sistema Detector y Preventor de Intrusos. Un verdadero IDS analiza los paquetes, marca las transmisiones que sean potencialmente maliciosas y las almacena en un registro formateado, as, Snort utiliza la biblioteca estndar libcap y tcpdump como registro de paquetes en el fondo. Puede funcionar como sniffer (podemos ver en consola y en tiempo real qu ocurre en nuestra red, todo nuestro trfico), registro de paquetes (permite guardar en un archivo los logs para su posterior anlisis, un anlisis offline) o como un IDS normal (en este caso NIDS). Cuando un paquete coincide con algn patrn establecido en las reglas de configuracin, se logea. As se sabe cundo, de dnde y cmo se produjo el ataque. La caracterstica ms apreciada de Snort, adems de su funcionalidad, es su subsistema flexible de firmas de ataques. Snort tiene una base de datos de ataques que se est actualizando constantemente y a la cual se puede aadir o actualizar a travs de la Internet. Los usuarios pueden crear 'firmas' basadas en las caractersticas de los nuevos ataques de red y enviarlas a la lista de correo de firmas de Snort, para que as todos los usuarios de Snort se puedan beneficiar. Esta tica de comunidad y compartir ha convertido a Snort en uno de los IDSes basados en red ms populares, actualizados y robustos. Resulta imprescindible tomar ms medidas complementarias al amparo de esta alarma que salta. Un cortafuego aadido aporta en conjunto una seguridad bastante aceptable. SEGUNDO DE ASIR Pgina 2

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012 PROPORCIONA TRES FUNCIONES ESENCIALES DE SEGURIDAD
MONITORIZAN: Esto es, el IDS mantiene siempre un ojo en la red, observando y escudriando eltrfico en busca de cualquier paquete susceptible de contener cdigo no deseado. Quvisita quin y cundo lo hace en nuestra red, quin viene desde el exterior y qubusca... etc. En este sentido acta exactamente igual que un sniffer. De hecho, cabe laposibilidad de utilizarlos como tal. DETECTAN: Usan polticas (totalmente configurables) para definir los actos sospechosos de todo ese trfico que provocar una alarma si ocurren. Los patrones se pueden actualizar cada cierto tiempo si se descubren nuevos tipos de ataques. RESPONDEN: Esta alarma puede venir en forma de archivos en el sistema, pginas html dinmicas con grficos o incluso correos con la informacin necesaria. Tambin podra incluir la expulsin de un usuario del sistema... etc. A la hora de realizar labores de forense (tras un ataque, determinar el alcance, evaluar los daos, e Intentar cazar al autor) resulta de gran ayuda. Un elaborado registro de las incidencias ocurridas en la red, con el contenido de los paquetes de cada "visita" resulta imprescindible para realizar una buena labor de investigacin, Pero para ello, no se pueden alojar los logs dentro de la propia mquina. Todos sabemos lo sencillo que resulta borrarlos si un atacante llega a tener el control de servidor. Lo mejor es instalar una base de datos en un sistema remoto que almacene los registros ordenadamente, y de esta forma, tambin puedan ser consultados de manera sencilla.

SEGUNDO DE ASIR

Pgina 3

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

ACID
ACID (Analysis Console for Intrussion Databases) es una interface web desarrollada en lenguaje PHP, que nos muestra los registros guardados por Snort. Snort puede guardarlos en una base de datos o en simples ficheros de texto (por ejemplo syslog)... si queremos usar ACID para visualizar sus efectos, deberemos usar MySQL como almacn para los logs recogidos por Snort.

PREREQUISITOS PARA SNORT CON ACID


SERVIDOR WEB
ACID es una interface web, por lo que partimos de la base de que el sistema operativo sobre el que esta funcionando tiene instalado un servidor web, en mi caso particular (y para las explicaciones de este documento) es un APACHE.

BASE DE DATOS
Snort debe dejar los logs en una base de datos si queremos poderlos visualizar con ACID, por lo que previamente necesitamos una base de datos, como por ejemplo MySQL. Aunque tambin podemos hacerlo con PosgreSQL, Oracle y alguna otra ms... yo lo he hecho con MySQL, como muestro en el documento. Lo primero que debemos hacer es instalar apache en Ubuntu, en mi caso en Ubuntu 11.04

SOPORTE PHP
Si queremos poder usar ACID como interfaz web para visualizar los logs de Snort, debemos dar soporte para PHP en nuestro servidor web.

SEGUNDO DE ASIR

Pgina 4

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALACION SERVIDOR WEB


sudo apt-get install apache2

Una vez que hayamos introducido nuestra contrasea si nos la pide nos pedir una confirmacin y comenzar la instalacin comenzar la instalacin

Esto instalar Apache 2 y todas sus dependencias, ahora nos dirigiremos al directorio /etc/apache2/ donde nos encontraremos con una serie de archivos, el archivo apache2.conf es el archivo principal de configuracin de nuestro apache, no lo modificaremos por el momento. Tambin podemos encontrar el archivo httpd.conf, este archivo esta vaco y as lo dejaremos, su fin es simplemente garantizar compatibilidad con versiones anteriores de apache.

Reiniciemos apache: sudo /etc/init.d/apache2 restart

SEGUNDO DE ASIR

Pgina 5

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


PODEMOS VERLO TANTO DE FORMA LOCAL

COMO EXTERNA

SEGUNDO DE ASIR

Pgina 6

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALACION DE UNA GESTOR DE BASE DE DATOS (MYSQL)


sudo apt-get install mysql-server Una vez ejecutado el comando se nos pedir la confirmacin pertinente como en anteriores ocasiones y confirmaramos veramos el progreso y se nos presentara la siguiente ventana en la que tendramos que introducir la contrasea para acceder como root a mysql o dejarlo sin contrasea, NO RECOMENDADO

Esto instalara mysql server 5.0, el cliente mysql y todas sus dependencias. Para asegurarnos que todo ha salido bien podemos ejecutar en una terminal: Mysql unombredeusuario -pcontrasea

SEGUNDO DE ASIR

Pgina 7

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

SOPORTE PHP PARA NUESTRO SERVIDOR Y GESTOR DE BASES DE DATOS


sudo apt-get install php5 php5-mysql Despus de ingresar este comando si se nos pide la contrasea la metemos y nos saldr una advertencia de si queremos continuar la instalacin de dicho paquete y lo confirmamos.

Despus de esto veremos como comienza la instalacin de cada uno de los paquetes

Y veremos como todo esto se ha llevado a cabo sin ningn problema

SEGUNDO DE ASIR

Pgina 8

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


Esto instalara PHP 5 y todas sus dependencias y los mdulos necesarios para una comunicacin con bases de datos mysql, para asegurarnos que fue correcto podemos hacer lo siguiente, en el directorio /var/www/ se encuentran una serie de directorios y archivos que son los encargados de mostrarnos una pgina de inicio para saber si apache esta funcionando, esta pgina es la que vimos cuando verificamos que apache funcionaba y no dice mucho mas que la frase "It Works!", lo que haremos ahora es crear el archivo info.php dentro de este directorio con el siguiente comando sudo gedit /var/www/info.php en el cual simplemente escribiremos lo siguiente: <?php phpinfo(); ?> Quedando como vemos en la siguiente imagen

Luego, desde un navegador escribimos como URL la direccin del servidor y solicitamos la pgina info.php, de modo que quede algo como lo 192.168.1.36/info.php, esto nos debera devolver una pgina bastante extensa en la cual figuran las caractersticas de PHP

SEGUNDO DE ASIR

Pgina 9

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALAMOS SNORT Y ACID BASE


Primero lo que hacemos es instalar los paquetes necesarios tanto para snort como para acid base, para este cometido lo que vamos a hacer ser ejecutar el siguiente comando. apt-get install install snort-mysql snort-doc acidbase

Despus de esto, la instalacin se empezar a realizar.

SEGUNDO DE ASIR

Pgina 10

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALACION DE SNORT PRIMERA PARTE


Lo primero que se nos preguntara ser el intervalo de nuestra red local, en mi caso es el siguiente 192.168.1.0/24 asique as la indicamos para que tenga efecto en toda la red, si queremos podemos indicar las direcciones IP de manera especfica como se indica en la pantalla.

Nos avisara de que no se ha configurado ninguna base de datos

Nos preguntara que si queremos configurar una base de datos, y le decimos que no.

Y de esta forma finalizaremos la configuracin de snort, por el momento y empezara automticamente la de ACID BASE

SEGUNDO DE ASIR

Pgina 11

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALACION ACID BASE


Nos avisa de que se ha cambiado la ruta de inclusin para php.

Seleccionamos el tipo de nuestra base de datos.

Introducimos la contrasea.

Y la confirmamos.

SEGUNDO DE ASIR

Pgina 12

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


Nos dice que ser necesario actualizar manualmente la configuracin.

Una vez hemos pulsado en aceptar, veremos que volvemos a la consola y se ha dado por finalizado el asistente

SEGUNDO DE ASIR

Pgina 13

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

INSTALACION DE SNORT SEGUNDA PARTE


CREAMOS UN USUARIO Y UNA BASE DE DATOS PARA SNORT Para seguir con la configuracin de Snort, lo que tenemos que hacer es identificarnos en nuestra base de datos, lo hacemos con el siguiente comando. mysql -uroot -pAsir2012

Ahora creamos un usuario de nombre snort, que tiene como contrasea Asir2012,este usuario lo vamos a crear, porque va a ser el usuario que vamos a configurar, para la utilizar snort, para evitar usar el usuario root y correr riesgos innecesarios CREATE USER'snort'@'localhost' IDENTIFIED BY 'Asir2012';

Creamos la base de datos, si el asistente no la ha creado ya, (normalmente no la crea) con el siguiente comando: CREATE DATABASE IF NOT EXISTS `snort`;

Damos todos los privilegios a l usuarios snort sobre la base de datos recin creada. GRANT ALL PRIVILEGES ON `snort`.* TO 'snort'@'localhost';

Aplicamos dichos privilegios para que tengan efecto. flush privileges;

SEGUNDO DE ASIR

Pgina 14

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


VINCULAMOS A SNORT CON EL USUARIO Y BASE DE DATOS CREADA Ahora nos situamos en el directorio donde se encuentra el archivo que vamos a utilizar para vincular a snort con nuestro usuario y base de datos: cd /usr/share/doc/snort-mysql/ Y ejecutamos el siguiente comando para que la operacin se lleve a cabo zcat create_mysql.gz | mysql -u snort -h localhost -pAsir2012 snort

Borramos el archivo de configuracin pues nos puede dar diversos tipos de problemas sudo rm /etc/snort/db-pending-config

Y ejecutamos una actualizacin para que todos los paquetes queden perfectamente actualizados a sus ltimas versiones sudo apt-get upgrade

SEGUNDO DE ASIR

Pgina 15

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


REALIZAMOS LA RECONFIGURACIN Ejecutamos el siguiente comando para hacer de nuevo una reconfiguracin una vez que ya tenemos creado nuestro usuario y nuestra base de datos a utilizar: sudo dpkg-reconfigure -plow snort-mysql Nos preguntar que cuando deseamos arrancar snort, nosotros le decimos que cada vez que arranque el sistema, asique seleccionamos la primera opcin.

Nos mostrara informacin sobre la configuracin de interfaces y dems y pulsamos en aceptar una vez que lo hayamos ledo.

SEGUNDO DE ASIR

Pgina 16

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


Si dudamos de cual es nuestra interfaz, podremos saberla rpidamente, solamente con ejecutar el siguiente comando en la consola ifconfig

Una vez hecho esto introduciramos nuestra interfaz

Seleccionaramos de nuevo la red

Ahora leeremos atentamente la pantalla, para escoger la opcin que ms nos interese a nosotros nos interesa no deshabilitar el modo promiscuo para que snort compruebe as todos los paquetes que pasen por el segmento Ethernet incluso aunque sean parte de una conexin entre otros dos sistemas.

SEGUNDO DE ASIR

Pgina 17

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


Podemos habilitar la opcin de que se enven resmenes por correos, nosotros le decimos que no, porque vamos a utilizar BASE ACID y ofrece muchas opciones, ms claras y mejores, pero si dijramos que si, tendramos que poner el nivel de riesgo, y cuando una amenaza fuera de ese nivel, se nos enviara un correo informativo avisndonos de esta.

Nos dice que no se ha configurado ninguna base de datos y pulsamos aceptar.

Decimos que si queremos configurar una base de datos, donde snort-mysql enviar los registros.

SEGUNDO DE ASIR

Pgina 18

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


Seleccionamos el nombre de nuestro servidor.

Seleccionamos el nombre de la base de datos a utilizar, que ser la que hemos creado anteriormente.

El nombre de usuario, con el que vamos a acceder a dicha base de datos, que va a ser el que hemos creado, para as no acceder con root, por los riesgos de seguridad que esto conllevara.

Introducimos la contrasea para acceder a la base de datos.

Una vez hecho esto veremos como se mostrara que el sistema de deteccin de intrusos SNORT se ha iniciado correctamente.

SEGUNDO DE ASIR

Pgina 19

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

EDITAMOS LOS ARCHIVOS DE CONFIGURACION DE SNORT Y ACID BASE SNORT


Nos dirigiremos ahora al archivo de configuracin para editarlo, lo haremos con el siguiente comando: sudo gedit /etc/snort/snort.conf CONFIGURACION DE RED Y SALIDA En el tendremos que modificar las siguientes lneas adaptndolas a nuestra configuracin le pondremos nuestra red y le indicaremos la salida. var HOME_NET 192.168.1.0/24 output database: log, mysql, user=snort password=Asir2012 dbname=snort host=localhost Quedando como vemos en la siguiente imagen para el primer cambio

Y como en esta imagen para el segundo de ellos.

REGLAS Hay que tener en cuenta que en este archivo de configuracin podemos desactivar las reglas que nos convengan, y configurarlo de esta forma a nuestro gusto, para desactivar reglas se puede hacer simplemente comentando los correspondientes includes.

SEGUNDO DE ASIR

Pgina 20

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

ACID BASE
Ahora nos toca configurar acidbase, para ello ejecutamos el siguiente comando sudo gedit /etc/acidbase/database.php Y lo adaptamos a lo que falte en nuestra configuracin indicndole el puerto y dems, teniendo de gua las siguientes lneas que vemos, que son las ideales para mi configuracin. $alert_user='snort'; $alert_password='Asir2012'; $basepath=''; $alert_dbname='snort'; $alert_host='localhost'; $alert_port='3306'; $DBtype='mysql';

Lo dejaramos como vemos en la imagen

SEGUNDO DE ASIR

Pgina 21

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012


FINALIZAMOS PARA QUE TODO TENGA EFECTO Para que todo esto tenga efecto tendremos que reiniciar apache sudo /etc/init.d/apache2 restart

Y tambin reiniciaremos snort sudo /etc/init.d/snort restart

SEGUNDO DE ASIR

Pgina 22

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

LA INFORMACION DE SNORT SEA VISIBLE DESDE ACID BASE


Por ltimo accederamos a ACID BASE en su respectiva direccin http://localhost/acidbase Seleccionaramos Setup page para hacer instalar los archivos necesarios para el funcionamiento.

Y despus a Create BASE AG

Veremos como se realiza el proceso

Veramos ya que todo esta en funcionamiento, y con el usuario al que estamos accediendo y otro tipo de informacin en la parte derecha de la pantalla.

SEGUNDO DE ASIR

Pgina 23

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

ANLISIS DE VULNERABILIDADES Y SU DETECCION


HACEMOS UN ANLIS DE VULNERABILIDADES WEB
El escner que vamos a utilizar va a ser Accunetix, para esto, como ya sabemos poco ms tendremos que hacer, que introducir la direccin que queremos analizar.

Una vez terminado el anlisis, vemos como se nos muestran los resultados de la direccin analizada vemos que el propio resumen, tampoco nos muestra realmente muchos fallos de seguridad.

Puertos abiertos y dems informacin no muy importante, pero que podramos y deberamos de evitar.

SEGUNDO DE ASIR

Pgina 24

[INSTALACION Y CONFIGURACION DE SNORT VISUALIZACION: ACID BASE] 1 de marzo de 2012

VEMOS LOS RESULTADOS DE SNORT


En el equipo victima donde tenemos instalado SNORT accedemos a BASE el cul nos muestra la informacin que snort ha guardado en la base de datos y despus de haber sido analizados por accunetix, vemos el resumen de alertas, el puerto de origen, el protocolo utilizado por los ataques, a que categoras pertenecen estos.

Podemos ver una anlisis de trfico teniendo en cuenta los distintos tipos de protocolos.

Podremos ver tambin los ataques que ms se han utilizado su clasificacin y el nmero total de ellos y correspondiente porcentaje

Como otras cosas para la deteccin muy importantes la direccin de origen y la de destino y la hora de los mismos (primera y ltima)

SEGUNDO DE ASIR

Pgina 25

You might also like