Come abilitare la registrazione SSH ed elencare gli accessi non riusciti in Linux

Come sappiamo, il protocollo SSH fornisce funzionalità di accesso remoto e quindi è importante mantenere i registri di accesso. L’amministratore di sistema può ottenere ciò configurando nei servizi syslogd.
In Linux, syslogd è il servizio di registrazione Unix che mantiene i registri inviati dai programmi al demone syslog, syslogd li inoltra a un’altra destinazione, come una console o un file. La destinazione è specificata nel file di configurazione syslog /etc/syslog.conf.
In questo tutorial impareremo come abilitare la registrazione ssh e controllare il comando Linux per elencare i tentativi di connessione ssh falliti.
Abilita registrazione syslog
Controlliamo prima il file di configurazione se la registrazione ssh è abilitata o meno, usa il seguente comando:
[root@localhost ~]# cat /etc/syslog.conf | grep -i ssh
# sshlog
*.* /var/log/sshd/sshd.log
Per impostazione predefinita, la registrazione ssh è abilitata, se non abilitata, allora abilitiamo la registrazione SSH, dobbiamo configurare syslog.conf aggiungendo il file /etc/syslog.conf.
*.* /var/log/sshd/sshd.log
Quando il server SSH è in esecuzione, produrrà messaggi di registro in sshd.log per descrivere ciò che sta accadendo. Questi messaggi di registro aiuteranno l’amministratore di sistema a tenere traccia dei dettagli del sistema come chi ha effettuato l’accesso e chi si è disconnesso ea risolvere il problema.
Il file /etc/ssh/sshd_config è un file di configurazione a livello di sistema per il servizio SSH aperto che consente di impostare opzioni che modificano il funzionamento del demone. Questo file di configurazione contiene coppie parola chiave-valore e una per riga, le parole chiave fanno distinzione tra maiuscole e minuscole.
SyslogFacility AUTH e AUTHPRIV
I messaggi ricevuti da syslogd vengono elaborati in base alla loro struttura, che indica l’origine del messaggio. Lo standard SyslogFacility include KERN (messaggi del kernel del sistema operativo), DAEMON (messaggi del servizio o del demone), USER (messaggi del processo utente), MAIL (messaggi del sistema di posta) e altri.
Per impostazione predefinita, la funzione per i messaggi del server SSH è AUTHPRIV. Questa scelta può essere modificata con la parola chiave SSH SyslogFacility che determina il codice della struttura syslog per la registrazione dei messaggi SSH. Altri possibili valori di SyslogFacility sono DAEMON, USER, AUTH, AUTHPRIV, LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6 e LOCAL7. Il valore predefinito è AUTHPRIV.
L’opzione SyslogFacility specifica il codice della struttura utilizzato durante la registrazione dei messaggi da sshd. La struttura specifica il sottosistema che ha prodotto il messaggio, nel nostro caso AUTH.
Normalmente, tutti i messaggi relativi all’autenticazione vengono registrati con la funzione AUTHPRIV (o AUTH). [intended to be secure and never seen by unwanted eyes]mentre i normali messaggi operativi vengono registrati con la funzione DAEMON.
Abilita Auth nel tuo file sshd_config
[root@localhost ssh]# cat sshd_config | grep -i SyslogFacility
#SyslogFacility AUTH
SyslogFacility AUTHPRIV
LogLevel
Fornisce il livello di verbosità utilizzato durante la registrazione dei messaggi da sshd. Gli altri valori possibili sono QUIET, FATAL, ERROR, INFO, VERBOSE, DEBUG, DEBUG1, DEBUG2 e DEBUG3. Il valore predefinito è INFO. DEBUG e DEBUG1 sono equivalenti. DEBUG2 e DEBUG3 specificano ciascuno livelli superiori di debug dell’output.
Se desideri registrare più informazioni, come i tentativi di accesso non riusciti, devi aumentare il livello di registrazione a VERBOSE.
Assicurati di rimuovere il commento dalle righe sottostanti per abilitare la registrazione.
[root@localhost ssh]# cat sshd_config | grep -i LogLevel
#LogLevel INFO
[root@localhost ssh]#
Ora devi riavviare il servizio ssh
Per abilitare il servizio SSH, utilizzare il comando service sshd start.
[root@localhost ~]# service sshd start
Starting sshd: [ OK ]
È possibile utilizzare il comando watch per visualizzare gli aggiornamenti dei file di registro ssh in tempo reale.
[root@localhost ~]# watch /var/log/messages
Controlla l’autenticazione ssh fallita
Puoi utilizzare uno qualsiasi dei comandi seguenti per verificare la sessione di accesso ssh non riuscita su Centos e Ubuntu.
# grep "Failed password" /var/log/auth.log
# egrep "Failed|Failure" /var/log/auth.log
Su Centos e Redhat
# egrep "Failed|Failure" /var/log/secure
# grep "authentication failure" /var/log/secure
Su Centos 7 e distribuzioni Linux più recenti utilizzando systemd
# journalctl _SYSTEMD_UNIT=sshd.service | egrep "Failed|Failure"
Se tu avessi auditd
pacchetto installato, quindi è possibile utilizzare aureport
strumento per ottenere il rapporto di autenticazione. Per ottenere un rapporto per tutti i tentativi falliti:
# aureport -au -i --failed | more
Conclusione
Esistono principalmente 3 diversi gestori di log disponibili per Linux per raccogliere e archiviare i log. L’impostazione predefinita è syslog, gli altri due sono rsyslog e Syslog-ng.
Le distribuzioni Linux più recenti utilizzano il servizio di journaling Systemd, che utilizza Journalctl per interrogare e visualizzare i log da journald.
Spero ti sia piaciuto leggere questo tutorial sulla registrazione ssh e per favore lascia i tuoi pensieri su questo tutorial nella sezione commenti qui sotto.