Como instalar Snort IDS/es

Aus i2pwiki.mk16.de
Zur Navigation springen Zur Suche springen

Introducción[Bearbeiten]

Un sistema de detección de intrusión (IDS) tiene la tarea de controlar el trafico y actividad de una red local para identificar posibles movimientos sospechosos, que puedan indicar un ataque a una red o sistema desde fuera o que comprometa su seguridad.

A diferencia de un IDS, un firewall inspecciona y detiene cualquier trafico que halla sido previamente definido por el administrador en base a ciertas reglas. A cambio un IDS inspecciona y evalúa el trafico para determinar si es sospechoso, generando avisos de alerta basados en el análisis.

DESACTUALIZADO: SOLO PARA VERSIONES ANTERIORES A LA 11.04


Dónde Ubicar Uno[Bearbeiten]

Hay múltiples ubicaciones en donde puede configurarse un IDS. A continuación dos ejemplos para esto ultimo.


IDS Detras de Firewall[Bearbeiten]

En este caso el IDS lo dejaremos detrás de un Firewall. Los datos que entran a la Red de Área Local (LAN) son interceptados por el puerto del IDS que esta conectado a el. La interfaz del IDS debe estar en modo promiscuo para permitir inspeccionar todo el trafico.


IDS en Nuestro PC[Bearbeiten]

En el segundo caso, se configura directamente en nuestro sistema para que actúe como un IDS.


IDS en Cualquier Lugar[Bearbeiten]

En ambos ejemplos el IDS estará monitorizando al firewall para asegurarse de que el trafico de la LAN no es sospechoso. Otro posible escenario es dejar el IDS delante del Firewall. Esto permite conocer que paquetes o conexiones entrantes o salientes pueden ser sospechosas. También pueden haber mas de un IDS, delante y detrás de un Firewall, que nos permitiría conocer y detectar trafico sospechoso, que pueda estar violando el Firewall.

Como se ha visto, el IDS se puede encontrar en cualquier punto que conecta a la LAN con la Internet.

A continuación veremos cómo se instala uno.


Prerrequisitos[Bearbeiten]

Para este ejemplo, deberíamos instalar un sistema Ubuntu sobre una maquina virtual.

Para este ejemplo usaremos el sistema de análisis de paquetes Snort y una interfaz de usuario web. La Consola de Análisis de Detección de Intrusión (ACID) servirá para estos objetivos.


Servidor LAMP[Bearbeiten]

Tasksel nos ayudara a instalar una solucion LAMP completa.

$ sudo tasksel install lamp-server

En este procedimiento se solicitara configurar una clave root para MySQL

LAMP servirá de servidor HTTP para ACID y el backend MySQL para Snort.


Snort[Bearbeiten]

Instalación[Bearbeiten]

Ahora creamos la base de datos que usara Snort.

$ mysql -u root -p
# create database snort;
# GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, INDEX, ALTER, CREATE
  TEMPORARY TABLES, LOCK TABLES ON snort.* TO 'snort'@'localhost'  # IDENTIFIED BY 'password';
# FLUSH PRIVILEGES;
# quit

Y a continuación se instala Snort.

$ sudo apt-get -y install snort-mysql

Durante el procedimiento de instalacion se solicitara ingresar
la direccion IP de la LAN en formato Classless
Inter-Domain Routing (CIDR)

Hacia el final de la rutina de instalación de Snort, se solicitara configurar una base de datos para usar con Snort. Escoja no. Esto se configurara manualmente en Snort para conectarlo a la base de datos creada previamente.

Se recibira un mensaje de seguridad similar al siguiente:
Snort no se podra iniciar sino se ha configurado una base de datos.


Configuración[Bearbeiten]

Ahora se actualiza nuestra base de datos con la estructura de la tabla de Snort.

$ pushd /usr/share/doc/snort-mysql
$ sudo zcat create_mysql.gz | mysql -u snort -p snort
# The syntax is: mysql -u <username> -p <prompt for password> <database>
popd

Se debe modificar el archivo de configuración de Snort para incluir muestra información especifica para MySQL.

$ sudo sed -i "s/output\ log_tcpdump:\ tcpdump.log/#output\ log_tcpdump:\ tcpdump.log\noutput\
  database:\ log,\ mysql, user=snort password=password dbname=snort host=localhost/" /etc/snort/snort.conf

La linea anterior se localiza en la linea 786 de /etc/snort/snort.conf.

Se debe eliminar el archivo de configuración de la base de datos Snort pendiente.

$ sudo rm -rf /etc/snort/db-pending-config

Se debe iniciar el sevicio Snort.

$ sudo /etc/init.d/snort start

Verificar si el demonio Snort se ha iniciado correctamente.

$ sudo /etc/init.d/snort status
$ tail /var/log/daemon.log


ACID[Bearbeiten]

Instalación[Bearbeiten]

A continuación se instala el front-end (ACID) para poder monitorizar la salida de Snort.

$ sudo apt-get -y install acidbase

Durante el proceso de instalación de acidbase se solicitara configurar una base de datos. Se escoge si y se usa MySQL para el tipo de base de datos.

Después se solicitara una clave para el administrador de la base de datos. Esta clave es la misma que se uso inicialmente cuando se instalo MySQL junto a LAMP.

Después se debe asignar la clave de administrador y se solicitara crear una clave MySQL para acidbase y así poder conectar a la base de datos. Aquí se usara la misma clave del usuario snort.


Configuración[Bearbeiten]

Una vez instalado, el interfaz web de acidbase solo esta configurado para ser accesible desde localhost. Para acceder remotamente al interfaz HTTP de acidbase desde otras maquinas se debe modificar el archivo de configuración.

$ sudo sed -i "s#allow\ from\ 127.0.0.0/255.0.0.0#allow\ from\
  127.0.0.0/255.0.0.0\ 10.10.1.10/255.255.255.0#" /etc/acidbase/apache.conf

En el segmento anterior se esta permitiendo acceder a acidbase desde una maquina con la dirección IP 10.10.1.10/24.

Ahora queda re-iniciar el servidor apache para que los cambios en las configuraciones tomen efecto.

$ sudo /etc/init.d/apache2 restart

El ultimo paso de la configuración es acceder a la interface web de acidbase en

http://snort.home.local/acidbase/base_db_setup.php

Se debe escoger el boton Create BASE AG y las nuevas tablas de soporte para acidbase serán agregadas a la base de datos de Snort.

A continuación se retornara a la pagina principal

http://snort.home.local/acidbase/base_main.php
Naturalmente se puede reemplazar localhost con cualquiera en /etc/acidbase/apache.conf


Test IDS[Bearbeiten]

Para probar Snort y AcidBase se puede escanear el puerto desde el host Snort.

$ sudo nmap -p1-65535 -sV -sS -O snort.home.local

Al refrescar el interfaz web de acidbase se podrán ver los resultados del escaneo del puerto.


Extras[Bearbeiten]

Oinkmaster[Bearbeiten]

La instalación de Snort viene con reglas para el análisis en el repositorio. Se sugiere registrarse para recibir actualizaciones de nuevas reglas en el sitio de Snort. El script Oinkmaster es una excelente ayuda para actualizar las reglas de Snort de forma automática.


Véase También[Bearbeiten]

Categoría:Aplicaciones


Referencias[Bearbeiten]

<references />