Blog

Como montar nuestro IDS (Intrusion Detection System) – Parte IV – Instalando Snorby

Para ver la serie completa pulsa aquí. Habrá conceptos que se den por obvios ya que están explicados en artículos anteriores.

Buenas a todos! En este nuevo post sobre IDS vamos a ver como podríamos instalarnos Snorby tras habernos instalado anteriormente Snort, Banryard y BASE. Lo primero de todo vamos a ver es que Snorby es similar a BASE (explicado en el anterior post), es decir, es un front-end para el IDS Snort que nos permitirá manejar y generar una serie de informes y gráficas con los resultados de una forma muy sencilla y visual mediante un entorno web.

Snorby sigue el mismo funcionamiento que BASE en cuanto a que coge todos los datos generados por Barnyard desde la base de datos dedicada a las alertas de Snort, por lo que voy a obviar volver a explicar lo mismo. Para los que no leyerais el anterior post aqui lo tenéis.

Una vez hemos dicho esto vamos a ver como podríamos instalarlo de forma conjunta con Snort y Barnyard.

Lo primero que tendríamos que hacer seria comprobar que tenemos instalado Apache y todas las dependencias que necesita Snorby.

yum install libyaml-devel httpd git ImageMagick ImageMagick-devel libxml2-devel libxslt-devel gcc-c++ curl-devel httpd-devel apr-devel apr-util-devel readline-devel -y

 

Deberemos instalarnos Ruby ya que sera el lenguaje que utilizara Snorby para ejecutarse como veremos mas adelante.

cd /usr/local/src/snort
wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p327.tar.gz
tar xvzf ruby-1*
cd ruby-1*
./configure && make && make install

 

Instalamos la extensión de OpenSSL:

cd ext/openssl/
ruby extconf.rb
make && make install

 

Instalamos las dependencias necesarias:

gem install thor i18n bundler tzinfo builder memcache-client rack rack-test erubis mail rack-mount rails --no-rdoc --no-ri
gem install rake --version=0.9.2 --no-rdoc --no-ri
gem uninstall rake --version=0.9.2.2

 

Instalamos wkhtmltopdf, necesario para Snorby, que nos permitirá pasar de HTML a PDF.

cd /usr/local/src/snort

Para i386:

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-i386.tar.bz
tar jxvf wkhtmltopdf-0*
mv wkhtmltopdf-i386 /usr/local/bin/wkhtmltopdf

Para i686:

wget http://wkhtmltopdf.googlecode.com/files/wkhtmltopdf-0.9.9-static-amd64.tar.bz2
tar jxvf wkhtmltopdf-0*
mv wkhtmltopdf-amd64 /usr/local/bin/wkhtmltopdf

 

Definimos el propietario:

chown root:root /usr/local/bin/wkhtmltopdf

 

Ahora ya nos descargamos y configuramos Snorby:

cd /var/www/
git clone http://github.com/Snorby/snorby.git
cd /var/www/snorby/config/
cp database.yml.example database.yml
cp snorby_config.yml.example snorby_config.yml
chown -R apache:apache /var/www/snorby

 

Definimos la contraseña para root de MySQL en caso de no tenerla definida:

mysqladmin password snorby

 

Configuramos el acceso a la base de datos para Snorby:

vi database.yml
....
snorby: &snorby
 adapter: mysql
 username: root
 password: snorby
 host: localhost
...

 

Instalamos Snorby definitivamente:

cd /var/www/snorby
bundle install --deployment
rake snorby:setup

 

Añadimos una entrada a la configuración de Barnyard para que guarde también los resultados que utilizara Snorby:

vi /etc/snort/barnyard.conf
...
output database: log, mysql, user=root password=snorby dbname=snorby host=localhost
...

 

Reiniciamos el servicio de Barnyard para que vuelva a coger la configuración con la entrada que hemos añadido:

service barnyard2 stop
service barnyard2 start

 

Instalamos el modulo Passager para Apache, que también es necesario para la configuración web de Snorby:

gem install passenger
cd /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/bin
./passenger-install-apache2-module

 

Configuramos Apache:

vi /etc/httpd/conf/httpd.conf
LoadModule passenger_module /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19/ext/apache2/mod_passenger.so
PassengerRoot /usr/local/lib/ruby/gems/1.9.1/gems/passenger-3.0.19
PassengerRuby /usr/local/bin/ruby
<Directory "/var/www/snorby/public">
           AllowOverride all
           Order deny,allow
           Allow from all
           Options -MultiViews
</Directory>

 

Reiniciamos el servicio de Apache para que cargue la configuración:

service httpd restart

 

Ahora ya únicamente tendríamos que encender el Snorby para que todo funcionara mediante:

cd /var/www/snorby/config/
rails server -e production

 

Ya tendríamos todo listo para poder utilizar de forma conjunta Snort, Barnyard, BASE y Snorby de tal forma que podríamos administrar nuestro IDS de una forma muchísimo mas cómoda y visual, evitando tener que estar con la linea de comandos, ya que cuando se generan unas cuantas alertas es como imposible seguir el hilo. Aquí os dejo una captura para que veáis como es Snorby 😉

snorby

 

Espero que os haya gustado el post de hoy, en siguientes post veremos como configurarnos Snort a nuestra manera, creando nuestras propias reglas, utilizándolo como IPS, etc…

Parte III – Instalando BASE

 

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

  1. jackelinne
    jackelinne02-03-2014

    Fantásticas las entradas. Espero ansiosamente la próxima entrega para convertir mi snort en un IPS.

  2. David
    David02-16-2014

    Interesante articulo estoy aprendiendo muchas cosas.

    He podido instalar todo lo necesario en una maquina virtual.

    Esperando los siguientes…

    gracias y enhorabuena por el trabajo.

  3. lorenzo
    lorenzo08-12-2014

    Quiero aprender todo sobre snort y snorby. me gustaria algun dia ser algun tipo de especialista y esta rama que se vincula completamente a la seguridad informatica me interesa por favor necesito ayuda sobre todo por mi falta de experiencia solicito cualquier sugerencia HELP ME PLEASE

Leave a Reply

*

    No Twitter Messages