Come Esportare Eventi da IBM QRadar

Come Esportare Eventi da IBM QRadar

SOC Prime Team
SOC Prime Team linkedin icon Segui

Il modo più pulito per ottenere eventi grezzi da QRadar è l’API REST di Ariel. Esegui una query AQL che seleziona UTF8(payload), attendi che la ricerca finisca e recupera i risultati come JSON. Finisci con le righe di log originali esattamente come le hanno inviate le tue fonti di log. La scheda Attività di Log può esportare anche i risultati delle ricerche, ma non in un formato che LogTotal legge oggi.

QRadar si trova al centro di molti SOC, e prima o poi qualcuno ha bisogno di una porzione dei suoi dati al di fuori della console: un partner IR, un secondo parere, un controllo rapido senza costruire una nuova regola. Prime Core ha 23.656 regole di rilevamento per QRadar, mappate su 674 tecniche MITRE ATT&CK. Di seguito è spiegato come estrarre una parte pulita di eventi grezzi, sanificarla e investigarla gratuitamente in LogTotal.

Questa guida copre QRadar SIEM, on-premises e software. Se la tua azienda era su QRadar SaaS, che IBM ha venduto a Palo Alto Networks nel 2024, potresti esserti trasferito a Cortex XSIAM da allora.

Inizia Gratis

Prima di iniziare

Un token di servizio autorizzato. Creane uno sotto Admin → Servizi Autorizzati e assegnagli una data di scadenza. Il token porta un ruolo utente e un profilo di sicurezza. Il profilo di sicurezza decide quali fonti di log e reti può vedere. Se è più ristretto del tuo, l’API restituirà silenziosamente meno eventi di quelli che ti mostra Attività di Log. Questo è il momento più comune in cui ci si chiede “dove sono finiti i miei eventi?” con le esportazioni di QRadar.

Conservazione. Gli eventi vivono finché i tuoi bucket di conservazione lo consentono (Admin → Conservazione Eventi). Se la finestra di cui hai bisogno è più vecchia, non c’è nulla da esportare.

Accesso di rete. L’API funziona sulla porta HTTPS della console. Le console usano spesso certificati autofirmati; punta curl al CA giusto con –cacert piuttosto che disattivare la verifica.

Passo 1: Scrivi la query AQL

Seleziona il payload più alcuni campi per il contesto:

SELECT DATEFORMAT(starttime, 'yyyy-MM-dd HH:mm:ss') AS event_time,
LOGSOURCENAME(logsourceid) AS log_source,
QIDNAME(qid) AS event_name,
UTF8(payload) AS payload
FROM events
WHERE LOGSOURCENAME(logsourceid) = 'web-03'
START '2026-10-19 00:00' STOP '2026-10-20 00:00'

Alcune note dall’esperienza:

  • UTF8(payload) è la parte importante. Senza di essa, il payload viene restituito come byte codificati, non come testo di log leggibile.
  • Restringilo. Filtra per nome della fonte di log, o per tipo con LOGSOURCETYPENAME(devicetype) ILIKE ‘%Linux%’, e mantieni la finestra stretta.
  • START / STOP per finestre esatte, ULTIME 24 ORE per quelle relative.
  • Testalo prima in Attività di Log → Ricerca Avanzata. È lo stesso AQL, e vedrai il conteggio degli eventi prima di esportarlo.

Gli eventi di Windows raccolti tramite WinCollect arrivano come payload di testo, non come EVTX. Ciò che esporti è quel testo.

Passo 2: Eseguilo attraverso l’API di Ariel

Salva questo come qradar_export.sh. Inizia la ricerca, la attende, e scrive un payload grezzo per linea:

#!/usr/bin/env bash
set -euo pipefail

QRADAR="https://qradar.example.com"
TOKEN="${QRADAR_TOKEN:?set QRADAR_TOKEN first}"
AQL="SELECT UTF8(payload) AS payload FROM events WHERE LOGSOURCENAME(logsourceid) = 'web-03' START '2026-10-19 00:00' STOP '2026-10-20 00:00'"

# 1. avvia la ricerca (-G mette la query nell'URL, -X POST mantiene il metodo)
SID=$(curl -sS -G -X POST -H "SEC: $TOKEN" -H "Accept: application/json"
--data-urlencode "query_expression=$AQL"
"$QRADAR/api/ariel/searches" | jq -r '.search_id')

# 2. attendi che finisca
while :; do
STATUS=$(curl -sS -H "SEC: $TOKEN" "$QRADAR/api/ariel/searches/$SID" | jq -r '.status')
[ "$STATUS" = "COMPLETED" ] && break
if [ "$STATUS" = "ERROR" ] || [ "$STATUS" = "CANCELED" ]; then echo "Search $STATUS"; exit 1; fi
sleep 5
done

# 3. recupera i risultati: payload grezzi, uno per linea
curl -sS -H "SEC: $TOKEN" -H "Accept: application/json"
"$QRADAR/api/ariel/searches/$SID/results" | jq -r '.events[].payload' > web-03_qradar_1019.log

Vuoi eventi strutturati invece, con il tempo e la fonte di log come campi? Seleziona quelle colonne nell’AQL e usa jq -c ‘.events[]’ nell’ultimo passaggio. Ottieni un oggetto JSON per linea.

Per serie di risultati molto grandi, recupera i risultati in pagine con un header di Range, ad esempio -H “Range: items=0-49999”, poi i successivi 50.000.

Passo 3: Carica, sanifica e rivedi in LogTotal

  1. Carica. Apri logtotal.com e inserisci il file.
  2. Sanifica. Controllalo prima di continuare.
  3. Rivedi. 

Quando va storto

SintomoProbabile causaFix
401 dall’APIToken non valido, scaduto o l’header SEC mancanteControlla l’header; crea un nuovo token
Meno eventi di quelli mostrati da Attività di LogIl profilo di sicurezza del token vede meno fonti di logDai al token un profilo che corrisponde all’indagine
I payload sembrano esser codici senza sensoUTF8() lasciato fuori dalla querySeleziona UTF8(payload)
Lo stato della ricerca passa a ERRORESintassi AQLProva la query prima nella Ricerca Avanzata
I risultati sono vuotiLa finestra è fuori dalla conservazione o il fuso orario è erratoControlla la conservazione; controlla il fuso orario della console
curl si lamenta del certificatoCertificato della console autogeneratoUsa –cacert con il CA della console

FAQ

Posso ottenere file EVTX da QRadar?

No. QRadar memorizza gli eventi di Windows come payload di testo. Per ottenere i veri file EVTX, esportali dall’host Windows.

E i dati sui flussi?

I flussi si trovano in una tabella separata: interroga FROM flows anziché FROM events. Sono registri di connessioni di rete, non log, e costituiscono un’analisi separata.

Unisciti alla piattaforma Detection as Code di SOC Prime per migliorare la visibilità sulle minacce più rilevanti per il tuo business. Per aiutarti a iniziare e aumentare immediatamente il valore, prenota ora un incontro con gli esperti di SOC Prime.