Instalación de un IDS con Snort. Parte II

Continuando con la instalación de un IDS con Snort (Parte I), vamos a ver como actualizar las reglas de VRT o EmergingThreats para SNORT.

snort_large

Existen varios programas para dicho cometido, pero nosotros vamos a utilizar “PulledPork”.

Lo primero que tenemos que hacer es instalar los pre-requisitos necesarios para su instalación, Para ello ejecutamos:

            apt-get install libcrypt-ssleay-perl libwww-perl

A continuación procedemos a la instalación de PulledPork:

cd /usr/src

wget http://pulledpork.googlecode.com/files/pulledpork-0.7.0.tar.gz

tar -zxvf pulledpork-0.7.0.tar.gz

cd pulledpork-0.7.0

cp pulledpork.pl /usr/local/bin

cd etc/

cp *.conf /etc/snort

El siguiente paso a realizar, es la configuración de Pulledpork.

1.Editamos el fichero de configuración:

      nano –c /etc/snort/pulledpork.conf

**Nota: Necesitarás darte de alta en la página http://www.snort.org y después de activar tu cuenta deberás solicitar tu Oinkcode.

snort

2. Modificamos las siguientes líneas:

Comentamos las líneas 19, 21 y 26. Para ello ponemos a principio de la línea el carácter “#”.

A continuación de la línea 26 añadimos las siguientes líneas

rule_url=https://www.snort.org/rules/|snortrules-snapshot-2976.tar.gz|aquí hay que poner tu Oinkcode

rule_url=https://rules.emergingthreatspro.com/|emerging.rules.tar.gz|open

Y modificamos las siguientes líneas

Línea #74 – cambiar por: rule_path=/etc/snort/rules/snort.rules

Línea #81 – des-comentar y cambiar por: out_path=/etc/snort/rules/

Línea #89 – cambiar por: local_rules =/etc/snort/rules/local.rules

Línea #92 – cambiar por: sid_msg=/etc/snort/sid-msg.map

Línea #119 – cambiar por: config_path=/etc/snort/snort.conf

Línea #121 – cambiar por: sostub_path=/etc/snort/rules/so_rules.rules

Línea #133 – cambiar por: distro=Debian-Lenny

Linea #141 – cambiar por: black_list=/etc/snort/rules/black_list.rules

Línea #192 – des-comentar y cambiar por: snort_version=2.9.7.6

Línea #196 – des-comentar y cambiar por: enablesid=/etc/snort/enablesid.conf

Línea #198 – des-comentar y cambiar por: disablesid=/etc/snort/disablesid.conf

Línea #199 – des-comentar y cambiar por: modifysid=/etc/snort/modifysid.conf

A continuación ejecutamos el siguiente comando para deshabilitar todo el bloque de reglas fwsam.

echo pcre:fwsam >> /etc/snort/disablesid.conf

Si queremos guardar todas las reglas en un solo fichero, tenemos que ejecutar el siguiente comando.

      /usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -T -l

Para guardar las reglas en ficheros diferentes

     /usr/local/bin/pulledpork.pl -c /etc/snort/pulledpork.conf -k -l

Una vez actualizadas nuestras reglas para Snort procedemos a la instalación y configuración de BARNYARD2.

Para ello realizamos los siguientes pasos.

1.Instalación de pre-requisitos

      apt-get install libpcre3 libpcre3-dbg libpcre3-dev build-essential autoconf automake libtool libpcap-dev libnet1-dev mysql-client libmysqlclient-dev

2.Instalación de barnyard2

cd /usr/src/

wget http://www.securixlive.com/download/barnyard2/barnyard2-1.9.tar.gz

Si no funciona podemos utilizar el siguiente enlace

wget ftp://ftp.tw.freebsd.org/pub/ports/distfiles/barnyard2-1.9.tar.gz

tar xvfz barnyard2-1.9.tar.gz

cd barnyard2-1.9

./configure –with-mysql

Si durante la instalación se produce el siguiente error es que no encuentra la librería libmysqlclient.*. Para saber en qué directorio se encuentra podemos ejecutar el siguiente comando

      find / -name libmysql*

snort

snort

Como vemos en la imagen anterior (lo he marcado en rojo) ya sabemos la ruta donde se encuentra la librería y reanudamos la instalación.

./configure –with-mysql –with-mysql-libraries=/usr/lib/i386-linux-gnu

make

make install

cp /usr/src/barnyard2-1.9/etc/barnyard2.conf /etc/snort/

 3.Configuración del fichero barnyard2.conf.

nano –c /etc/snort/barnyard2.conf

Comprobamos las siguientes líneas.

Linea 29     config reference_file:     /etc/snort/reference.config

Linea 30     config classification_file: /etc/snort/classification.config

Linea 31     config gen_file:           /etc/snort/gen-msg.map

Linea 32     config sid_file:           /etc/snort/sid-msg.map

Y añadimos al final del fichero

output database: log, mysql, user=<usuario base de datos> password=<pasword usuario> dbname=<base de datos> host=<indicamos ip del servidor sql> sensor_name=<nombre de sensor>

           Un ejemplo de configuración para añadir las alertas a la base de datos de Snorby,

output database: log, mysql, user=snorbyuser password=PASSWORD123 dbname=snorby host=192.168.1.111 sensor_name=sensor1

Para terminar comprobamos que funcione correctamente Snort y Barnyard2

/usr/local/bin/snort -q -u snort -g snort -c /etc/snort/snort.conf -i eth0 &

/usr/local/bin/barnyard2 -c /etc/snort/barnyard2.conf -d /var/log/snort -f snort.log –w /etc/snort/bylog.waldo &

Con esto finalizamos el artículo de hoy, en el siguiente veremos cómo instalar y configurar Snorby para complementar nuestro IDS.

Saludos.

Juanjo Martínez