Modul 1 - Ce este Splunk si de ce să îl folosim?
Modul 2 - Componentele de bază ale Splunk
Modul 3 - Modele de Implementare Splunk
Modul 4 - Instalarea și Configurarea Splunk
Modul 5 - Înțelegerea Search Processing Language (SPL) în Splunk
Modul 6 - Crearea Dashboard-urilor și Vizualizărilor în Splunk
Modul 7 - Crearea Alertelor și Rapoartelor Programate în Splunk
Modul 8 - Splunk Apps & Add-ons
Modul 9 - Managementul Utilizatorilor & Controlul Accesului în Splunk
Modul 10 - Detectarea Ransomware-ului în Splunk Utilizând Loguri Sysmon
Modul 11 - Recapitulare Finală & Proiect Practic
Quiz
Diploma de Participare
5.5 – Comenzi SPL Comune & Cazuri de Utilizare
- Filtrarea Rezultatelor (where, search)
- Utilizează where și search pentru a filtra datele din loguri pe baza unor condiții.
- Exemplu: Găsirea utilizatorilor cu peste 30 de încercări eșuate de autentificare:
- Această interogare filtrează evenimentele cu status=Failed, grupează rezultatele după câmpul user, apoi aplică o condiție care afișează doar utilizatorii cu mai mult de 30 de încercări eșuate.
- index=”test_index” source=”secure.log” status=Failed | stats count by user | where count > 30
- Exemplu: Găsirea utilizatorilor cu peste 30 de încercări eșuate de autentificare:
-
- Exemplu: Găsirea încercărilor eșuate de autentificare pe un port specific.
- index=”test_index” source=”secure.log” status=Failed | search port=1026
- Exemplu: Găsirea încercărilor eșuate de autentificare pe un port specific.
- Transformarea Datelor (stats, timechart, table)
- Folosește comenzile de transformare pentru a analiza și afișa datele eficient.
- stats – Agregare de date
- Exemplu: Numără logurile per adresă IP sursă.
- index=”test_index” source=”secure.log” status=Failed | stats count by src_ip
- Exemplu: Numără logurile per adresă IP sursă.
- stats – Agregare de date
-
- timechart – Analiză bazată pe timp
- Exemplu: Monitorizează eșecurile de autentificare în timp.
- index=”test_index” source=”secure.log” status=Failed | timechart span=1h count
- timechart – Analiză bazată pe timp
-
- table – Formatul de ieșire ca tabel
- Exemplu: Afișează încercările de autentificare cu utilizatorul și IP-ul.
- index=”test_index” source=”secure.log” status=Failed | table _time user src_ip status
- Exemplu: Afișează încercările de autentificare cu utilizatorul și IP-ul.
- table – Formatul de ieșire ca tabel
- Extracția & Modificarea Câmpurilor (eval, rex, replace)
- eval – Crearea câmpurilor noi
- Example: Categorizează autentificările eșuate ca atac de tip brute force sau nu.
- index=”test_index” source=”secure.log” | stats count by user | eval bruteforce=if(count > 50, „Yes”, „No”)
- Example: Categorizează autentificările eșuate ca atac de tip brute force sau nu.
-
- rex – Extrage câmpuri folosind Regex
- Exemplu: Extrage adresa IP din mesajele brute ale logurilor și afișează-le ca tabel.
- index=”test_index” source=”secure.log” | rex field=_raw „from (?<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})” | table _time, ip, user
- Exemplu: Extrage adresa IP din mesajele brute ale logurilor și afișează-le ca tabel.
- rex – Extrage câmpuri folosind Regex
-
- replace – Modificarea valorilor câmpurilor
-
-
- Exemplu: Convertește codurile de eroare în mesaje mai ușor de citit.
- index=”test_index”| where match(_raw, ” 500 „) | eval modified_log=replace(_raw, ” 500 „, ” Server Error „)| rex field=modified_log „^(?<ip>\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}) .* \”(?<method>\w+) (?<endpoint>[^\s]+)”| eval status=”Server Error”| table ip, method, endpoint, status
- where match(_raw, ” 500 „) → Filtrează doar logurile care conțin codul 500, asigurând că extragem doar erorile de tip Server Error.
- replace(_raw, ” 500 „, ” Server Error „) → Înlocuiește 500 cu „Server Error”.
- rex extrage:
- ip → Prima adresă IP.
- method → Metoda HTTP (GET, POST, etc.).
- endpoint → URL-ul cerut..
- eval status=”Server Error” → Adaugă un câmp nou care marchează explicit Server Error.
- table ip, method, endpoint, status → Afișează doar câmpurile extrase.
-
-
- replace – Modificarea valorilor câmpurilor