# 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:

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

---

<div _ngcontent-ng-c937651176="" class="code-block ng-tns-c937651176-95 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" id="bkmrk--2" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_ddbf07dadd035ece","c_b189c74db9e79413",null,"rc_f89d1917f16e0b01",null,null,"es",null,1,null,null,1,0]]"><div _ngcontent-ng-c937651176="" class="formatted-code-block-internal-container ng-tns-c937651176-95"><div _ngcontent-ng-c937651176="" class="animated-opacity ng-tns-c937651176-95"></div></div></div>#### 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&amp;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:**

<table border="1" data-path-to-node="17" id="bkmrk-par%C3%A1metro-descripci%C3%B3" style="border-collapse: collapse; border-style: solid;"><thead><tr><td>**Parámetro**</td><td>**Descripción**</td><td>**Valor por defecto**</td></tr></thead><tbody><tr><td><span data-path-to-node="17,1,0,0">`-t`, `--tlp`</span></td><td><span data-path-to-node="17,1,1,0">Nivel TLP (Traffic Light Protocol). Ej: `tlp:red`, `tlp:amber`.</span></td><td><span data-path-to-node="17,1,2,0">`tlp:green`</span></td></tr><tr><td><span data-path-to-node="17,2,0,0">`-s`, `--sharing`</span></td><td><span data-path-to-node="17,2,1,0">Nivel de distribución del evento en MISP (0=Tu Org, 1=Comunidad, 2=Conectados, 3=Todos).</span></td><td><span data-path-to-node="17,2,2,0">`0`</span></td></tr><tr><td><span data-path-to-node="17,3,0,0">`-l`, `--threat-level`</span></td><td><span data-path-to-node="17,3,1,0">Fuerza el nivel de amenaza ignorando el auto-triaje (1=High, 2=Medium, 3=Low).</span></td><td><span data-path-to-node="17,3,2,0">Auto-asignado</span></td></tr><tr><td><span data-path-to-node="17,4,0,0">`-c`, `--category`</span></td><td><span data-path-to-node="17,4,1,0">Fuerza la categoría del atributo IP en MISP.</span></td><td><span data-path-to-node="17,4,2,0">Auto-asignado</span></td></tr><tr><td><span data-path-to-node="17,5,0,0">`-g`, `--tags`</span></td><td><span data-path-to-node="17,5,1,0">Añade etiquetas extra al evento (separadas por comas).</span></td><td><span data-path-to-node="17,5,2,0">Auto-asignado</span></td></tr></tbody></table>

---

#### 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**](https://pandorafms.com/manual/!current/es/documentation/pandorafms/management_and_operation/01_alerts#lista_de_macros).

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

1. Navega a: **Management -&gt; Alerts** -&gt; **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):
    
    ```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_
    ```
    
    <p class="callout info">Es vital que las macros vayan entre comillas dobles para que el script procese bien los espacios.  
    </p>
    
    <div _ngcontent-ng-c937651176="" class="code-block ng-tns-c937651176-115 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_051e8b71b3904e30","c_b189c74db9e79413",null,"rc_6b92286177c1b648",null,null,"es",null,1,null,null,1,0]]"><div _ngcontent-ng-c937651176="" class="formatted-code-block-internal-container ng-tns-c937651176-115"><div _ngcontent-ng-c937651176="" class="animated-opacity ng-tns-c937651176-115"></div></div></div>
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:

<table border="1" id="bkmrk-1%29-field-description" style="border-collapse: collapse; width: 100%; height: 357.563px;"><colgroup><col style="width: 50%;"></col><col style="width: 50%;"></col></colgroup><tbody><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**1) Field Description**  
</td><td style="height: 29.7969px;">**1)** **Field Values**  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">MISP URL</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**2) Field Description**</td><td style="height: 29.7969px;">**2)** **Field Values**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">MISP API KEY</td><td style="height: 29.7969px;">  
</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**3) Field Description**</td><td style="height: 29.7969px;">**3)** **Field Values**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Agent Name</td><td style="height: 29.7969px;">\_agent\_</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**4) Field Description**</td><td style="height: 29.7969px;">**4)** **Field Values**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Alert Name</td><td style="height: 29.7969px;">\_alert\_name\_</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**5) Field Description**</td><td style="height: 29.7969px;">**5)** **Field Values**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Alert Description</td><td style="height: 29.7969px;">\_data\_</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">**6) Field Description**</td><td style="height: 29.7969px;">**6)** **Field Values**</td></tr><tr style="height: 29.7969px;"><td style="height: 29.7969px;">Optional Parameters</td><td style="height: 29.7969px;">  
</td></tr></tbody></table>

Ejemplo:

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/7Vhimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/7Vhimage.png)

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

1. 1. Navega a: **Management -&gt; Alerts** -&gt; **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. 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](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/QfBimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/QfBimage.png)

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/lofimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/lofimage.png)

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/Ukoimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/Ukoimage.png)

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

1. Navega a: **Management** -&gt; **Alerts** -&gt; **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:**
            
            ```bash
            -t "tlp:red" -s 1 -l 1 -c "Network activity" -g "SOC-Team, Critical-Alert"
            ```
            
            <div _ngcontent-ng-c937651176="" class="code-block ng-tns-c937651176-133 ng-animate-disabled ng-trigger ng-trigger-codeBlockRevealAnimation" jslog="223238;track:impression,attention;BardVeMetadataKey:[["r_6a70394eaa9e68f8","c_b189c74db9e79413",null,"rc_16a6fcde7058acb8",null,null,"es",null,1,null,null,1,0]]"><div _ngcontent-ng-c937651176="" class="formatted-code-block-internal-container ng-tns-c937651176-133"><div _ngcontent-ng-c937651176="" class="animated-opacity ng-tns-c937651176-133"></div></div></div>**¿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.

<p class="callout info">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.</p>

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

[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/hElimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/hElimage.png)[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/Y66image.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/Y66image.png)[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/3kzimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/3kzimage.png)[![image.png](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/scaled-1680-/pnYimage.png)](https://pandorafms.com/guides/public/uploads/images/gallery/2026-03/pnYimage.png)