GNU/Linux >> Linux Esercitazione >  >> Linux

Come elencare gli accessi SSH non riusciti su Linux

"Non c'è bianco o nero, ci sono solo sfumature di grigio. Non possiamo dire se è buono o cattivo."

E a volte abbiamo bisogno di scavare nelle sfumature di grigio e cercare i problemi prima che si verifichino. Uno di questi controlli potrebbe essere una ricerca di tentativi di accesso SSH non riusciti. Fortunatamente, Ubuntu viene fornito con una soluzione abbastanza semplice ma abbastanza potente da rilevare la maggior parte dei casi in cui qualcuno lascia che si verifichino password deboli e attacchi di forza bruta.

Ogni tentativo di accesso al server SSH viene registrato in un file denominato auth.log situato in /var/log/auth.log dal demone rsyslog.

Gli amministratori possono esaminare i registri per vedere se ci sono strani traffico in entrata. Un file di registro contiene molte informazioni in testo normale ma non è facile leggere tutto l'output. Dobbiamo imparare a usare grep per cercare nel file di log e in questo esempio ci concentreremo sui tentativi falliti.

Installazione di OpenSSH

OpenSSH è un servizio che fornisce accesso remoto sicuro ai sistemi sotto forma di protocollo a livello di applicazione, include anche il programma a riga di comando scp. Accedi come utente root o passa a un utente con privilegi sudo, quindi utilizza il comando seguente per installare OpenSSH:

sudo apt-get update
sudo apt-get install openssh-server -y

Questo comando dovrebbe installare OpenSSH e le sue dipendenze. Dovresti vedere che ci sono anche altri pacchetti installati perché OpenSSH ne richiede parecchi per funzionare correttamente.

Dopo l'installazione, puoi abilitare ssh digitando il seguente comando nella finestra del terminale:

sudo systemctl enable ssh

Dovresti vedere un output simile nell'immagine qui sotto nella finestra del tuo terminale se il comando ha avuto successo:

I seguenti comandi possono essere usati per fermare SSH su macchine Ubuntu nel caso tu voglia disabilitarlo:

sudo systemctl stop ssh

Può essere riavviato eseguendo:

sudo systemctl start ssh

Per verificare se il server SSH è in esecuzione puoi utilizzare il comando seguente:

sudo systemctl status ssh

Dovresti vedere un output simile nel tuo terminale:

Nello screenshot sopra, puoi vedere che il server SSH è già in esecuzione e abilitato, il che significa che verrà eseguito all'avvio.

Come trovare tutti i tentativi di accesso SSH non riusciti

Un tentativo di accesso non riuscito potrebbe essere causato da una serie di motivi e non solo da un exploit di accesso automatico. Un tentativo di accesso fallito può verificarsi quando:

  • Un utente potrebbe digitare in modo errato la sua password.
  • Tentativo di utilizzare una password errata per accedere.
  • Il server è oggetto di un attacco di forza bruta e gli hacker stanno cercando di indovinare la password utilizzando script automatici.

Il modo più semplice per elencare tutti i tentativi di accesso SSH non riusciti è utilizzare il comando seguente:

grep "Failed password" /var/log/auth.log

Dovresti vedere un output simile nel tuo terminale:

I seguenti comandi possono essere utilizzati per visualizzare gli accessi SSH non riusciti in CentOS o RHEL in una versione leggermente modificata del comando precedente:

grep "Failed" /var/log/secure
grep "authentication failure" /var/log/secure

In alternativa, possiamo visualizzare i log utilizzando il demone Systemd con il comando journalctl:

journalctl _SYSTEMD_UNIT=ssh.service | egrep "Failed|Failure"

Per visualizzare un elenco di tutti gli indirizzi IP responsabili dei tentativi di accesso SSH falliti, con accanto il numero di tentativi, puoi utilizzare questo comando:

grep "Failed password" /var/log/auth.log | awk ‘{print $11}’ | uniq -c | sort -nr

È inevitabile che di tanto in tanto si verifichi un tentativo di accesso fallito. Tuttavia, rimane fondamentale identificare gli accessi non riusciti al tuo server. È importante identificare gli indirizzi IP che colpiscono frequentemente il tuo server SSH e intraprendere le azioni necessarie.

Conclusione

In questa guida, abbiamo spiegato come trovare tentativi di accesso SSH non riusciti su una macchina Linux. Abbiamo anche imparato un approccio diverso che prevede l'uso del comando journalctl. Ci auguriamo che questo articolo ti sia stato utile. Sentiti libero di fornire il tuo feedback o qualsiasi domanda tu possa avere nella sezione commenti.


Linux
  1. Come utilizzare il comando SS di Linux

  2. Come elencare i processi in esecuzione in Linux

  3. Come gestire ed elencare i servizi in Linux

  4. Come modificare la porta SSH in Linux

  5. Centinaia di accessi ssh falliti

Come elencare i membri di un gruppo in Linux

Come elencare gli utenti in Linux

Come creare una passphrase chiave SSH in Linux

Come elencare i dischi su Linux

Come elencare i servizi su Linux

Come eseguire l'SSH sul server tramite Linux