...las cosas que me gustan, descubro o aprendo.


lunes, 25 de mayo de 2009

Configuración de Sistema de Detección de Intrusos (Snort) con base de datos (mysql) e interfaz Web para la revisión de alertas (BASE).

Configuración de Sistema de Detección de Intrusos (Snort) con base de datos (mysql) e interfaz Web para la revisión de alertas (BASE).


Paso #1: Instalación de snort-mysql
y de mysql-server

Lo primero que se debe hacer es instalar el paquete snort-mysql el cual tiene incluido el soporte para mysql

- Se instala snort-mysql con:

aptitude install snort-mysql

Durante la instalación se nos preguntara la ip de la red a la cual queremos monitorear. Como se muestra a continuación allí debemos ingresar "any":



Luego nos aparece un cuadro de notificación al que le damos "ok"


Finalmente aparece una ultima notificación en la que se nos
pregunta que si queremos configurar la base de datos automaticamente, a lo que debemos seleccionar "no" ya que la configuración la haremos manualmente



- Luego debemos instalar el servidor mysql digitando:

aptitude install mysql-server

Durante la instalación del paquete se nos pedirá que ingresemos una contraseña para el usuario "root" de mysql


Paso #2: Configuración de snort y de mysql

- Ingresamos al archivo de conflagración de snort que se encuentra en la ruta
/etc/snort/snort.conf

- Primero comentamos con "#" la linea de código que configura a snort para guardar sus eventos en una bitacora. La linea se encuentra en el
reglón 790 y debe quedar como se ve a continuación:

# output log_tcpdump: tcpdump.log

- Después debemos incluir la linea que configura a snort para guardar sus eventos en la base de datos de mysql. La linea se encuentra en el renglón 797. Esta se debe descomentar y modificarla para que quede como se muestra a continuación:

output database: log, mysql, user=snort password=secreto dbname=snort host=localhost

Donde, los datos anteriores serán los mismos con lo que se configurara la base de datos de mysql.

- Ahora desde la consola vamos a ingresar la configuración para mysql ingresando las siguientes lineas.

root@orex2:~# mysql -u root -p

mysql> create database snort;

mysql> grant insert,select on root.* to snort@localhost;

mysql> set password for snort@localhost=password('secreto');

mysql> grant create,delete,insert,select,update on snort.* to snort@localhost;

mysql> grant create,delete,insert,select,update on snort.* to snort;

mysql> exit

Donde lo que se ha hecho es crear la base de datos "snort" y entre otras cosas le hemos asignado el password "secreto" siendo consecuentes con lo ingresado en snort.conf en el paso anterior.

- Finalmente en la consola se ingresan las siguiente dos lineas

root@orex2:~# gunzip /usr/share/doc/snort-mysql/create_mysql.gz
root@orex2:~# mysql -u root -p < /usr/share/doc/snort-mysql/create_mysql snort

Estas lo que hacen es descomprimir el archivo que contiene la estructura de la base de datos que ya viene lista con el paquete snort-mysql y con la segunda linea se importa la estructura a mysql para que la aplique a la base de datos "snort" que creamos en el paso anterior.

- Para terminar este paso se reinicia el snort con:

root@orex2:~#/etc/init.d/snort restart

Paso #3: Configuración de BASE apache y php

- Se instalan los siguientes paquetes si aun no se tienen instalados: apache2 , php5mysql , libphp-adob

root@orex2:~#aptitude install apache2 php5-mysql libphp-adodb

- Descargamos la ultima versión de BASE desde:
http://base.secureideas.net/

En mi caso descargue base-1.4.2.tar.gz.

- El archivo descargado
base-1.4.2.tar.gz se descomprime dentro del sitio del servidor, que en mi caso lo hago con las siguientes lineas:

root@orex2:~# tar -xvzf /root/base-1.4.2.tar.gz
root@orex2:~# mv base-1.4.2 /var/www/ssl/aldana
- Dentro de la carpeta donde guardamos a base-1.4.2 , se crea el archivo de configracion del php, para lo cual se copia y se pega con nombre diferente, el archivo de configuración por defecto como se muestra a continuación:

cd /var/www/ssl/aldana
cp base_conf.php.dist base_conf.php

- Ahora se debe abrir el archivo de configuración de BASE
base_conf.php que esta en la ruta /var/www/ssl/aldana/base_conf.php (el cual acabamos de crear). Dentro de este archivo se deben buscar las siguientes lineas y modificarlas como aparecen a continuación :

$BASE_urlpath = 'ssl/aldana';
$DBlib_path = '/usr/share/php/adodb';
$alert_dbname = 'snort';
$alert_password = 'secreto';

- Despues en la consola se digitan las siguientes lineas, que instalan componentes necesarios para la correcta visualizacion de la aplicacion web BASE.

aptitude install php5-gd php-pear
pear install Image_Color
pear install Image_Canvas-alpha
pear install Image_Graph-alpha
pear install Mail
pear install Mail_Mime
- Finalmente reiniciamos el servidor web

/etc/init.d/apache2 restart


Paso #4: Configuración la interfaz web BASE

- Abrimos el navegador web e ingresamos https://aldana.seguridad.net/aldana/



Damos click en "Setup page" para realizar las configuraciones finales.

- Luego nos aparece la siguiente pagina en la que debemos dar click en el boton "Create BASE AG"



- aparece la notificación de las configuraciones automáticas que se han hecho


Aquí damos click en "Main Page" y nos aparecerá la pagina principal de la aplicación





Probando el sistema detector de intrusos.

Para ensayar un poco activemos el snort monitoreando el localloop y luego con nmap generamos trafico que a su vez generen entradas en la base de datos.

- En una consola activamos snort

root@orex2:~#snort -i lo -c /etc/snort/snort.conf

- En otra consola escaneamos el local loop con nmap ingresando por ejemplo:

nmap -sU localhost -T5
nmap -PU localhost
nmap -sT localhost
nmap -PU localhost
nmap -sO localhost
nmap -sF localhost

- Con un escaneo corto como el hecho anteriormente vemos como se generan una gran cantidad de entradas en nuestra base de datos, por eventos coincidentes con las reglas que tiene por defecto snort, y con las que nosotros mismos le ingresemos en el archivo
local.rules



En los siguientes snap shoots se ve como se puede interarctuar facil e intuitivamente con la aplicacion BASE.





.
.
.
fin
.

No hay comentarios:

contador