Ricerca nel sito web

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

  1. Prerequisiti
  2. Installa Rsyslog
  3. Configura Rsyslog
  4. Configura il firewall per Rsyslog
  5. Configura il client Rsyslog
  6. Verifica il file di registro dei clienti
  7. 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.