Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 2

Seguimos con la segunda parte de esta serie sobre Prelude SIEM IDS / IPS (Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte I).

En esta ocasión vamos a instalar Snort en Linux Ubuntu 10.10 con soporte para prelude y lo registraremos como sensor de nuestros sistema centralizado Prelude que está instalado en otro host. Es decir, vamos a crear un sensor remoto para que envie las alertas a Prelude.

Instalando los prerequisitos para soporte Snort – Prelude.

La instalación de Snort y las librerias necesarias para soporte prelude lo voy a realizar en una máquina o host acabado de montar. Para ello voy a instalar una serie de paquetes necesarios como requisitos básicos para compilar y algún otro como nmap, etc que quiero usar más adelante para probar que los servicios necesarios en el host remoto o prelude-server están a la escucha. También, aunque no sea necesario instalaré apache2 para probar prewikka en este server, php, etc. que cada uno elimine lo que no le interese:

sudo apt-get install apache2 php5 nbtscan  php5-mysql php5-gd libnet1 libnet1-dev libpcre3 libpcre3-dev autoconf libtool gcc-4.4 g++ automake gcc make flex bison nmap ruby libpcap-ruby

sudo apt-get install  libmysqlclient16-dev

Para Snort es necesario lo siguiente:

Libpcap.

wget http://www.tcpdump.org/release/libpcap-1.1.1.tar.gz
tar -zxf libpcap-1.1.1.tar.gz
cd libpcap-1.1.1
./configure –prefix=/usr –enable-shared
make
make install

Libdnet.

wget http://libdnet.googlecode.com/files/libdnet-1.12.tgz
tar -zxf libdnet-1.12.tgz
cd libdnet-1.12
./configure –prefix=/usr –enable-shared
make
make install

DAQ.

wget http://www.snort.org/dl/snort-current/daq-0.5.tar.gz
tar zxvf daq-0.5.tar.gz
cd daq-0.5
./configure
make
make install
ldconfig

Ahora instalamos las librerias necesarias para el registro de sensores y soporte prelude – snort:

apt-get install libgnutls-dev python lua50 libprelude-dev libpreludedb-dev

También he instalado:

apt-get install python-preludedb python-prelude libprelude-perl libpreludedb-perl

no es necesario nada más.

Instalando Snort 2.9.0.4.

Ahora descargamos e instalamos snort:

wget http://www.snort.org/dl/snort-current/snort-2.9.0.4.tar.gz

tar -zxf snort-2.9.0.4.tar.gz

cd snort-2.9.0.4

Para lo me necesito es suficiente con activar los soportes siguientes en configure. Eso sí, indispensable prelude:

./configure –enable-prelude –enable-dynamicplugin –enable-zlib –enable-reload  –enable-ipv6

make

make install

comprobamos que Snort funciona en nuestro sistema:

snort -V

si es así, seguimos. Descargamos las rules desde  snort.org ( snortrules-snapshot-2904.tar.gz). Yo soy un usuario registrado así que descargo las reglas para 2.9.4.0 correspondientes.

Creamos las carpetas necesarias:

mkdir /etc/snort

mkdir /etc/snort/rules

mkdir /var/log/snort

mkdir /etc/snort/proproc_rules

mkdir /etc/snort/so_rules

mkdir /etc/snort/preproc_rules

Ahora pasamos la información descargada y descomprimida de snortrules-snapshot-2904.tar.gz a cada una de las carpetas que hemos creado.

Modificamos /etc/snort/snort.conf:

En mi caso:

var RULE_PATH /etc/snort/rules
var SO_RULE_PATH /etc/snort/so_rules
var PREPROC_RULE_PATH /etc/snort/preproc_rules

…..

#preprocessor normalize_ip4
#preprocessor normalize_tcp: ips ecn stream
#preprocessor normalize_icmp4
#preprocessor normalize_ip6
#preprocessor normalize_icmp6

…..

# prelude
output alert_prelude
: profile=snort-1

salvamos el archivo.

NOTA IMPORTANTE: No es necesario indicar el profile si es el primer sensor que vamos a instalar. En mi caso ya tengo un sensor que por defecto es profile=snort. Así que para instalar otro indico profile=snort-1

Listo. En principio esto es suficiente. Ya cada uno según lo que necesite podrá:

  • activar preprocesadores como sfportscan
  • activar preproc_rules
  • activar so_rules
  • etc.

Ejecutando snort con soporte para prelude.

Ejecutamos snort:

sudo snort -ieth0 -dev -c /etc/snort/snort.conf

al final snort nos devuelve un error tal como este:

ERROR: prelude-client: Unable to initialize prelude client: could not open ‘/etc/prelude/profile/snort/config’ for reading: No such file or directory

