domingo, 10 de julio de 2011

Poniendo en marcha Snort 2.9 + BASE + Mysql sobre CentOS 5.6

Snort® is an open source network intrusion prevention and detection system (IDS/IPS) developed by Sourcefire. Combining the benefits of signature, protocol, and anomaly-based inspection, Snort is the most widely deployed IDS/IPS technology worldwide.
www.snort.org
1.- Instalamos los paquetes necesarios:
#yum install -y mysql mysql-bench mysql-devel mysql-server php-mysql php-pear php-gd
gcc-c++ gcc gd glib-devel rsyslog mod_ssl httpd pcre-devel flex bison

2.- Adicionalmente Descargar los siguientes paquetes que son necesarios
para el funcionamiento de snort de los siguientes URLs
libpcap-1.1.1.tar.gz --> http://www.tcpdump.org
libdnet-1.12.tgz --> http://code.google.com/p/libdnet/
daq-0.5.tar.gz --> http://www.snort.org/snort-downloads
barnyard2-1.9.tar.gz --> http://www.securixlive.com/barnyard2/download.php
snort-2.9.0.5.tar.gz --> http://www.snort.org/snort-downloads?
snortrules-snapshot-2905.tar.gz --> http://www.snort.org/snort-rules

Por un tema de orden ubicaremos todos los paquetes en la ruta:
/opt/download


3.- Desinstalar la version de libpcap que por default se encuentra instalada.
#yum list all | fgrep libpcap
#yum remove libpcap

Antes de instalar libpcap, hacer lo siguiente:
rm -rf /usr/local/include/pcap*
rm -rf /usr/local/lib/libpcap*

la razón de esto es que se encuentra instalada una version inferior a la que necesitaremos.


4.- Compilar e instalar en el siguiente orden:
# cd /opt/download

# tar -xzvf libpcap-1.1.1.tar.gz
# cd libpcap-1.1.1
# ./configure —prefix=/usr
# make && make install

# tar -xzvf libdnet-1.12.tgz
# cd libdnet-1.12
# ./configure
# make && make install

# tar -xzvf daq-0.5.tar.gz
# cd daq-0.5
# ./configure
# make && make install

# tar -xzvf barnyard2-1.9.tar.gz
# cd barnyard2-1.9
# ./configure
# make && make install


5.- Instalación de librerias pear que seran necesarias:
Toca primero actualizar la version de pear, ahi pongo 3 formas de hacer esto:
# pear -V (version de pear y php)
# pear upgrade --force http://pear.php.net/get/PEAR-1.9.4
# pear channel-update pear.php.net
# pear upgrade PEAR

Instalando las librerias:
# pear install --alldeps Image_Graph-alpha Image_Canvas-alpha Image_Color Numbers_Roman


6.-compilar e instalar snort:
# cd /opt/download
# tar -xzvf snort-2.9.0.5.tar.gz
# cd snort-2.9.0.5
# ./configure --with-mysql --enable-dynamicplugin --enable-zlib
# make && make install

# groupadd snort
# useradd -g snort snort -s /sbin/nologin
# mkdir -p /etc/snort/rules
# mkdir /var/log/snort


7.- Creación del user y BD snort en mysql:
# service mysqld start
# mysqladmin -u root password 'p@55w0rd' (seteamos la contraseña de admin)

# mysql -u root -p

creamos el usuario snort, la BD snort y damos permisos necesarios:

CREATE USER 'snort'@'localhost' IDENTIFIED BY 'p@55w0rd';
CREATE DATABASE snort;
GRANT ALL PRIVILEGES ON snort.* to 'snort'@'localhost';

Luego :
# mysql -u root -p < /opt/download/snort-2.9.0.5/schemas/create_mysql snort

# service mysqld restart
# chkconfig mysqld on

8.- Copiamos los archivos de configuracion y las reglas de Snort:
# cp /opt/download/snort-2.9.0.5/etc/* /etc/snort
# cp /opt/download/snortrules-snapshot-2905.tar.gz /etc/snort
# cd /etc/snort/
# tar -xzvf snortrules-snapshot-2905.tar.gz

# rm -f snortrules-snapshot-2905.tar.gz

NOTA: las rules se bajan directamente de http://www.snort.org/snort-rules , se debe ser un usuario registrado para poder descargarlo; si se quiere las ultimas versiones de las reglas de snort se debe estar suscrito, esto ultimo implica un pago.

9.- Personalizando el archivo de configuración de Snort
# cd /etc/snort
# cp snort.conf snort.conf.ORG (como buena practica backup de archivo que se va a modificar)
# rm -f snort.conf
# vi snort.conf
El contenido de este archivo debe quedar como sigue, esto es una configuracion básica
################################################################
# Declaramos la red que vamos a monitorear
var HOME_NET 192.168.1.0/24

# Indicando la ruta de las reglas
var RULE_PATH /etc/snort/rules
# Base de datos para guardar la deteccion de trafico
output database: log, mysql, user=snort password=4v4nt1c4 dbname=snort host=localhost
################################################################

10.- Instalación de BASE (Basic Analysis and Security Engine), consola web de monitoreo del IDS
Primero se debe instalar adodb, se puede descargar de http://sourceforge.net/projects/adodb files/
# cd /opt/download
# unzip adodb511.zip# cp -R adodb5 /var/www/
# mv adodb5 adodb

Ahora toca compilar e instalar base; descargar de http://sourceforge.net/projects/secureideas/files/
# cd /opt/download
# cp base-1.4.5.tar.gz /var/www/html/
# cd /var/www/html
# tar -xzvf base-1.4.5.tar.gz
# mv base-1.4.5 base

11.- Personalizando el archivo base_conf.php
# cd /var/www/html/base
# cp base_conf.php.dist base_conf.php.dist.ORG
# mv base_conf.php.dist base_conf.php
# vi base_conf.php
###########################################################
$BASE_Language = 'english';
$BASE_urlpath = '/base';
$DBlib_path = '/var/www/adodb';

$DBtype = 'mysql';
$alert_dbname = 'snort';
$alert_host = 'localhost';
$alert_port = '';
$alert_user = 'snort';
$alert_password = 'p@55w0rd';
$colored_alerts = 1;
###########################################################
Grabar los cambios y reiniciar el servicio http
# service httpd restart

Continuará estamos trabajando...

2 comentarios:

Anónimo dijo...

First of all I would like to say awesome blog! I had a quick question that I'd like to ask if you do not mind. I was interested to find out how you center yourself and clear your mind prior to writing. I've had trouble clearing my thoughts in getting my ideas out there.
I do take pleasure in writing but it just seems like the
first 10 to 15 minutes are usually wasted simply just trying to figure out how to begin.
Any suggestions or hints? Kudos!
my website :: margarita blender

Anónimo dijo...

Hi, every time i used to check webpage posts here in the early hours in the morning, because i enjoy to
find out more and more.
Feel free to visit my website ; This Site

Distributed Denial-of-Service (DDoS)

Distributed Denial-of-Service, or more commonly known in its abbreviated form – DDoS – is an organized attempt to render a computer resource...