Se hai un server Linux, è possibile che diversi utenti accedano al sistema. Potresti voler sapere chi è connesso al tuo sistema, quando un particolare utente ha effettuato l'accesso al sistema Linux. Potresti anche voler sapere da quale indirizzo IP è stato effettuato l'accesso al tuo sistema.
Anche se non hai più utenti, probabilmente qualcuno ha provato ad accedere al tuo server Linux. Credimi, può sembrare strano, ma di questi tempi è una cosa comune per i robot provare ad accedere ai tuoi server Linux. Non mi credi? Controlla i tentativi di accesso non validi sul tuo server per vedere se qualcuno ha provato ad accedere al tuo sistema.
Lascia che ti mostri come visualizzare la cronologia degli accessi di Linux in modo da essere a conoscenza di chi sta accedendo al tuo sistema e da dove.
Visualizzazione della cronologia di accesso di Linux
Linux è molto bravo a tenere i registri di tutto ciò che accade sul tuo sistema. Naturalmente, memorizza anche i registri sui tentativi di accesso e di accesso. Le informazioni di accesso sono memorizzate in tre posizioni:
- /var/log/wtmp – Registri delle ultime sessioni di accesso
- /var/run/utmp – Registri delle sessioni di accesso correnti
- /var/log/btmp – Registri dei tentativi di accesso non validi
Vediamo queste cose in dettaglio.
1. Visualizza la cronologia di tutti gli utenti registrati
Per visualizzare la cronologia di tutti gli accessi riusciti sul tuo sistema, usa semplicemente il comando last.
last
L'output dovrebbe essere simile a questo. Come puoi vedere, elenca l'utente, l'indirizzo IP da cui l'utente ha effettuato l'accesso al sistema, la data e l'intervallo di tempo del login. pts/0 significa che è stato effettuato l'accesso al server tramite SSH.
abhi pts/0 202.91.87.115 Wed Mar 13 13:31 still logged in
root pts/0 202.91.87.115 Wed Mar 13 13:30 - 13:31 (00:00)
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
root pts/0 202.91.87.114 Mon Mar 4 13:35 - 13:47 (00:11)
wtmp begins Mon Mar 4 13:35:54 2019
L'ultima riga dell'output indica quando è stato creato il file di registro wtmp. Questo è importante perché se il file wtmp è stato eliminato di recente, l'ultimo comando non sarà in grado di mostrare la cronologia degli accessi prima di quella data.
Potresti avere un'enorme cronologia di sessioni di accesso, quindi è meglio reindirizzare l'output con meno comandi.
2. Visualizza la cronologia degli accessi di un determinato utente
Se vuoi solo vedere la cronologia degli accessi di un particolare utente, puoi specificare il nome utente con l'ultimo comando.
last <username>
Vedrai le informazioni di accesso solo dell'utente selezionato:
last servesha
servesha pts/0 125.20.97.117 Tue Mar 12 12:07 - 14:25 (02:17)
servesha pts/0 209.20.189.152 Tue Mar 5 12:32 - 12:38 (00:06)
wtmp begins Mon Mar 4 13:35:54 2019
3. Visualizza gli indirizzi IP nella cronologia degli accessi invece del nome host
Non è stato possibile vederlo nell'output precedente ma per impostazione predefinita, l'ultimo comando mostra il nome host anziché l'indirizzo IP dell'utente. Se sei su una sottorete, probabilmente vedrai solo i nomi host.
Puoi forzare la visualizzazione degli indirizzi IP degli utenti registrati in precedenza con l'opzione -i.
last -i
4. Visualizza solo gli ultimi N accessi
Se il tuo sistema ha un buon tempo di attività, forse la tua cronologia di accesso sarebbe enorme. Come accennato in precedenza, puoi utilizzare il comando less o altri comandi di visualizzazione dei file come head o tail.
L'ultimo comando ti dà la possibilità di visualizzare solo un certo numero di cronologia di accesso.
last -N
Basta sostituire N con il numero desiderato. Puoi anche combinarlo con il nome utente.
5. Visualizza tutti i tentativi di accesso non validi sul tuo server Linux
Ora arriva la parte importante:controllare i tentativi di accesso errati sul tuo server.
Puoi farlo in due modi. Puoi utilizzare l'ultimo comando con il file di registro btmp:
last -f /var/log/btmp
oppure puoi usare il comando lastb:
lastb
Entrambi questi comandi produrranno lo stesso risultato. Lastb è in realtà un collegamento all'ultimo comando con il file specificato.
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
sindesi ssh:notty 59.164.69.10 Wed Mar 13 14:34 - 14:34 (00:00)
root ssh:notty 218.92.0.158 Wed Mar 13 14:34 - 14:34 (00:00)
Gli accessi errati potrebbero essere una password errata inserita da un utente legittimo. Potrebbe anche essere un bot che tenta di forzare la tua password.
Devi analizzare qui e vedere se riconosci gli IP nel registro. Se ci sono stati troppi tentativi di accesso da un certo IP con utente root, probabilmente qualcuno sta tentando di attaccare il tuo sistema con il bruteforcing.
Dovresti distribuire Fail2Ban per proteggere il tuo server in questi casi. Fail2Ban bandirà tali IP dal tuo server, dando così al tuo server un ulteriore livello di protezione.
Conclusione
Spero che questo tutorial ti insegni a visualizzare la cronologia degli accessi in Linux e ora puoi utilizzare questa conoscenza per gestire e proteggere meglio il tuo sistema Linux.
Se ti è piaciuto questo articolo, condividilo sui social media e iscriviti alla nostra newsletter per ulteriori tutorial relativi a Linux.