Profile ‘snort’ does not exist. In order to create it, please run:
prelude-admin register «snort» «idmef:w» –uid 0 –gid 0.
Fatal Error, Quitting..

que nos dice que tenemos que registrar snort en el sistema Prelude.

Vamos a ello:

En el host (A o server 192.168.1.96) donde tenemos Manager Prelude, Prewikka etc instalado hacemos lo siguiente:

sudo prelude-admin registration-server prelude-manager

ahora está a la espera de que en el host B….:

Ahora en el host (B o cliente), es decir, este donde acabamos de inastalar Snort:

sudo prelude-admin register «snort-1» «idmef:w» 192.168.1.96 –uid 0 –gid 0

ponemos 192.168.1.96 por que es el host A donde debe registrarse el sensor.

Despues de unos minutos en el host A o servidor prelude tenemos un password, lo apuntamos e indicamos e el host B que nos lo está pidiendo:

alfon@snortsensor:~$ sudo prelude-admin register «snort-1» «idmef:w» 192.168.1.96 –uid 0 –gid 0
Generating 2048 bits RSA private key… This might take a very long time.
[Increasing system activity will speed-up the process].
Generation in progress… X..+++++O+++++O

You now need to start «prelude-admin» registration-server on 192.168.1.96:
example: «prelude-admin registration-server prelude-manager»

Enter the one-shot password provided on 192.168.1.96:

Lo introducimos y:

Enter the one-shot password provided on 192.168.1.96:
Confirm the one-shot password provided on 192.168.1.96:

Connecting to registration server (192.168.1.96:5553)… Authentication succeeded.

Ahora en el host A decimos que y (yes) para confirmar el registro.

Una vez hecho esto en el host A aparecerá un mensaje que dice:

192.168.1.106:40494 successfully registered

este host (B): 192.168.1.106 está registrado.

En este mismo host también tenemos:

Connecting to registration server (192.168.1.96:5553)… Authentication succeeded.
Successful registration to 192.168.1.96:5553.

volvemos a ejecutar Snort:

sudo snort -ieth0 -dev -c /etc/snort/snort.conf

Ahora tenemos esto:

05 Apr 14:01:40 (process:26124) INFO: Connecting to 127.0.0.1:4690 prelude Manager server.
05 Apr 14:01:40 (process:26124) WARNING: Failover enabled: connection error with 127.0.0.1:4690: Connection refused

funciona pero no escapaz de conectar con el servidor prelude (A) que está en 192.168.1.96.

así que tenemosque editar (host B) el archivo /etc/prelude/default/client.conf para indicar que el prelude server es 1982.168.1.96 en la línea server-addr.

volvemos a ejecutar Snort…

y ahora….. todo correcto:

…..

Decoding Ethernet
06 Apr 11:59:51 (process:2304) INFO: Connecting to 192.168.1.96:4690 prelude Manager server.
06 Apr 11:59:51 (process:2304) INFO: TLS authentication succeed with Prelude Manager.

–== Initialization Complete ==–

,,_     -*> Snort! <*-
o»  )~   Version 2.9.0.4 IPv6 (Build 111)
»»    By Martin Roesch & The Snort Team: http://www.snort.org/snort/snort-team
Copyright (C) 1998-2011 Sourcefire, Inc., et al.
Using libpcap version 1.1.1
Using PCRE version: 8.02 2010-03-19
Using ZLIB version: 1.2.3.4
….

Bien, vamos ahora a comprobarlo. ejecutamos prewikka para ver los agentes instalados:

agentes instalados en prelude server

vemos como nuestro sensor con profile snort-1 en 192.168.1.106 esta online y funcionado.

La prueba definitiva sería ver si se registra alguna alerta de este sensor remoto:

registro alertas sensor remoto snort en prewikka

=========================

Y hasta aquí por hoy. Hasta el proximo copitulo que veremos prelude-correlator, gestión de prewikka, Prelude-Notify, etc.

Esta entrada fue publicada en OSSEC HIDS, Prelude IDS - IPS, Seguridad y redes, Snort. Guarda el enlace permanente.

4 respuestas a Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 2

  1. Mauricio dijo:

    Amigo hasta ahora voy bien, ya temrine este paso y el prewikka esta trabajando bien, aunque de vez en cuando me arroja un error el servidor, supongo que tengo que tunearlo, porque su comportamiento es como si estubiera saturado.
    Bueno seguire la otra parte
    Otra vez gracias

  2. ksio dijo:

    me sigue dando
    (process:15995) WARNING: Failover enabled: connection error with 192.168.11.104:4690: Connection refused
    que puede ser

  3. Pingback: Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 4. Sensor Suricata. | Seguridad y Redes

  4. Pingback: Instalando y Configurando Centro IDS / IPS con Prelude SIEM, Snort y Prewikka. Parte 3 | Seguridad y Redes

Deja una respuesta

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s