Come configurare il server Rsyslog su Debian 11
Questo tutorial esiste per queste versioni del sistema operativo
- Debian 11 (Bullseye)
- Debian 9 (Stretch)
Su questa pagina
- Prerequisiti
- Installa Rsyslog
- Configura Rsyslog
- Configura il firewall per Rsyslog
- Configura il client Rsyslog
- Verifica il file di registro dei clienti
- Conclusione
Rsyslog è un software di registrazione gratuito e open source che inoltra tutti i file di registro al server di registro centralizzato attraverso la rete IP. Aiuta gli amministratori di sistema a tenere d'occhio tutti i server dal punto centrale. Rsyslog funziona in un modello client/server, riceve i log dal client remoto sulla porta 514 tramite il protocollo TCP/UDP.
In questo post, ti mostreremo come configurare il server Rsyslog su Debian 11.
Prerequisiti
- Due server che eseguono Debian 11.
- Sul server è configurata una password di root.
Installa Rsyslog
Innanzitutto, dovrai installare il pacchetto server Rsyslog sulla macchina server. Puoi installarlo usando il seguente comando:
apt-get install rsyslog -y
Dopo l'installazione, verificare lo stato di Rsyslog utilizzando il seguente comando:
systemctl status rsyslog
Dovresti vedere il seguente output:
? rsyslog.service - System Logging Service Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled) Active: active (running) since Sun 2021-10-03 13:35:32 UTC; 1h 44min ago TriggeredBy: ? syslog.socket Docs: man:rsyslogd(8) man:rsyslog.conf(5) https://www.rsyslog.com/doc/ Main PID: 283 (rsyslogd) Tasks: 4 (limit: 2341) Memory: 5.0M CPU: 90ms CGroup: /system.slice/rsyslog.service ??283 /usr/sbin/rsyslogd -n -iNONE Oct 03 13:35:32 debian11 systemd[1]: Starting System Logging Service... Oct 03 13:35:32 debian11 rsyslogd[283]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd. [v8.2102.0] Oct 03 13:35:32 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] start Oct 03 13:35:32 debian11 systemd[1]: Started System Logging Service. Oct 03 13:35:34 debian11 systemd[1]: rsyslog.service: Sent signal SIGHUP to main process 283 (rsyslogd) on client request. Oct 03 13:45:33 debian11 rsyslogd[283]: [origin software="rsyslogd" swVersion="8.2102.0" x-pid="283" x-info="https://www.rsyslog.com"] rsyslog>
Configura Rsyslog
Successivamente, dovrai configurare Rsyslog per l'esecuzione in modalità server. Puoi farlo modificando il file di configurazione principale di Rsyslog:
nano /etc/rsyslog.conf
Rimuovere il commento dalle seguenti righe:
# provides UDP syslog reception module(load="imudp") input(type="imudp" port="514") # provides TCP syslog reception module(load="imtcp") input(type="imtcp" port="514")
Successivamente, aggiungi le seguenti righe per definire il modello per archiviare il registro in entrata dai sistemi client:
$template remote-incoming-logs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log" *.* ?remote-incoming-logs
Salva e chiudi il file, quindi riavvia il servizio Rsyslog per applicare le modifiche:
systemctl restart rsyslog
A questo punto, Rsyslog viene avviato ed è in ascolto sulla porta 514. Puoi verificarlo utilizzando il seguente comando:
ss -tunlp | grep 514
Dovresti vedere il seguente output:
udp UNCONN 0 0 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=6)) udp UNCONN 0 0 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=7)) tcp LISTEN 0 25 0.0.0.0:514 0.0.0.0:* users:(("rsyslogd",pid=26276,fd=8)) tcp LISTEN 0 25 [::]:514 [::]:* users:(("rsyslogd",pid=26276,fd=9))
Configurare Firewall per Rsyslog
Successivamente, dovrai consentire la porta 514 attraverso il firewall UFW. Puoi consentirlo con il seguente comando:
ufw allow 514/tcp
ufw allow 514/udp
Successivamente, ricarica il firewall per applicare le modifiche:
ufw reload
Configura il client Rsyslog
Successivamente, sarà necessario configurare il client Rsyslog per inviare i file di registro al server Rsyslog. Puoi farlo modificando il file di configurazione principale di Rsyslog.
nano /etc/rsyslog.conf
Aggiungere le seguenti righe alla fine del file:
#Enable sending system logs over UDP to rsyslog server *.* @rsyslog-server-ip:514 #Enable sending system logs over TCP to rsyslog server *.* @@rsyslog-server-ip:514
Inoltre, aggiungi le seguenti righe per impostare la coda del disco quando il server rsyslog sarà inattivo:
$ActionQueueFileName queue $ActionQueueMaxDiskSpace 1g $ActionQueueSaveOnShutdown on $ActionQueueType LinkedList $ActionResumeRetryCount -1
Salva e chiudi il file, quindi riavvia il servizio Rsyslog per applicare le modifiche:
systemctl restart rsyslog
Verifica il file di registro dei client
Tutti i file di log dei client sono archiviati nella directory /var/log sulla macchina server.
Puoi verificarlo con il seguente comando:
ls -l /var/log/
Dovresti vedere il file di registro dei client che corrisponde al nome host del sistema client:
alternatives.log auth.log.2.gz daemon.log debian11 dpkg.log kern.log.1 messages.1 private syslog.3.gz clientpc auth.log.3.gz daemon.log.1 debug dpkg.log.1 kern.log.2.gz messages.2.gz runit syslog.4.gz apt btmp daemon.log.3.gz debug.2.gz icinga2 kern.log.4.gz messages.4.gz syslog auth.log.1 csm.log dbconfig-common debug.4.gz kern.log messages ntpstats syslog.2.gz
Come puoi vedere, clientpc è la directory di log del sistema client.
Conclusione
Nella guida sopra, abbiamo spiegato come configurare il server e il client Rsyslog su Debian 11. Ora puoi monitorare i tuoi client dalla posizione centrale. Non esitate a chiedermi se avete domande.