Seguridad · 6 min read · Oct 16, 2025

Detección de Intrusiones: Snort (IDS), OSSEC (HbIDS) y Prelude (HIDS) en Ubuntu Gutsy Gibbon

Detección de Intrusiones: Snort (IDS), OSSEC (HbIDS) y Prelude (HIDS) en Ubuntu Gutsy Gibbon

Todo el mundo conoce el problema, tienes una(s) herramienta(s) IDS instalada(s) y cada herramienta tiene su propia interfaz.

Prelude permitirá registrar todos los eventos en la base de datos de Prelude y ser consultada usando una interfaz (prewikka). Este manual describirá cómo instalar y configurar las diferentes herramientas que conformarán la solución completa.

Este manual se basa en fragmentos y trozos que encontré para resolver algunos problemas, partes de los manuales y mi propia experiencia con la instalación de la solución completa.

Para más información sobre snort visita: www.snort.org

Para más información sobre ossec visita: www.ossec.net

Para más información sobre prelude visita: www.prelude-ids.org

Requisitos Previos:

Supongamos que seguiste el manual The Perfect Server - Ubuntu Gutsy Gibbon (Ubuntu 7.10). Si no, sigue ese manual y solo instala/agrega aquellas partes que no tengas instaladas en tu sistema.

Los siguientes paquetes son útiles, así que por favor verifica que estén instalados correctamente:

apt-get install ntpdate
apt-get install dbconfig-common

Instalando y Configurando Prelude

Normalmente, tendríamos que compilar e instalar libprelude, libpreludedb, y luego crear las bases de datos. Afortunadamente, los paquetes son proporcionados por los repositorios de Ubuntu.

Gestor de Prelude

apt-get install prelude-manager
  • Usando la configuración TLS predeterminada de /etc/prelude/default/tls.conf:

  • Tamaño de clave generada: 1024 bits.

  • Tiempo de vida del certificado de autoridad: ilimitado.

  • Tiempo de vida del certificado generado: ilimitado.

  • Creando analizador prelude-manager.

  • Creando /etc/prelude/profile/prelude-manager…

  • Identificador asignado para prelude-manager: 4232957740008155.

  • Generando clave privada RSA… Esto puede tardar mucho tiempo.
    [Aumentar la actividad del sistema acelerará el proceso.]

  • Generando clave privada RSA de 1024 bits…

Durante la instalación, el gestor creará el perfil para el usuario prelude. Puede tardar un (muy) largo tiempo, ya que GnuTLS intenta acceder a /dev/random en lugar de /dev/urandom (por razones de seguridad). Esto puede cambiar en el futuro (quizás usando una opción para tener una generación más rápida, pero criptográficamente menos segura).

dbconfig te preguntará si deseas que configure la base de datos automáticamente. Si no deseas hacerlo, simplemente di que no, y configura todo manualmente (los scripts sql están en el directorio /usr/share/libpreludedb/). Supongamos que la respuesta es sí.

Nota: el número de preguntas puede cambiar, dependiendo de la verbosidad de debconf (establecida usando dpkg-reconfigure debconf), y los parámetros de dbconfig, en el archivo /etc/dbconfig-common/config.

configurar base de datos con dbconfig-common: sí  
tipo de base de datos:

Establece el tipo a la base de datos que instalaste previamente. En este caso mysql.

Contraseña de administrador de la base de datos: ******

dbconfig-common pedirá una contraseña para el usuario ‘prelude’. Si no proporcionas ninguna (simplemente presionando enter), generará una aleatoria. No te preocupes, el archivo de configuración se actualizará automáticamente.

dbconfig-common: escribiendo configuración en /etc/dbconfig-common/prelude-manager.conf  
  
Creando archivo de configuración /etc/dbconfig-common/prelude-manager.conf con nueva versión  
concediendo acceso a la base de datos prelude para prelude@localhost: éxito.  
verificando acceso para prelude@localhost: éxito.  
creando base de datos prelude: éxito.  
verificando que la base de datos prelude existe: éxito.  
poblando base de datos a través de sql...  hecho.  
dbconfig-common: vaciando contraseña administrativa  
Iniciando Gestor de Prelude: prelude-manager.

El paquete de Ubuntu crea automáticamente el usuario y la base de datos para Prelude. Si deseas cambiar la contraseña, hazlo primero en mysql y luego en /etc/prelude-manager/prelude-manager.conf.

Prelude-Manager debería estar ahora en funcionamiento:

ps auxw | grep manager
prelude 28530  0.0  0.1  59384  4480 ?        Ssl  13:49   0:00 /usr/sbin/prelude-manager

La primera parte ha terminado, ahora tienes un gestor en funcionamiento.

Dirección de escucha:

La dirección de escucha predeterminada es localhost (127.0.0.1). Esto significa que debes cambiar esto para agregar sensores en diferentes hosts para que los agentes puedan alcanzar el prelude-manager.

