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