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_

    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 (tomará los valores de la acción y del comando)
      • 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:

        -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.

Si optan por configurar los parámetros opcionales para sobrescribir el triaje automático, lo recomendado sería crear varios templates con diferentes valores para que se adapten al tipo de alerta que buscan disparar.

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

image.pngimage.pngimage.pngimage.png