Cómo Exportar Registros de FortiSIEM

Cómo Exportar Registros de FortiSIEM

SOC Prime Team
SOC Prime Team linkedin icon Seguir

Utiliza la API de consulta de eventos REST de FortiSIEM. Publica una consulta XML en /phoenix/rest/query/eventQuery, lo que devuelve un ID de consulta, verifica el progreso hasta que alcance 100, y luego recupera los eventos. Los resultados se devuelven como XML. La línea de registro original de cada evento está en el atributo rawEventMsg, por lo que unas pocas líneas de Python convierten el resultado en registros sin procesar. Las exportaciones de la pantalla de Analytics aparecen en formatos que LogTotal no lee hoy. 

FortiSIEM es común dondequiera que Fortinet administre la red, y a menudo contiene mucho más que registros de firewall. Prime Core tiene 19,692 reglas de detección para FortiSIEM, mapeadas a 664 técnicas de MITRE ATT&CK. A continuación se muestra cómo extraer eventos, sanitizarlos e investigarlos gratis en LogTotal.

Empieza gratis

Antes de empezar

Un usuario de API. Utiliza una cuenta con permisos para ejecutar consultas analíticas. La API se autentica con autenticación básica, con la organización en el nombre de usuario: super/<usuario> en una instalación empresarial, <org>/<usuario> para una organización específica en una instalación de proveedor de servicios.

Retención. El almacenamiento de eventos en línea es limitado. Los eventos más antiguos pueden estar en el almacenamiento de archivo que necesita pasos adicionales. 

Nombres de atributos. Las consultas FortiSIEM utilizan sus propios nombres de atributos, como reptDevName (dispositivo reportante), reptDevIpAddr, eventType y phRecvTime. Construye el filtro primero en Analytics.

Exportar con la API de consulta de eventos

Guarda la consulta como query.xml:

<?xml version=»1.0″ encoding=»UTF-8″?>
<Reports><Report><Name>Exportación LogTotal</Name><Description/>
  <SelectClause><AttrList>phRecvTime,reptDevIpAddr,eventType,rawEventMsg</AttrList></SelectClause>
  <ReportInterval><Low>1792368000</Low><High>1792454400</High></ReportInterval>
  <PatternClause><SubPattern id=»1″ name=»Filter»>
    <SingleEvtConstr>reptDevName = «web-03″</SingleEvtConstr>
  </SubPattern></PatternClause>
</Report></Reports>

El intervalo es en segundos epoch para 2026-10-19 00:00 UTC a 2026-10-20 00:00 UTC. Luego ejecútalo:

FSM=»https://fortisiem.example.com»
AUTH=»super/apiuser:$FSM_PASS»

QID=$(curl -sS -u «$AUTH» -X POST -H ‘Content-Type: text/xml’ –data @query.xml «$FSM/phoenix/rest/query/eventQuery»)
until [ «$(curl -sS -u «$AUTH» «$FSM/phoenix/rest/query/progress/$QID»)» = «100» ]; do sleep 5; done
curl -sS -u «$AUTH» «$FSM/phoenix/rest/query/events/$QID/0/1000» > fsm_web03_1019.xml

Los dos últimos segmentos de ruta son el desplazamiento de inicio y el conteo. Recorre resultados grandes en pasos de 1,000. Luego extrae los mensajes sin procesar:

import xml.etree.ElementTree as ET

root = ET.parse(«fsm_web03_1019.xml»).getroot()
with open(«fsm_web03_1019.log», «w») as out:
    for attr in root.iter(«attribute»):
        if attr.get(«name») == «rawEventMsg» and attr.text:
            out.write(attr.text.strip() + «n»)

Subir, sanitizar y revisar en LogTotal

  1. Subir. Abre logtotal.com y carga el archivo.
  2. Sanitizar.
  3. Revisar.

Cómo se ve esto con datos reales. 

Cuando algo sale mal

SíntomaCausa probableFix
401Organización ausente en el nombre de usuarioUsa super/<usuario> o <org>/<usuario>
La consulta devuelve un error en lugar de un IDSintaxis XML o un nombre de atributo desconocidoPrueba el filtro en Analytics; verifica los nombres de los atributos
El progreso nunca llega a 100Consulta demasiado ampliaReduce el rango temporal y el filtro
rawEventMsg vacíoEl atributo no fue seleccionadoAgrega rawEventMsg a AttrList
Eventos antiguos faltantesEstán en almacenamiento de archivoVerifica las opciones de archivo

FAQ

¿Por qué XML?

Eso es lo que habla esta API de FortiSIEM. El paso en Python lo convierte a las líneas sin procesar originales, que generalmente es lo que quieres subir de todos modos.

¿Puedo exportar incidentes en lugar de eventos?

Los incidentes tienen sus propias llamadas API. Para LogTotal, exporta los eventos detrás de ellos.

Únete a la plataforma Detection as Code de SOC Prime para mejorar la visibilidad de las amenazas más relevantes para tu negocio. Para ayudarte a comenzar y obtener valor inmediato, programa una reunión ahora con los expertos de SOC Prime.