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. Recopilación de Parámetros del Script

El script utilizafunciona 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 obligatorios y opcionales. Es vital recopilar las credenciales de acceso de ambas plataformas.

A. Parámetros Obligatorios:

  • PANDORA_API_URL-u o --url: Ruta completa a la API v2 PFMS (Ej: http://127.0.0.1/pandora_console/api/v2).

  • PANDORA_TOKEN: TokenURL de la API v2 PFMS.

  • MISP_URL: URL de tu instancia MISP.

  • MISP_KEY-k o --key: Clave Authde Keyautenticación (API Key) de tuMISP.

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

B. Parámetros Opcionales (Cruciales para el control de datos):Opcionales:

(Nota: Sustituye los corchetes <...> por los valores deseados al usar el flag).

FlagParámetro Descripción PorValor por defecto
[-dt, DAYS] o [--days DAYS]tlp DefineNivel el intervalo de tiempoTLP (enTraffic días)Light deProtocol). alertasEj: atlp:red, buscar en el SIEM para exportar.tlp:amber. 30tlp:green
[-s, SEVERITY] o [--severity SEVERITY]sharing Define el nivelNivel de severidaddistribución mínimodel deevento laen alerta PFMS para exportarMISP (Ej:0=Tu soloOrg, Critical1=Comunidad, [14])2=Conectados, 3=Todos). 0 (Todas)
[-tl, TAG] o [--tag TAG]threat-level AñadeFuerza unael onivel másde etiquetasamenaza ignorando el auto-triaje (comma1=High, separated)2=Medium, MISP a los eventos creados (Ej: export_pfms,siem)3=Low). NingunaAuto-asignado
[-c, --threat THREAT]category DefineFuerza ella nivelcategoría dedel amenazaatributo (Threat Level)IP en MISP (Ej: High, Medium).MISP. UndeterminedAuto-asignado
[-g, --analysis ANALYSIS]tags DefineAñade eletiquetas estadoextra deal análisisevento (Analysisseparadas State)por en MISP (Ej: Completed)comas). UndeterminedAuto-asignado

3. Configuración de Disparadores de Alerta en Pandora FMS (Flujo SIEM)

Para que ella pluginexportación se ejecutesea automáticamente en tiempo real cuando salta una detección en el SIEM,tica, debemos configurar elComando, flujoAcción y Plantilla en las alertas de alertasPandora completoFMS enpara pasar las variables de entorno de Pandora FMS:FMS Comando,directamente Accióna ylos Plantilla.parámetros del script mediante el uso de macros.

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

Este comando define cómo Pandora FMS ejecuta el script de Python localmente.

  1. Navega a: SetupManagement -> SetupAlerts  -> Alerts -> pestaña Commands.

  2. Haz clic en Create +..

  3. Nombre: Export SIEM to MISP (o similar).

  4. Tipo: Ejecución de comando local.

  5. 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):

    Bash
    /usr/bin/python3 /usr/share/pandora_server/util/plugin/pandora_to_misp.py -u "_field1_" -k "_field2_" -a "_field3_" -n "_field4_" -d "_field5_" _field6_
    (asegúrate
    de
    usar
    rutas
    absolutas).

En(Nota: Es vital que las macros vayan entre comillas dobles para que el camposcript deprocese Argumentos, debemos definirbien los campos que se rellenarán dinámicamente o los flags opcionales. El plugin espera los 4 parámetros obligatorios en orden, seguidos de los opcionales si se desean. Usaremos macros de alerta de Pandora FMS para la severidad y la IP de origen:espacios).

Ejemplo básico de argumentos: "_apiurl_" "_apitoken_" "_mispurl_" "_mispkey_" -s "_alert_level_" -t "exported_pfms"

[INSERT_SCREENSHOT_COMMAND_CONFIG]

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

La Acción asocia el Comando con los valores reales de tus credenciales.

  1. Navega a: Setup -> Setup -> Alerts -> pestaña Actions.

  2. Haz clic en Create.

  3. Nombre: Exportar a MISP.

  4. Comando: Selecciona el comando creado en el paso anterior (Export SIEM to MISP.

  5. En los campos de configuración que aparecen abajo, introduce tus credenciales reales:

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

    • RellenaField los campos de tus credenciales reales en las macros definidas:

      • _apiurl_2: Tu URL de la API de Pandora FMS.

      • _apitoken_: Tu Token de API PFMS.

      • _mispurl_: Tu URL de MISP.

      • _mispkey_: Tu Auth Key de MISP.

    • (Opcional): Ajusta los flags en el campo de parámetros siSi quieres añadir tagsflags específicosextra para(por estaejemplo, acción.forzar etiquetas), puedes añadirlos al final del Field 2 o crear un Field 3 en el comando.

[INSERT_SCREENSHOT_ACTION_CONFIG]

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

Por último, creamos la lógica que disparará la acción cuando se cumpla una condición en el SIEM.

  1. Navega a: SIEM -> Setup -> SIEM Alert Templates.

  2. Haz clic en Create.

  3. Nombre: MISP Export on SIEMCritical Detections.

  4. Condiciones: Define lasqué condicionesalertas quieres mandar a MISP (por ejemplo, que activarán la alerta. Lo más común es filtrar por severidad osea por IDs de regla específicos.

    • Ejemplo: Severidad Critical (14) (igualmayor o mayor)igual a 10).

  5. En la pestaña Actions, asigna la acción creada anteriormente (Exportar a MISP).

  6. Guarda y habilita la plantilla y asegúrate de que esté habilitada.plantilla.

[INSERT_SCREENSHOT_TEMPLATE_CONFIG]