Publicado el 27 de Abril del 2018
1.038 visualizaciones desde el 27 de Abril del 2018
1.022,2 KB
35 paginas
Creado hace 17a (02/11/2007)
Proyecto Fin de Carrera
Capítulo 4: Sistema de detección de intrusos
58
Inventario de una red IP orientado en CMSI
Un sistema de detección de intrusos o IDS (Intrusion Detection System) es un
programa usado para detectar accesos a un ordenador o a una red. El sistema de detección
de intrusos suele tener sensores como por ejemplo un snnifer de red con lo que el núcleo
del IDS puede obtener datos externos. Un sniffer es un programa que captura tramas en una
red compartida.
Introducción
El sistema de detección de intrusos detecta, gracias a dichos sensores, anomalías que
puede ser indicio de la presencia de ataques o falsas alarmas.
Un sistema de detección de intrusos muy utilizado es Prelude. Tiene una versión
propietaria mucho más avanzada y otra Open Source. Prelude genera eventos basado en el
estándar IDMEF (Intrusion Detection Message Exchange Format), es un estándar del IETF
para el intercambio de mensajes de detección de intrusos.
Prelude-IDS es una aplicación que recopila toda la información relacionada con la
seguridad y la reporta a un sistema centralizado, conocido como colector de alerta.
El objetivo es utilizar la plataforma de Prelude para insertar en la base de datos de
inventario toda la información de alertas que detecta Prelude. Es una gran fuente de
información que podemos aprovechar ya que nos proporciona de información muy diversa
del estado de la red.
Arquitectura de Prelude
La arquitectura interna se describe perfectamente en la siguiente gráfica:
Imagen 32: Arquitectura interna de Prelude-IDS
Vamos a explicar paso por paso la arquitectura de Prelude. Las aplicaciones
relacionadas con la seguridad tienen tres formas de enviar información de alertas al sistema
centralizado.
59
Proyecto Fin de Carrera
1. Directamente a través de una aplicación de seguridad, para ello dicha aplicación
debe hacer uso de las librería que pone Prelude a disposición, tanto en lenguaje
C, Perl, Python. Nosotros desarrollaremos en este proyecto una aplicación que
haciendo uso de las librerías de Prelude en C envíe la información directamente
al servidor centralizado.
2. A través de los ficheros de logs, se inserta la información que se desee en los
logs de sistema, existirá un programa que extraiga estos datos de los ficheros de
logs utilizando las librerías de syslog o logfile y lo enviará al sistema
centralizado. Desarrollaremos varias sondas de este tipo.
3. A través de un fichero de datos, con un cierto formato, que contiene información
sobre alguna alerta, Esto se envía con algún programa al servidor centralizado.
En cuanto a la arquitectura de los componentes que conforma el sistema
centralizado de Prelude, dependería del modo de funcionamiento del servidor central:
Modo simple: En este modo existe un único servidor centralizado.
Imagen 33: Modo simple, existe un único servidor centralizado
Modo relaying: Para el caso de que existan varios servidores. Uno de ellos le
enviaría la información recibida al servidor de alerta y la registraría también en
su base de datos.
60
Inventario de una red IP orientado en CMSI
Seguridad Central
Manager
Manager
Base de datos
Departamento de
seguridad
Base de datos
Sensor A
Sensor B
Sensor C
Sensor A
Sensor B
Sensor C
Imagen 34: Modo relaying, existen más servidores centralizados
Componentes de Prelude
Los componentes básicos que conforman el sistema Prelude son:
Sensores
Son los programas que analizan, interpreta y envía la información de alerta.
Genera eventos cuando se detecta actividad maliciosa o sospechosa. En Prelude los
eventos son descritos usando el estándar IDMEF. Los sensores que podemos
encontrar ya desarrollado para prelude son:
» Prelude-LML: Es un analizador de logs, esta aplicación lee los ficheros de
los interpreta y envía la información al sistema centralizado.
logs,
Hablaremos más tarde de este sensor.
» Snort: Es un sniffer de paquetes y un detector de intrusos basado en red.
Implementa un motor de detección de ataques y barrido de puertos que
permite registrar, alertar y responder ante cualquier anomalía previamente
definida.
» Mwcollect, Samhain, Sancp, etc. Para más información sobre estos sensores
diríjase a la Web oficial de Prelude, que se pasa en la bibliografía.
NOTA: Hay que destacar que un sensor y una sonda es diferente, una sonda es el dispositivo físico en cambio el sensor es la
aplicación que está dentro de la sonda, una sonda puede estar compuesta de varios sensores.
61
Proyecto Fin de Carrera
Colector
Conocido como Prelude-Manager, es un servidor en alta disponibilidad que
recopila toda la información que le distribuye los sensores y la almacena en una
base de datos, en nuestro caso utilizaremos una base de datos PostgreSQL. La
comunicación entre el manager y los clientes están encriptada usando el protocolo
SSL, por tanto el cliente debe estar previamente registrado y autenticado. Cuando
definamos nuestro propio sensor explicaremos el método para registrarse y
autenticarse con el Prelude-Manager.
Interfaz gráfica
Prelude pone una interfaz gráfica gratuita en formato html, conocida como
Prewikka.
Imagen 35: Interfaz gráfica para monitorización de alertas de Prelude-IDS
62
Inventario de una red IP orientado en CMSI
Imagen 36: Tartas estadísticas que muestra los porcentajes de alertas
Imagen 37: Gráfica temporal del número de alertas
Nosotros vamos a utilizar una interfaz propietaria conocida como MarteAlert. Dicha
interfaz está basada en Java y no en php coma Prewikka. A continuación se muestra
algunas capturas de la interfaz de MarteAlert.
63
Proyecto Fin de Carrera
Imagen 38: Dashboard de MarteAlert
Imagen 39: Top de MarteAlert
64
Inventario de una red IP orientado en CMSI
Imagen 40: Temporal de MarteAlert
Imagen 41: Tiempo real de MarteAlert
Instalación
Vamos a comentar ahora la instalación de cada uno de los componentes:
Colector: Está formado por los siguientes paquetes.
o Libprelude: Librería principal, usada en todos los programas de Prelude,
por tanto hay que instalarlo en todos los ordenadores. Para la instalación
realizaremos los siguientes pasos:
65
Proyecto Fin de Carrera
1. Nos descargamos la última versión de dicha librería de la Web
oficial, en nuestro caso es la versión 0.9.15.
$ wget http://www.prelude-
ids.org/download/releases/libprelude-0.9.15.tar.gz
2. Descomprimimos el fichero.
$ tar xzvf libprelude-0.9.15.tar.gz
3. Entramos en el directorio que hemos descomprimido.
$ cd libprelude-0.9.15
4. Configuramos los parámetros de instalación, en nuestro caso le
indicamos que no tenga soporte para Perl y Python ya que los
sensores que desarrollaremos posteriormente están realizado en
C.
$ ./configure - -prefix=/usr - -sysconfdir=/etc - -
localstatedir=/var - -datadir=/usr/share - -without-
perl - -without-python
5. Una vez que se haya configurado compilamos el programa
ejecutando.
$ make
6. Una vez terminado de compilar lo instalamos en nuestro sistema.
$ make install
o Libpreludedb: Librería que inserta los datos IDMEF en una base de
datos SQL. Destacar que la versión que vamos a instalar es la 0.9.13 y
los argumentos del configure es añadiéndole las librerías de PostgreSQL
y no incluir las de MySQL.
1. Nos descargamos las fuentes.
$ wget http://www.prelude-ids.org/download/releases/libpreludedb-0.9.13.tar.gz
2. Descomprimimos el fichero.
66
Inventario de una red IP orientado en CMSI
$ tar xzvf libpreludedb-0.9.13.tar.gz
3. Entramos en el directorio descomprimido.
$ cd libpreludedb-0.9.13
4. Configuramos el programa con argumentos que hemos dicho
anteriormente, con soporte para PostgreSQL. También quitamos
las librerías de Python y Perl para desarrollar sensores, ya que
usaremos exclusivamente C.
$ ./configure --prefix =/usr –with-pgsql - -without-
perl –without-python - -without-mysql –
localstatedir=/var –sysconfdir=/etc
5. Compilamos las fuentes.
$ make
6. Lo instalamos en nuestro sistema.
$ make install
o Prelude-Manager: Programa al cual se conecta los sensores, a quien va
dirigido todas las alertas. La última versión que vamos a utilizar será
0.9.9.1. Los pasos para su instalación son:
1. Nos descargamos las fuentes de la Web oficial de Prelude.
$ wget http://www.prelude-ids.org/download/releases/prelude-manager-0.9.9.1.tar.gz
2. Descomprimimos el fichero.
$ tar xzvf prelude-manager-0.9.9.1.tar.gz
3. Entramos en el directorio descomprimido.
$ cd prelude-manager-0.9.9.1
4. Configuramos los parámetros de instalación.
67
Proyecto Fin de Carrera
$ ./configure –prefix=/usr –with-pgsql –without-perl
–without-python –without-mysql –localstatedir=/var –
sysconfdir=/etc –with-libprelude-prefix=/usr –with-
libpreludedb-prefix=/usr
5. Compilamos el programa.
$ make
6. Lo instalamos en nuestro sistema.
$ make install
Sensor: Vamos a describir como instalar los sensores en prelude. Instalaremos
solo Prelude-LML es un sensor que monitoriza los ficheros de logs usando
reglas predefinidas. Para la instalación seguimos el mismo método de antes, nos
descargamos las fuentes con la versión 0.9.10.1.
1. Nos descargamos la fuente de la Web oficial de Prelude.
$ wget http://www.prelude-ids.org/download/releases/prelude-lml-0.9.10.1.tar.gz
2. Descomprimimos el fichero fuente.
$ tar xzvf prelude-lml-0.9.10.1.tar.gz
3. Entramos en el directorio descomprimido.
$ cd prelude-lml-0.9.10.1
4. Configuramos los parámetros de instalación.
$ /configure –prefix=/us
Comentarios de: Capítulo 4: Sistema de detección de intrusos (0)
No hay comentarios