1 05/11/2026 3 min

Su CentOS la verifica della cronologia accessi passa quasi sempre da una combinazione di fonti: i log di autenticazione tradizionali, il journal di systemd, eventuali record di auditd e, quando serve, i messaggi di sshd e sudo. Se cerchi una fotografia affidabile di chi è entrato, quando e con quale metodo, devi incrociare più segnali: un singolo file spesso non basta, soprattutto se il sistema ruota i log o se l’accesso è avvenuto tramite chiavi SSH, sudo o console locale.

La verifica corretta non è solo “aprire un file”, ma distinguere tra login riusciti, tentativi falliti, escalation di privilegi e sessioni aperte e chiuse. Su CentOS la base è quasi sempre /var/log/secure, ma in ambienti moderni conviene affiancare anche journalctl e, se presente, auditd. In questo modo ottieni una cronologia più robusta e riduci il rischio di interpretare male un evento isolato.

File e servizi da controllare per primi

Il punto di partenza dipende dalla versione e dalla configurazione, ma in un’installazione CentOS tipica i riferimenti utili sono questi:

  • /var/log/secure: autenticazione, SSH, sudo, login locali e altri eventi legati alla sicurezza.
  • /var/log/messages: messaggi di sistema utili per correlare eventi, ad esempio riavvii o problemi di servizio.
  • journalctl: vista centralizzata dei log systemd, utile se i messaggi non sono più nel file tradizionale o vuoi filtrare per unità.
  • /var/log/audit/audit.log: se auditd è attivo, contiene eventi di sicurezza molto granulari.
  • /var/log/cron: non è un log di accesso, ma può aiutare a capire attività automatizzate che coincidono con un login o con un cambio di stato del sistema.

Prima di cercare eventi specifici, verifica se i log sono presenti e se il sistema usa journal persistente. Questo evita di perdere tempo su un file che magari non viene più popolato come ti aspetti.

Verifica rapida degli accessi SSH in /var/log/secure

Se il tuo obiettivo è capire chi ha fatto login via SSH, il primo comando è quasi sempre questo:

sudo grep -iE 'sshd|Accepted|Failed|session opened|session closed' /var/log/secure

Qui cerchi soprattutto righe con Accepted publickey, Accepted password, Failed password, session opened for user e session closed for user. Una riga tipica di login riuscito può assomigliare a questa:

sshd[12345]: Accepted publickey for mario from 203.0.113.10 port 51422 ssh2: RSA SHA256:...

Da questa singola riga ottieni già tre dati utili: utente, IP sorgente e metodo di autenticazione. Se però vuoi sapere se la sessione è stata davvero aperta e chiusa correttamente, cerca anche le righe di sessione PAM correlate allo stesso utente e allo stesso intervallo temporale.

Filtrare per utente, IP o finestra temporale

Quando il volume dei log è alto, conviene restringere la ricerca. Se vuoi verificare gli accessi di un utente specifico, ad esempio mario, puoi fare così:

sudo grep -i 'mario' /var/log/secure

Se invece ti interessa un IP sospetto, ad esempio 203.0.113.10, il filtro per indirizzo è ancora più utile:

sudo grep -F '203.0.113.10' /var/log/secure

Per una finestra temporale precisa, il journal è spesso più comodo dei file testuali, perché consente filtri più puliti. Per esempio, per vedere gli eventi di SSH delle ultime due ore:

sudo journalctl -u sshd --since