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.
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
- Carica. Apri logtotal.com e inserisci il file.
- Sanifica. Controllalo prima di continuare.
- Rivedi.
Quando va storto
| Sintomo | Probabile causa | Fix |
|---|---|---|
| 401 dall’API | Token non valido, scaduto o l’header SEC mancante | Controlla l’header; crea un nuovo token |
| Meno eventi di quelli mostrati da Attività di Log | Il profilo di sicurezza del token vede meno fonti di log | Dai al token un profilo che corrisponde all’indagine |
| I payload sembrano esser codici senza senso | UTF8() lasciato fuori dalla query | Seleziona UTF8(payload) |
| Lo stato della ricerca passa a ERRORE | Sintassi AQL | Prova la query prima nella Ricerca Avanzata |
| I risultati sono vuoti | La finestra è fuori dalla conservazione o il fuso orario è errato | Controlla la conservazione; controlla il fuso orario della console |
| curl si lamenta del certificato | Certificato della console autogenerato | Usa –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.