Cosa fa#
Interroga e visualizza i log gestiti da systemd-journald. È lo strumento standard per l'analisi dei log di sistema, dei servizi e del kernel nelle distribuzioni Linux moderne.
Relazione Logica#
journalctl è il compagno naturale di systemctl: uno gestisce lo stato dei servizi, l'altro ne analizza lo storico e le anomalie.
[systemctl] ──── gestisce ────► [servizio]
│
│ scrive log
▼
[journalctl] ◄─── legge ────── [systemd journal]
│
│ filtri
▼
[grep] ◄──────── output di journalctlSintassi#
journalctl [opzioni]
Comandi essenziali#
| Comando | Cosa fa | Note Blue Team |
|---|---|---|
journalctl -f | Log in tempo reale (follow) | Come tail -f, fondamentale per il monitoraggio live. |
journalctl -u ssh | Log di un servizio specifico | Isola l'attività di un demone (es. SSH). |
journalctl -n 50 | Ultime 50 righe | Analisi rapida degli ultimi eventi. |
journalctl -p err | Filtra per priorità | Mostra solo errori (esclude info/debug). |
journalctl -b | Log dal boot corrente | Esclude i log delle sessioni precedenti. |
journalctl -b -1 | Log dal boot precedente | Utile per investigare crash di sistema. |
Filtri Temporali#
| Opzione | Esempio |
|---|---|
--since "1 hour ago" | Log dell'ultima ora. |
--since today | Log dalla mezzanotte corrente. |
--since "2026-03-02" | Log da una data specifica. |
Combinazioni utili (Incident Response)#
# Investigazione Brute Force: Cerca login falliti nell'ultima ora
journalctl -u ssh --since "1 hour ago" | grep "Failed"
# Detection Live: Monitora errori o accessi negati in tempo reale
journalctl -f | grep -i "error\|failed\|denied"
# Metriche rapide: Quanti errori registrati oggi?
journalctl --since today -p err | wc -l
# Debug post-restart: Verifica lo stato di un agent di sicurezza (es. Wazuh)
journalctl -u wazuh-agent --since "5 minutes ago"Scenario Reale#
Un servizio critico è andato in stato failed. Dopo aver controllato con systemctl status, l'analista usa journalctl -u servizio -n 100 per leggere le ultime righe di errore e identificare se il problema è legato a permessi negati (Permission denied) o configurazioni errate, accelerando i tempi di ripristino.
Dove l'ho usato#
- systemctl — usato insieme per gestire e leggere i log dei servizi durante il setup del laboratorio.
Note personali#
Analyst Tip: La combo
journalctl -fè il tuo miglior alleato. Tieni sempre un terminale aperto con questo comando durante i test: osservare i log in tempo reale ti permette di capire immediatamente se un'azione (tua o di un attaccante) sta scatenando errori di sistema.


