sábado, 18 de enero de 2014

El rincón de HighSec: Como montar nuestro IDS - Parte IV - Instalando Snorby

Compartir este artículo:
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…

Un saludo,

Eduardo – eduardo@highsec.es – @_Hykeos

No hay comentarios:

Publicar un comentario en la entrada

Related Posts Plugin for WordPress, Blogger...