Oggi troviamo diversi modi per connetterci in sicurezza ai nostri server per eseguire attività di manutenzione e supporto o per verificare lo stato degli stessi. Poiché non possiamo essere sempre direttamente nella posizione fisica di questo il modo più pratico e comune per accedere al server, è possibile in remoto tramite il protocollo SSH.
SSH (Secure SHell) è stato sviluppato come un protocollo che consente di stabilire connessioni tra due sistemi basati sull'architettura client / server, facilitando che come amministratori o utenti possiamo connetterci in remoto al server o al computer, uno dei vantaggi più notevoli di SSH è che È responsabile della crittografia della sessione di connessione per aumentare la sicurezza impedendo agli aggressori di accedere a password non crittografate.
Ora, ogni login o tentativo di accesso al server tramite SSH viene registrato e archiviato in un file di registro dal demone rsyslog su Linux in modo che sia possibile accedervi e convalidare in dettaglio chi, quando e lo stato di avvio della sessione consentendo un compito di audit e controllo molto più completo.
Solvetic ti spiegherà in questo tutorial come visualizzare questo file e determinare chi ha provato o ha effettuato l'accesso al computer.
1. Installa SSH su Linux
Per questo esempio abbiamo utilizzato Ubuntu 19 e CentOS 8, ricorda che quando accedi tramite SSH possiamo lavorare in modo completo sul computer:
INGRANDIRE
Installa SSH su CentOS 8Se vuoi installare SSH in CentOS 8 devi eseguire quanto segue:
yum -y install openssh-server openssh-clients
INGRANDIRE
Installa SSH su UbuntuSe vuoi farlo in Ubuntu 19 devi eseguire quanto segue:
sudo apt install openssh-server
2. Usa il comando grep per visualizzare gli accessi non riusciti su Linux
Passo 1
Il modo più semplice per determinare e visualizzare i tentativi di accesso è eseguire quanto segue:
grep "Password non riuscita" /var/log/auth.log
Passo 2
Possiamo vedere dettagli come:
- Utente che tenta di accedere
- indirizzo IP
- Porta utilizzata per il tentativo di accesso
Passaggio 3
Troviamo questo stesso risultato con il comando cat:
cat /var/log/auth.log | grep "Password non riuscita"
Passaggio 4
Nel caso in cui desideri ottenere ulteriori informazioni sugli accessi SSH non riusciti in Linux, dobbiamo eseguire quanto segue. Come vediamo i dettagli sono molto più completi.
egrep "Fallito | Errore" /var/log/auth.log
Visualizza i log in RHEL o CentOS 8Nel caso di RHEL o CentOS 8, tutti i log sono ospitati nel file /var/log/secure, per la loro visualizzazione eseguiremo quanto segue:
egrep "Failed | Failure" / var / log / secure
INGRANDIRE
Vediamo che i registri vengono conservati con tutti i dettagli, inclusi i nomi delle sessioni registrate (corretti o meno). Un'altra opzione per visualizzare gli accessi SSH non riusciti in CentOS consiste nell'utilizzare una delle seguenti righe:
grep "Failed" / var / log / secure grep "fallimento di autenticazione" / var / log / secure
INGRANDIRE
Passaggio 5
Per visualizzare l'elenco degli indirizzi IP che hanno tentato di accedere, ma senza successo, dobbiamo utilizzare il seguente comando:
grep "Password non riuscita" /var/log/auth.log | awk '{print $ 11}' | uniq -c | sort -nrPassaggio 6
Nelle più recenti distribuzioni Linux (come Ubuntu 19), è possibile accedere al file di log di runtime che Systemd gestisce con il comando journalctl, se vogliamo vedere i log di accesso SSH falliti, useremo il comando grep per filtrare il risultati come questo:
journalctl _SYSTEMD_UNIT = ssh.service | egrep "Fallito | Errore" (Ubuntu) journalctl _SYSTEMD_UNIT = sshd.service | egrep "Fallito | Fallimento" (RHEL, CentOS)
Su CentOSIn CentOS possiamo anche utilizzare quanto segue:
journalctl _SYSTEMD_UNIT = sshd.service | grep "fallimento" journalctl _SYSTEMD_UNIT = sshd.service | grep "Fallito"
Possiamo vedere come visualizzare ogni tentativo di accesso SSH fallito e in base a ciò adottare le misure di sicurezza pertinenti per preservare la disponibilità dei servizi.