Skip to main content
  1. Concetti/

Journalctl Vs Var Log

·2 mins
Alessio Barnini
Author
Alessio Barnini
Table of Contents

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:

  1. Il Flusso: journald intercetta per primo tutti i messaggi del sistema.
  2. La Consegna: journald tiene i log nel suo database (leggibile con journalctl) e, contemporaneamente, ne invia una copia al vecchio servizio rsyslog.
  3. L'Archiviazione: rsyslog prende quei messaggi e li scrive nei classici file di testo in /var/log/syslog o /var/log/auth.log.

[DIAGRAMMA ASCII - Distribuzione dei Log]

 [ Sorgente Log ] ──▶ [ journald ] ──┬──▶ [ Database Binario ] ◄── [ journalctl ]
                                     
                                     └──▶ [ rsyslogd ] ──▶ [ /var/log/syslog ]
                                                               (Testo Semplice)

Differenze Chiave
#

Caratteristicajournalctl (journald)/var/log (syslog)
FormatoBinario (strutturato)Testo (non strutturato)
StrumentoRichiede journalctlcat, grep, tail, nano
MetadatiRicchi (PID, User ID, Boot ID)Base (Data, Host, Messaggio)
PersistenzaPuò essere volatile (solo RAM)Sempre su disco

Perché è importante per Blue Team
#

  • Velocità: Cercare un evento specifico con journalctl su un database indicizzato è molto più veloce che fare grep su gigabyte di file di testo in /var/log.
  • Integrità: Un attaccante può facilmente editare /var/log/auth.log con un editor di testo per cancellare le sue tracce. Modificare il database binario di journald senza corromperlo è molto più complesso.
  • Ridondanza: Se un attaccante cancella i file in /var/log, potresti ancora trovare le tracce usando journalctl, 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
#

Related