Edita /etc/prelude-manager/prelude-manager.conf:

listen = xxx.xxx.xxx.xxx

Reinicia el servidor y verifica la dirección (si cambiaste la dirección):

# /etc/init.d/prelude-manager stop
   Deteniendo Gestor de Prelude: prelude-manager.
# /etc/init.d/prelude-manager start
Iniciando Gestor de Prelude: prelude-manager.
# netstat -pantu | grep prelude
tcp        0      0 192.168.66.1:4690          0.0.0.0:*      LISTEN     30544/prelude-manager

Prelude-LML

Necesitas instalar prelude-lml en cada host que desees monitorear. Prelude-LML analizará tus registros y reportará eventos a los gestores.

# apt-get install prelude-lml


Iniciando Prelude LML: prelude-lml.

Antes de que pueda ser utilizado, se deben hacer dos cosas:

  • La dirección del gestor debe ser configurada en el lml
  • El gestor no confiará en los sensores, hasta que estén registrados

Dirección del gestor

Si cambiaste la dirección en la que el gestor está escuchando, necesitas cambiar la dirección en la configuración del cliente en cada máquina en la que instales prelude-lml.

La dirección del gestor se almacena en el archivo /etc/prelude/default/client.conf:

[prelude]  
server-addr = 127.0.0.1  

Registrando el sensor

Registrar el sensor es un proceso de cuatro pasos, que requiere ejecutar comandos tanto en el sensor como en el gestor:

En el cliente LML, ejecuta el comando de registro:

prelude-adduser register prelude-lml "idmef:w"  --uid 0 --gid 0

Consejo: si no recuerdas el comando, simplemente ejecuta prelude-lml. Dado que no está registrado, fallará, pero es lo suficientemente inteligente como para mostrar la ayuda:

# prelude-lml   
- Suscribiendo plugin pcre[default]  
- plugin pcre cargado 394 reglas.  
- Monitoreando /var/log/messages a través de pcre[default]  
* ADVERTENCIA: /var/log/everything/current no existe.  
prelude-client: error al iniciar prelude-client: no se pudo abrir '/etc/prelude/profile/prelude-lml/analyzerid' para lectura  
  
El perfil 'prelude-lml' no existe. Para crearlo, por favor ejecuta:  
prelude-adduser register prelude-lml "idmef:w"  --uid 0 --gid 0.

LML debe ser registrado con uid y gid 0, ya que el proceso se ejecutará como root (para poder analizar registros).

LML luego pedirá la Contraseña de Un Solo Uso (OTP), que será proporcionada por el gestor:

Ingresa la contraseña de un solo uso proporcionada por el programa "prelude-adduser":  
- ingresa la contraseña de registro de un solo uso:

En el gestor, ejecuta lo siguiente:

prelude-adduser registration-server prelude-manager

  • Iniciando servidor de registro.
  • la contraseña de un solo uso generada es “dummypass”.

Ingresa la contraseña en el aviso de LML:

  • ingresa la contraseña de un solo uso:
  • confirma la contraseña de un solo uso:
  • conectando al servidor de registro (127.0.0.1:5553)…
  • Autenticación anónima al servidor de registro exitosa.
  • Enviando solicitud de certificado.

El LML ahora está esperando que el Gestor firme el certificado.

En el gestor, valida la solicitud de firma de certificado:

  • Autenticación anónima verificación de contraseña de un solo uso exitosa.
  • Esperando la solicitud de certificado del cliente.
  • Analizador con ID=”3559090256170900” solicita registro con permiso=”idmef:w”.
    Aprueba el registro [y/n]: y
    El certificado es generado y enviado al cliente:
  • Registrando analizador “3559090256170900” con permiso “idmef:w”.
  • Generando certificado firmado para el cliente.
  • Enviando certificado del servidor al cliente.
  • ::ffff:127.0.0.1:47054 registrado exitosamente.

En el cliente verás:

Registro de LML exitoso

  • Recibiendo certificado firmado.
  • Recibiendo certificado CA.
  • registro de prelude-lml en 127.0.0.1 exitoso.

Ahora, el gestor y el sensor tienen una relación de confianza, y pueden enviarse mensajes entre sí.

Este proceso toma algo de tiempo, pero aumenta la seguridad y la comunicación entre el sensor y el gestor está cifrada.

Finalmente, el sensor LML también debería estar en funcionamiento:

/etc/init.d/prelude-lml start

Iniciando Prelude LML: prelude-lml.
ps auxw | grep lml
root 1946 0.3 0.0 20856 3424 ? Ss 14:35 0:00 /usr/bin/prelude-lml -d -q -P /var/run/prelude-lml.pid

Esto concluye la primera parte.

Share: X/Twitter LinkedIn

Recibe nuevas publicaciones en tu bandeja de entrada.

No spam. Cancela la suscripción en cualquier momento.