Skip to main content

Configuración del Plugin

Antes de ejecutar el plugin para exportar alertas del SIEM a MISP, es necesario ubicar el script, otorgar permisos, y configurar las credenciales de acceso a las APIs de ambas plataformas.

1. Ubicación y Permisos del Script

Recomendamos alojar el script pandora_to_misp.py en el directorio estándar de plugins del servidor de Pandora FMS.

Sube el archivo al servidor y ejecuta el siguiente comando para darle permisos de ejecución:

chmod +x /usr/share/pandora_server/util/plugin/pandora_to_misp.py

2. Parámetros del Script

El script funciona mediante argumentos por línea de comandos. Incorpora un motor de auto-clasificación (Triaje) que lee el contenido de la alerta y asigna automáticamente el nivel de amenaza, etiquetas MITRE ATT&CK y categoría, aunque puedes forzar estos valores usando los parámetros opcionales.

Parámetros Obligatorios:

  • -u o --url: URL de la API de tu instancia MISP.

  • -k o --key: Clave de autenticación (API Key) de MISP.

  • -a o --agent: Nombre del Agente en el SIEM que generó la alerta.

  • -n o --alert-name: Nombre descriptivo de la alerta.

  • -d o --alert-data: Datos crudos (raw log) de la alerta. De aquí el script extraerá automáticamente la IP atacante.

Parámetros Opcionales:

Parámetro Descripción Valor por defecto
-t, --tlp Nivel TLP (Traffic Light Protocol). Ej: tlp:red, tlp:amber. tlp:green
-s, --sharing Nivel de distribución del evento en MISP (0=Tu Org, 1=Comunidad, 2=Conectados, 3=Todos). 0
-l, --threat-level Fuerza el nivel de amenaza ignorando el auto-triaje (1=High, 2=Medium, 3=Low). Auto-asignado
-c, --category Fuerza la categoría del atributo IP en MISP. Auto-asignado
-g, --tags Añade etiquetas extra al evento (separadas por comas). Auto-asignado

3. Configuración de Disparadores en Pandora FMS

Para que la exportación sea automática, debemos configurar Comando, Acción y Plantilla en las alertas de Pandora FMS para pasar las variables de entorno de Pandora FMS directamente a los parámetros del script mediante el uso de macros.

Paso 1: Crear el Comando de Alerta (Alert Command)

  1. Navega a: Management -> Alerts -> Commands

  2. Haz clic en Create +.

  3. Nombre: Export SIEM to MISP

  4. Comando: Usaremos las macros de Pandora para inyectar los datos. Copia esta estructura (asegúrate de que los valores fijos como URL y KEY los rellenaremos en la Acción):

    /usr/bin/python3 /usr/share/pandora_server/util/plugin/pandora_to_misp.py -u "_field1_" -k "_field2_" -a "_field3_" -n "_field4_" -d "_field5_" _field6_

    (Nota: Es vital que las macros vayan entre comillas dobles para que el script procese bien los espacios).

  5. Descripción: Comando que ejecuta la llamada al script pandora_to_misp.py que enviará el evento al MISP mediante API call.
  6. Field Description / Values: Aqui detallamos una descripción de cada macro y a los que corresponda les pasamos la macro que nos interesa obtener quedando de la siguiente manera:
1) Field Description
1) Field Values
MISP URL
2) Field Description 2) Field Values
MISP API KEY
3) Field Description 3) Field Values
Agent Name _agent_
4) Field Description 4) Field Values
Alert Name _alert_name_
5) Field Description 5) Field Values
Alert Description _data_
6) Field Description 6) Field Values
Optional Parameters

Ejemplo:

image.png

Paso 2: Crear la Acción de Alerta (Alert Action)

    1. Navega a: Management -> Alerts -> Actions
    2. Haz clic en Create +.

    3. Nombre: Crear Evento MISP.

    4. Comando: Selecciona Export SIEM to MISP.

En los campos de configuración que aparecen debajo, introduce tus credenciales reales:

    1. Field 1: URL de tu MISP (Ej: https://misp.midominio.com).

    2. Field 2: Tu API Key de MISP.

    3. Field 3: Queda como viene del comando
    4. Field 4: Queda como viene del comando
    5. Field 5: Queda como viene del comando
    6. Field 6 (Opcional): Si quieres añadir flags extra (por ejemplo, forzar etiquetas), puedes añadirlos al final en el field 6 como únicamente si quieres que todas las alertas que disparen esta acción tengan la misma configuración avanzada que le indiques, la configuración de ejemplo la tienes en el punto 3 (templates). Lo recomendado en este caso sería crear diferentes templates para diferentes tipos de alerta y personalizar el campo Field6 en cada template independiente y no en la acción.

image.png

image.png

image.png

Paso 3: Crear la Plantilla de Alerta (Alert Template)

  1. Navega a: Management -> Alerts -> Actions

  2. Haz clic en Create +.

  3. En la pestaña (1) General, asigna un nombre descriptivo a tu plantilla (por ejemplo, Exportar Críticos a MISP).

  4. Avanza a la pestaña (2) Conditions y configura los parámetros para evitar falsos positivos y controlar el flujo de eventos enviados a MISP:

      • Time threshold: 5 minutes.

      • Min. number of alerts: 0.

      • Max. number of alerts: 1 (Esto evita generar eventos duplicados en MISP si la alerta persiste).

      • Condition type: Selecciona Critical status (La alerta se disparará en cuanto el estado pase a crítico).

      • Default action: Despliega el menú y selecciona la acción que creaste en el paso anterior (en el ejemplo de la captura: Crear Evento MISP).

      • Reset counter for non-sustained alerts: Asegúrate de dejar esta casilla activada (marcada).

  5. Avanza a la pestaña (3) Advanced fields y asegúrate que el Alert Recovery se encuentra Disabled / Desactivado
    • Deja los Fields del 1 al 5 vacíos
    • En la caja correspondiente al Field 6, puedes inyectar los flags opcionales del script para sobreescribir el comportamiento por defecto (como el triaje automático).

      Ejemplo completo con todos los parámetros opcionales:

      Bash
      -t "tlp:red" -s 1 -l 1 -c "Network activity" -g "SOC-Team, Critical-Alert"

      ¿Qué hace este ejemplo?

      • -t "tlp:red": Etiqueta el evento con nivel TLP Rojo.

      • -s 1: Comparte el evento con la Comunidad MISP (Community).

      • -l 1: Fuerza el Threat Level a "High" (Alto).

      • -c "Network activity": Clasifica la IP extraída dentro de esa categoría en MISP. (Importante usar comillas si hay espacios).

      • -g "SOC-Team, Critical-Alert": Añade esas dos etiquetas personalizadas al evento.

Finaliza el asistente, guarda los cambios y asegúrate de que la plantilla esté habilitada.

image.png

image.png

image.png