I file di registro sono i file che conservano le informazioni sulle attività del sistema come autorizzazione e tentativi di accesso, tentativi di avvio e arresto, avvio e arresto del servizio, ecc. Esistono diversi file di registro per diversi tipi di attività. I file di registro facilitano la risoluzione dei problemi e il monitoraggio delle attività del sistema. Rsyslog è un programma open source per il sistema operativo Linux che può essere configurato sia come server di registrazione che come client.
Nella guida di oggi, configureremo il server Rsyslog sul sistema operativo Ubuntu. Useremo due macchine Ubuntu. Su una macchina Ubuntu, configureremo Rsyslog come server di registrazione e sull'altra macchina; configureremo Rsyslog come client che invierà i log al server Rsyslog.
Configurazione del server Rsyslog su Ubuntu
Configureremo Rsyslog su una delle nostre macchine Ubuntu che vogliamo usare come server di registrazione. Rsyslog viene preinstallato sul server Ubuntu. Tuttavia, nel caso in cui mancasse per qualsiasi motivo, puoi installarlo eseguendo questo comando:
$ sudo apt install rsyslog
Durante l'installazione, ti verrà chiesto con il s/n opzione per procedere con l'installazione di Rsyslog. Premi y e poi Invio per procedere.
Per verificare l'installazione di Rsyslog e per visualizzare lo stato del suo servizio, eseguire il comando seguente:
$ sudo systemctl status rsyslog
Se il servizio è attivo e funzionante, vedrai l'output come mostrato nella schermata seguente.
Ora che Rsyslog è installato e in esecuzione, lo configureremo come server di registrazione.
Modifica il file di configurazione Rsyslog etc/rsyslog.conf:
$ sudo nano /etc/rsyslog.conf
Aggiungi le righe seguenti nel file di configurazione di Rsyslog:
# Receive syslog over UDP module(load="imudp") input(type="imudp" port="514") # Receive syslog over TCP module(load="imtcp") input(type="imtcp" port="514")
Di seguito è riportato lo screenshot di come dovrebbe apparire la configurazione del server di registrazione Rsyslog:
Quindi creeremo un modello che verrà utilizzato da Rsyslog per archiviare i messaggi syslog in arrivo. A tale scopo, aggiungi le righe seguenti nel file di configurazione Rsyslog prima della sezione DIRETTIVE GLOBALI:
$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?remote-incoming-logs
Quindi salva e chiudi il file di configurazione.
Ora esegui il comando seguente per riavviare il servizio di Rsyslog:
$ sudo systemctl restart rsyslog
Puoi anche verificare se Rsyslog è in ascolto sulla porta TCP/UDP 514 utilizzando il comando seguente:
$ sudo ss -tunlp | grep 514
Dovresti ricevere il seguente output:
Configurazione del firewall
Se il tuo sistema ha il firewall abilitato, dovrai aprire la porta TCP/UDP 514. Questa porta viene utilizzata dal server Rsyslog per ricevere i log dal client remoto. Esegui questi comandi per aprire la porta TCP/UDP 514 nel firewall di Ubuntu.
$ sudo ufw allow 514/tcp
$ sudo ufw allow 514/udp
Quindi ricarica il firewall:
$ sudo ufw reload
Configurazione del client Rsyslog su Ubuntu
Ora sull'altro sistema Ubuntu, eseguiremo la configurazione per il client Rsyslog. Questo client invierà quindi i suoi registri al server di registrazione Rsyslog.
Sulla macchina Ubuntu che vuoi configurare come client Rsyslog, installa prima Rsyslog (se non è già installato):
$ sudo apt install rsyslog
Quindi modifica il file di configurazione di Rsyslog usando questo comando:
$ sudo nano /etc/rsyslog.conf
Aggiungi le righe seguenti alla fine del file di configurazione di Rsyslog. Assicurati di sostituire 192.168.72.204 con l'indirizzo IP del server di registrazione Rsyslog.
#Send system logs to rsyslog server over RDP *.* @192.168.72.204:514 #Send system logs to rsyslog server over TCP *.* @@192.168.72.204:514 ##Set disk queue to preserve your logs in case rsyslog server is experiencing any downtime
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Di seguito è riportato lo screenshot di come dovrebbe apparire la configurazione del client Rsyslog:
Salva e chiudi il file di configurazione di Rsyslog.
Ora esegui il comando seguente per riavviare il servizio di Rsyslog:
$ sudo systemctl restart rsyslog
Visualizza i file di registro del Cliente in Rsyslog Server
Una volta terminate tutte le configurazioni sopra descritte, è possibile visualizzare i file di registro inviati dai client al server Rsyslog. Sul tuo computer server Rsyslog, esegui il comando seguente nel Terminale:
$ ls /var/log/
Nell'output del comando precedente, vedrai una directory denominata come il nome host del tuo sistema client (ubuntu2 nel nostro esempio).
Per visualizzare i file di registro della macchina client, elencare il contenuto di questa directory:
$ sudo ls /var/log/ubuntu2
Questo è tutto ciò che c'è da fare! In questa guida, abbiamo spiegato come configurare Rsyslog su Ubuntu OS sia come server di registrazione che come client per inviare i log al server Rsyslog. Abbiamo anche spiegato come visualizzare i registri inviati dai client al server di registrazione.