Snort: Consultas a la base de datos

Abrimos conexión con la base de datos

mysql -u root -p

En la base de datos de snort,

use snort;

Para ver el diagrama entidad relación de la base de datos:

Buscamos el identificador del evento que necesitamos:

select sig_id,sig_name from signature;

En mi caso, es

223 | COMMUNITY WEB-MISC mod_jrun overflow attempt

Seleccionamos los eventos de mi  signature:

select * from event where signature = 223;

En la tabla de eventos, tenemos las alertas con origen y destino

SELECT timestamp, inet_ntoa(ip_dest), inet_ntoa(ip_src) FROM iphdr WHERE  inet_ntoa(ip_src)="192.168.5.125";

 

Finalmente, hacemos el join entre ambas tablas, y ya podemos sacar el resultado a un fichero de texto:

select inet_ntoa(ip_src), inet_ntoa(ip_dst) from event,iphdr  where iphdr.cid=event.cid and event.sid=iphdr.sid and event.signature = 223  and inet_ntoa(ip_dst)="195.23.2.123" GROUP BY ip_src ORDER BY ip_src  INTO OUTFILE '/tmp/res.txt';

Sobre el acceso a snort a través de la base de datos, tienen un post estupendo en everything about nothing.

Sondas de intrusión : SNORT

Qué es snort

Sonda de intrusión opensource Instalación sobre Debian 7 Para la instalación, nos basaremos en este tutorial de binaryzone para instalar snort en debian lenny. Sin embargo, vamos a intentar instalar snort desde los paquetes oficiales de debian.

Prerequisitos:

apt-get install mysql-common mysql-client mysql-server php5

En caso de que no tengáis mucha práctica con los clientes en texto de mysql, os recomiendo poner también phpmyadmin apt-get install phpmyadmin

Creamos la base de datos que vamos a usar para snort:

mysql -u root -p
>create database snort;
> grant all on snort.* to snortuser@localhost identified by ‘snortpassword’;
>flush privileges;
>exit;

Para la instalación de snort, seguiremos los pasos de openmaniac apt-get install snort-mysql Direcciones: Any

Configuramos la base de datos que hemos creado:

cd /usr/share/doc/snort-mysql
zcat create_mysql.gz | mysql -u snortuser -p snort

 

Si cometemos algún error, podemos reejecutar:

dpkg-reconfigure snort-mysql

Tras esto, la instalación está completa:

root@srv /etc/snort# service snort restart
[ ok ] Starting Network Intrusion Detection System : snort (eth0 using /etc/snort/snort.conf …done).

Cambiar la interfaz donde se escucha:

root@server:/etc/snort# grep eth0 /etc/snort/*
/etc/snort/snort.debian.conf:DEBIAN_SNORT_INTERFACE="eth0"

Interfaz gráfica: BASE

Para la interfaz gráfica, usaremos Base. En las últimas versiones de debian, se ha discontinuado,por lo que instalaremos desde el repositorio.

# Se usará el directorio de apache2:
cd /var/www/
wget http://skylink.dl.sourceforge.net/project/secureideas/BASE/base-1.4.5/base-1.4.5.tar.gz
tar -xvzf base-1.4.5.tar.gz
mv base-1.4.5 base
cd base/
cp base_conf.php.dist base_conf.php

Editamos base_conf.php

$BASE_urlpath = "/base";
$alert_dbname   = 'snort_log';
$alert_host     = 'localhost';
$alert_port     = '';
$alert_user     = 'snortuser';
$alert_password =

En este punto, ya podemos acceder por la web:

http://server/base/

Si falta adodb, se puede instalar desde el repositorio de debian

Error loading the DB Abstraction library: from “/adodb.inc.php”

Descargar adodb  y ponerlo en una ruta accesible al servidor web:

tar -xvzf adodb518a.tgz
mv adodb5 /var/www/base/adodb
ls -la /var/www/base/adodb/

Y, editamos el fichero de configuración:grep -i dblib base_conf.php

$DBlib_path = ‘/var/www/base/adodb/’;

Finalmente, nuestro servidor ya está disponible:

http://myserver/base