Servicios,  Sistemas

Detención de intrusiones. IDS con Snort y Snorby I

SNORT
Ejempo IDS. SNORT

IDS. Intrusion Detection System. Es un sistema que se encarga de identificar ataques que se están realizando en una infraestructura de red. Lo realiza mediante sensores que recopilan todo el tráfico de la red, necesitando que la electrónica de red se encuentre en modo promiscuo. Con el modo promiscuo se recibe todo el tráfico esté dirigido o no al sensor.

Uno de los más utilizados es Snort, siendo además de código libre. Para evaluar si se está produciendo un ataque, Snort compara el tráfico recopilado con una serie de reglas que tiene almacenadas, para informarnos con la gravedad identificada.

Snorby

Snorby es un front-end para la gestión de alertas Snort. Va a facilitar por tanto la gestión de los sensores y de las alertas generadas. Instalamos entonces lo necesario para Snorby.

apt-get install mysql-server libmysqlclient-dev libmysql++-dev

apt-get install git ruby ruby-dev

apt-get install imagemagick libmagickwand-dev wkhtmlopdf

apt-get install gcc g++ build-essential linux-headers-amd64 libssl-dev libreadline-gplv2-dev zlib1g-dev libsqlite3-dev libxslt1-dev libxml2-dev

Descargar una copia de Snorby

git clone http://github.com/Snorby/snorby.git

git clone http://github.com/Snorby/snorby.git

Snorby está escrito en ruby, de modo que necesitaremos ciertas utilidades y librerías.

# Instalar el gestor de gemas para las dependencias de aplicaciones Rails
gem install bundler

# Gemas de bundler
bundle install

Ahora editamos la configuración del acceso a la base de datos.

# Hacemos una copia de la configuración de ejemplo.
cp config/database.yml.example config/database.yml

# Y la editamos. Introduce la password de tu mysql
vi config/database.yml
# Snorby Database Configuration
#
# Please set your database password/user below
# NOTE: Indentation is important.
#
snorby: &snorby
 adapter: mysql
 username: root
 password: "Enter Password Here" # Example: password: "s3cr3tsauce"
 host: localhost

A continuación se inicia un archivo de configuración.

cp config/snorby_config.yml.example config/snorby_config.yml

Prueba a lanzar snorby desde la propia consola. De esta manera se lanza la aplicación en modo “production”. Es posible lanzarla como demonio con la opción -d.

bundle exec rails server -e production

Para que se lance snorby desde el arranque o para parar o iniciar la aplicación es necesario crear un servicio. A continuación describo las acciones necesarias para que systemd se encargue de la gestión del servicio.

# Mover el aplicativo a un directorio más apropiado
mv /root/downloads/snorby /usr/local/

# Crear archivos de configuración.
mkdir /etc/snorby/

# El contenido del script de inicio.
vi /etc/snorby/snorby-start
#!/bin/bash
cd /usr/local/snorby; bundle exec rails server -e production

# Permisos de ejecución
chmod +x /etc/snorby/snorby-*

# Para aportar más seguridad creamos un usuario que ejecutará snorby,
# y de esta manera no correrá como root.
# Modificado el /etc/passwd. Crea también el grupo...
snorby:x:111:116:Front-End to Snort:/usr/local/snorby:/usr/sbin/nologin

# Ahora a configurar systemd para que gestione snorby
vi /lib/systemd/system/snorby.service
[Unit]
Description=Snorby. Front-End to Snort
After=syslog.target

[Service]
User=snorby
Group=snorby
ExecStart=/etc/snorby/snorby-start
Restart=on-abort

[Install]
WantedBy=multi-user.target

# Habilitar snorby en systemd
systemctl enable snorby
systemctl start snorby
systemctl status snorby

 

Deja una respuesta