Chi, quando e da dove? Le buone pratiche di sicurezza dicono che dovresti sapere chi ha avuto accesso al tuo computer Linux. Ti mostriamo come.
Il file wtmp
Linux e altri sistemi operativi simili a Unix, come macOS, sono molto bravi ad accedere. Da qualche parte nelle viscere del sistema, c'è un registro di quasi tutto ciò a cui puoi pensare. Il file di log che ci interessa si chiama wtmp
. Il “w” podría significar “cuándo” oh “chi”, nessuno sembra essere d'accordo. La parte “tmp” probablemente significa “temporale”, pero además podría significar “marca de tiempo”.
Quello che sappiamo è che wtmp
è un registro che cattura e registra tutti gli eventi di accesso e disconnessione. Rivedere i dati nel wtmp
log è un passaggio fondamentale per adottare un approccio basato sulla sicurezza alle attività di amministrazione del sistema. Per un tipico computer di famiglia, potrebbe non essere così critico dal punto di vista della sicurezza, ma è interessante poter recensire l'uso combinato del computer.
A differenza di molti dei file di registro basati su testo in Linux, wtmp
è un file binario. Per inserire i dati che contiene, abbiamo bisogno di usare uno strumento progettato per quel compito.
Quello strumento è il last
comando.
L'ultimo comando
il last
il comando legge i dati da wtmp
log e lo visualizza in una finestra di terminale.
Se scrivi last
e premi Invio mostra tutti i record dal file di registro.
Ultimo
Ogni record di wtmp
viene visualizzato nella finestra del terminale.
Da sinistra a destra, ogni riga contiene:
- il Nome utente della persona che ha effettuato l'accesso.
- il terminale erano collegati. Un ingresso terminale di
:0
significa che hanno effettuato l'accesso al computer Linux stesso. - il indirizzo IP della macchina a cui erano collegati.
- il accesso data e ora.
- il durata della sessione.
L'ultima riga ci dice la data e l'ora della prima sessione registrata nel registro.
Una voce di accesso per l'utente fittizio "reboot"’ viene inserito nel registro ogni volta che si avvia il computer. Il campo terminale viene sostituito con la versione del kernel. La durata della sessione di accesso per queste voci rappresenta il tempo di attività del computer.
Mostra un numero specifico di righe
Usando il last
Il comando da solo produce un dump dell'intero registro con la maggior parte di esso che passa attraverso la finestra del terminale. La parte che rimane visibile è il primo dato del record. Questo probabilmente non è quello che volevi vedere.
Si può dire last
per darti un numero specifico di linee di output. Fallo fornendo il numero di righe che desideri sulla riga di comando. Nota lo script. Per vedere cinque righe, deve scrivere -5
e no 5
:
Ultimo -5
Questo dà le prime cinque righe del record, quali sono i dati più recenti?.
Mostra i nomi di rete per gli utenti remoti
il -d
L'opzione (Domain Name System) indica last
per tentare di risolvere i problemi relativi agli indirizzi IP degli utenti remoti su un nome host o una rete.
ultimo -d
Non è sempre fattibile per last
per convertire l'indirizzo IP in un nome di rete, ma il comando lo farà quando possibile.
Nascondi indirizzi IP e nomi di rete
Se non sei interessato all'indirizzo IP o al nome della rete, Utilizzare il -R
(nessun nome host) per sopprimere questo campo.
Perché questo dà un risultato più ordinato senza involucri antiestetici, questa opzione è stata utilizzata in tutti i seguenti esempi. Se stavi usando last
per cercare di identificare attività insolite o sospette, dovrebbe no cancella questo campo.
Scegli i record per data
Puoi usare il -s
(a partire dal) per limitare l'output per mostrare solo gli eventi di accesso che si sono verificati da una data specifica.
Se volevi solo vedere gli eventi di accesso che si sono verificati a partire da 26 Maggio 2019, Userei il seguente comando:
ultimo -R -s 2019-05-26
L'output mostra i log con gli eventi di accesso che si sono verificati dal momento in cui 00:00 del giorno specificato, fino ai record più recenti nel file di registro.
Ricerca di una data di fine
Puoi usare il -t
(fino a) per specificare una data di fine. Ciò consente di scegliere una serie di record di accesso che si sono verificati tra due date di interesse.
Questo comando chiede last
per recuperare e visualizzare i record di accesso dal 00:00 (Alba) della giornata 26 fino a 00:00 (Alba) della giornata 27. Questo riduce l'elenco alle sessioni di accesso che hanno avuto luogo solo il giorno 26.
Formati di data e ora
Puoi utilizzare sia gli orari che le date con il -s
e -t
opzioni.
I diversi formati di ora utilizzabili con il last
Le alternative che utilizzano date e orari sono (presumibilmente):
- AAAAMMDDhhmmss
- AAAA-MM-GG hh: mm: ss
- AAAA-MM-GG hh: mm – i secondi sono impostati su 00
- AAAA-MM-GG: l'ora è impostata su 00:00:00
- hh: mm: ss – la data è fissata a oggi
- hh: mm: la data sarà fissata a oggi, i secondi in 00
- Ora
- Ieri – l'ora è impostata su 00:00:00
- oggi – l'ora è impostata su 00:00:00
- mattina – l'ora è impostata su 00:00:00
- + 5min
- -5 giorni
Perché "presumibilmente"?
Il secondo e il terzo formato dell'elenco non hanno funzionato durante la ricerca per questo post. Questi comandi sono stati testati su distribuzioni Ubuntu, Fedora e Manjaro. Questi sono derivati dalle distribuzioni Debian, RedHat e Arch, rispettivamente. Che copre tutte le principali famiglie di distribuzione Linux.
ultimo -R -s 2019-05-26 11:00 -T 2019-05-27 13:00
Come potete vedere, il comando non ha restituito alcun record.
Usa il primo formato datetime nell'elenco con lo stesso datetime del comando precedente restituisce i record:
ultimo -R -s 20190526110000 -T 20190527130000
Ricerca per unità relative
Specifica inoltre periodi di tempo misurati in minuti o giorni., in relazione alla data e all'ora correnti. Qui stiamo richiedendo record da due giorni fa a un giorno fa.
ultimo -R -s -2giorni -t -1giorni
Ieri, oggi e adesso
Puoi usare yesterday
e tomorrow
come abbreviazione per la data di ieri e la data di oggi.
last -R -s ieri -t oggi
Non che questo non includa alcun record per oggi. Questo è il comportamento previsto. Il comando richiede record dalla data di inizio. fino a la data di fine. Non è così includere record entro la data di fine.
il now
La opción es la abreviatura de “hoy a la hora actual”. Per visualizzare gli eventi di accesso che si sono verificati dal 00:00 (Alba) fino al momento in cui dai il comando, usa questo comando:
ultimo -R -s oggi -t adesso
Questo mostrerà tutti gli eventi di accesso fino all'ora corrente, compresi quelli che sono ancora connessi.
L'opzione attuale
il -p
L'opzione (presente) ti consente di scoprire chi ha effettuato l'accesso in un momento specifico.
Non importa quando hanno effettuato l'accesso o se ne sono andati, ma se hanno effettuato l'accesso al computer nel momento specificato, sarà incluso nella lista.
Se specifichi un'ora non datata last
asume que te refieres a “oggi”.
ultimo -R -p 09:30
Persone che sono ancora connesse (evidentemente) non hanno tempo per disconnettersi; sono descritti come still logged in
. Se il computer non si è riavviato dall'ora specificata, apparirà come still running
.
Se usi il now
stenografia con -p
(presente) opzione, puoi scoprire chi è online nel momento in cui dai il comando.
ultimo -R -p ora
Questa è una strada un po' lunga per ottenere ciò che si può ottenere usando il who
comando.
IMPARENTATO: Come determinare l'account utente corrente in Linux
L'ultimo comando
il lastb
comando merita menzione. Leggere i dati da un record chiamato btmp
. C'è un po' più di consenso su questo nome di registro. Laboratorio’ significa cattivo, ma la "parte tmp"’ è ancora in discussione.
lastb
elenca i cattivifallito) tentativi di accesso. Accetta le stesse opzioni di last
. Perché sono stati tentativi di accesso falliti, tutte le voci avranno un'estensione di 00:00.
Devi usare sudo
insieme a lastb
.
sudo lastb -R
L'ultima parola sulla questione
Scopri chi ha effettuato l'accesso al tuo computer Linux, e quando e dove vengono fornite informazioni utili. La combinazione di questo con i dettagli dei tentativi di accesso non riusciti fornisce i primi passi per indagare su comportamenti sospetti..
impostaTimeout(funzione(){
!funzione(F,B,e,v,n,T,S)
{Se(f.fbq)Restituzione;n=f.fbq=funzione(){n.callMethod?
n.callMethod.apply(n,argomenti):n.queue.push(argomenti)};
Se(!f._fbq)f._fbq = n;n.push=n;n.loaded=!0;n.version='2.0′;
n.coda=[];t=b.createElement(e);t.async=!0;
t.src=v;s=b.getElementsByTagName(e)[0];
s.parentNode.insertBefore(T,S) } (window, documento,'copione',
'https://connect.facebook.net/en_US/fbevents.js');
fbq('dentro', '335401813750447');
fbq('traccia', 'Visualizzazione della pagina');
},3000);