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.
Qui a LinuxAPT, come parte dei nostri servizi di gestione del server, aiutiamo regolarmente i nostri clienti a eseguire query Rsyslog correlate.
In questo contesto, esamineremo la configurazione del server Rsyslog su Ubuntu OS 20.04 utilizzando 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.
Come installare Rsyslog su Ubuntu 20.04 LTS Focal Fossa?
1. Esegui l'aggiornamento del sistema
Per iniziare, assicurati che tutti i tuoi pacchetti di sistema siano aggiornati eseguendo i seguenti comandi apt nel terminale:
$ sudo apt update
$ sudo apt upgrade
2. Installa Rsyslog sul sistema
Per impostazione predefinita, Rsyslog è ora disponibile nel repository di base di Ubuntu. Ora eseguiamo il seguente comando di seguito per installare il pacchetto del server Rsyslog sul tuo sistema:
$ sudo apt install rsyslog
Al termine dell'installazione, avvia e abilita il servizio Rsyslog:
$ sudo systemctl start rsyslog
$ sudo systemctl enable rsyslog
$ sudo systemctl status rsyslog
Per verificare l'installazione di Rsyslog e per visualizzare lo stato del suo servizio, eseguire il comando seguente:
$ sudo systemctl status rsyslog
Come configurare il server Rsyslog su Ubuntu?
1. Configura Rsyslog
Ora che Rsyslog è installato e in esecuzione, lo configureremo come server di registrazione.
Modifica il file di configurazione di 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")
Quindi creeremo un modello che verrà utilizzato da Rsyslog per archiviare i messaggi syslog in arrivo. Per fare ciò, aggiungi le seguenti righe nel file di configurazione di 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
2. Configura 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
Come configurare il 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.201 con l'indirizzo IP del tuo server di registrazione Rsyslog:
#Send system logs to rsyslog server over RDP
*.* @192.168.72.201:514
#Send system logs to rsyslog server over TCP
*.* @@192.168.72.201: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
Salva e chiudi il file di configurazione di Rsyslog.
Ora esegui il comando seguente per riavviare il servizio di Rsyslog:
$ sudo systemctl restart rsyslog
Come visualizzare 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. Sulla tua macchina 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.
Per visualizzare i file di registro della macchina client, elencare il contenuto di questa directory:
$ sudo ls /var/log/directory