Splunk
SPL fondamentaux
Ingestion, recherche SPL, corrélation, détection et tableaux de bord pour les opérations SOC.
Structure d'une recherche
index=windows EventCode=4625 earliest=-1h
| stats count min(_time) as first max(_time) as last by user src host
| where count >= 5
| convert ctime(first) ctime(last)
| sort - count
Commandes essentielles
| Commande | Usage |
|---|---|
fields |
garder/supprimer des champs |
rename |
normaliser un nom |
eval |
calculer et enrichir |
rex |
extraire par regex |
stats |
agréger |
eventstats |
agréger sans perdre les événements |
transaction |
regrouper, à utiliser prudemment |
streamstats |
calcul progressif |
timechart |
série temporelle |
lookup |
enrichissement |
Exemples
Top destinations
index=proxy action=allowed
| stats sum(bytes_out) as bytes count by user dest_domain
| sort - bytes
| head 20
Extraction regex
index=app "user="
| rex "user=(?<app_user>[A-Za-z0-9._-]+)"
| stats count by app_user
Détection de rareté
index=windows EventCode=4688 earliest=-7d
| stats count dc(host) as hosts values(host) as host_list by NewProcessName
| where count < 5 AND hosts <= 2
| sort count
Sous-recherche évitable
Privilégie souvent stats, lookup ou tstats aux sous-recherches volumineuses.
Conseil opérationnel
Commence par une recherche brute avec une fenêtre courte, valide les champs, puis ajoute les agrégations. Cela réduit les erreurs silencieuses.