Relazione tra journalctl e /var/log
Cos'è#
Storicamente, Linux ha sempre salvato i log in file di testo semplice dentro /var/log (gestiti da un servizio chiamato syslog o rsyslog). Con l'avvento di systemd, è stato introdotto journald, che salva i log in un database binario.
Come convivono#
Nella maggior parte delle distribuzioni (come la tua Ubuntu), i due sistemi lavorano in parallelo:
- Il Flusso:
journaldintercetta per primo tutti i messaggi del sistema. - La Consegna:
journaldtiene i log nel suo database (leggibile conjournalctl) e, contemporaneamente, ne invia una copia al vecchio serviziorsyslog. - L'Archiviazione:
rsyslogprende quei messaggi e li scrive nei classici file di testo in/var/log/syslogo/var/log/auth.log.
[DIAGRAMMA ASCII - Distribuzione dei Log]
[ Sorgente Log ] ──▶ [ journald ] ──┬──▶ [ Database Binario ] ◄── [ journalctl ]
│
└──▶ [ rsyslogd ] ──▶ [ /var/log/syslog ]
(Testo Semplice)Differenze Chiave#
| Caratteristica | journalctl (journald) | /var/log (syslog) |
|---|---|---|
| Formato | Binario (strutturato) | Testo (non strutturato) |
| Strumento | Richiede journalctl | cat, grep, tail, nano |
| Metadati | Ricchi (PID, User ID, Boot ID) | Base (Data, Host, Messaggio) |
| Persistenza | Può essere volatile (solo RAM) | Sempre su disco |
Perché è importante per Blue Team#
- Velocità: Cercare un evento specifico con
journalctlsu un database indicizzato è molto più veloce che faregrepsu gigabyte di file di testo in/var/log. - Integrità: Un attaccante può facilmente editare
/var/log/auth.logcon un editor di testo per cancellare le sue tracce. Modificare il database binario dijournaldsenza corromperlo è molto più complesso. - Ridondanza: Se un attaccante cancella i file in
/var/log, potresti ancora trovare le tracce usandojournalctl, e viceversa.
Dove l'ho incontrato#
- progetto-lab-vm — Analizzando i log di autenticazione per vedere i tentativi di accesso SSH.
Note personali#
Regola d'oro: Se cerchi log di servizi gestiti da systemd, usa
journalctl. Se cerchi log di applicazioni legacy o log storici ruotati (quelli che finiscono in.gz), guarda in/var/log.
Collegato a#
- log — categoria
- journald — il demone che genera il journal
- linux-filesystem-hierarchy — la posizione di /var/log




