Ako nainštalovať a nakonfigurovať server a klienta Rsyslog na Ubuntu 24.04


Tento návod existuje pre tieto verzie OS

  • Ubuntu 24.04 (Noble Numbat)
  • Ubuntu 18.04 (Bionic Beaver)

Na tejto stránke

  1. Predpoklady
  2. Nainštalujte Rsyslog
  3. Nakonfigurujte server Rsyslog
  4. Nakonfigurujte klienta Rsyslog
  5. Zobraziť denník klienta
  6. Záver

Rsyslog na Ubuntu je výkonný a flexibilný systémový protokolový démon, ktorý sa používa na zhromažďovanie, filtrovanie, ukladanie a posielanie správ protokolu generovaných operačným systémom a aplikáciami. Ide o vylepšenú verziu tradičnej služby syslog, ktorá poskytuje ďalšie funkcie, ako je vysokovýkonné protokolovanie, pokročilé možnosti filtrovania a podpora viacerých protokolov protokolovania vrátane TCP, UDP a RELP (Reliable Event Logging Protocol). Rsyslog dokáže spracovať protokolové správy z rôznych zdrojov a nasmerovať ich na rôzne miesta, ako sú súbory, databázy alebo vzdialené servery. Je široko používaný v centralizovaných protokolovacích systémoch na účely monitorovania, riešenia problémov a auditu. Umožnením podrobnej konfigurácie umožňuje Rsyslog správcom Ubuntu efektívne spravovať systémové protokoly a zaistiť, aby boli dôležité informácie zachytené a bezpečne uložené.

Protokoly sú veľmi užitočné na analýzu a riešenie problémov súvisiacich so systémom Linux a aplikáciami. Štandardne sú všetky protokolové súbory umiestnené v adresári/var/log v operačných systémoch založených na Linuxe. Existuje niekoľko typov protokolových súborov vrátane cronu, jadra, používateľov a zabezpečenia a väčšina týchto súborov je riadená službou Rsyslog.

V tomto návode vysvetlím, ako nakonfigurovať server Rsyslog na serveri Ubuntu 24.04.

Predpoklady

  • Dva servery so systémom Ubuntu 24.04.
  • Statická adresa IP 192.168.0.101 je nakonfigurovaná na serveri Rsyslog a 192.168.0.102 je nakonfigurovaná na klientskom počítači Rsyslog.
  • Na oboch serveroch je nakonfigurované heslo root.

Nainštalujte Rsyslog

Rsyslog môžete nainštalovať spustením nasledujúceho príkazu:

apt install rsyslog -y

Po inštalácii Rsyslog môžete skontrolovať verziu Rsyslog pomocou nasledujúceho príkazu:

rsyslogd -v

Môžete tiež skontrolovať stav Rsyslog pomocou nasledujúceho príkazu:

systemctl status rsyslog

Mali by ste vidieť nasledujúci výstup:

? rsyslog.service - System Logging Service
   Loaded: loaded (/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2024-08-22 04:28:55 UTC; 1min 31s ago
     Docs: man:rsyslogd(8)
           http://www.rsyslog.com/doc/
 Main PID: 724 (rsyslogd)
    Tasks: 4 (limit: 1114)
   CGroup: /system.slice/rsyslog.service
           ??724 /usr/sbin/rsyslogd -n

Aug 22 04:28:53 ubuntu2404 systemd[1]: Starting System Logging Service...
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: imuxsock: Acquired UNIX socket '/run/systemd/journal/syslog' (fd 3) from systemd.  [v8.32.0]
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's groupid changed to 106
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]: rsyslogd's userid changed to 102
Aug 22 04:28:54 ubuntu2404 rsyslogd[724]:  [origin software="rsyslogd" swVersion="8.32.0" x-pid="724" x-info="http://www.rsyslog.com"] start
Aug 22 04:28:55 ubuntu2404 systemd[1]: Started System Logging Service.

Nakonfigurujte server Rsyslog

Rsyslog je teraz nainštalovaný a spustený. Ďalej ho musíte nakonfigurovať na spustenie v režime servera. Môžete upraviť súbor /etc/rsyslog.conf.

nano /etc/rsyslog.conf

Najprv budete musieť definovať protokol buď UDP alebo TCP, alebo oboje.

Ak chcete súčasne používať pripojenia UDP aj TCP, vyhľadajte a odkomentujte nasledujúce riadky:

$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514

Ďalej definujte konkrétnu podsieť, IP alebo doménu na obmedzenie prístupu, ako je uvedené nižšie:

$AllowedSender TCP, 127.0.0.1, 192.168.0.0/24, *.example.com
$AllowedSender UDP, 127.0.0.1, 192.168.0.0/24, *.example.com

Ďalej musíte vytvoriť šablónu, ktorá povie serveru Rsyslog, ako ukladať prichádzajúce správy syslog. Nasledujúce riadky pridajte tesne pred sekciu GLOBAL DIRECIVES:

$template remote-incoming-logs, "/var/log/%HOSTNAME%/%PROGRAMNAME%.log" 
*.* ?remote-incoming-logs

Po dokončení uložte a zatvorte súbor. Potom skontrolujte konfiguráciu Rsyslog, či neobsahuje nejakú chybu syntaxe pomocou nasledujúceho príkazu:

rsyslogd -f /etc/rsyslog.conf -N1

Mali by ste vidieť nasledujúci výstup:

rsyslogd: version 8.32.0, config validation run (level 1), master config /etc/rsyslog.conf
rsyslogd: End of config validation run. Bye.

Nakoniec reštartujte službu Rsyslog pomocou nasledujúceho príkazu:

systemctl restart rsyslog

Teraz skontrolujte, či Rsyslog počúva na TCP/UDP pomocou nasledujúceho príkazu:

netstat -4altunp | grep 514

Mali by ste dostať nasledujúci výstup:

tcp        0      0 0.0.0.0:514             0.0.0.0:*               LISTEN      1332/rsyslogd       
udp        0      0 0.0.0.0:514             0.0.0.0:*                           1332/rsyslogd       

Nakonfigurujte klienta Rsyslog

Server Rsyslog je nainštalovaný a nakonfigurovaný na prijímanie protokolov zo vzdialených hostiteľov.

Teraz musíte nakonfigurovať klienta Rsyslog na odosielanie správ syslog na vzdialený server Rsyslog.

Prihláste sa do klientskeho počítača a otvorte konfiguračný súbor Rsyslog, ako je uvedené nižšie:

nano /etc/rsyslog.conf

Na koniec súboru pridajte nasledujúce riadky:

##Enable sending of logs over UDP add the following line:

*.* @192.168.0.101:514


##Enable sending of logs over TCP add the following line:

*.* @@192.168.0.101:514

##Set disk queue when rsyslog server will be down:

$ActionQueueFileName queue
$ActionQueueMaxDiskSpace 1g
$ActionQueueSaveOnShutdown on
$ActionQueueType LinkedList
$ActionResumeRetryCount -1

Uložte a zatvorte súbor. Potom reštartujte server Rsyslog, aby ste použili zmeny konfigurácie:

systemtcl restart rsyslog

Zobraziť denník klienta

V tomto bode je klient Rsyslog nakonfigurovaný na odosielanie svojho denníka na server Rsyslog.

Prihláste sa na server Rsyslog a skontrolujte adresár /var/log. Mali by ste vidieť záznam s názvom hostiteľa vašich klientskych počítačov vrátane niekoľkých protokolových súborov:

ls /var/log/rsyslog-client/

výstup:

CRON.log  kernel.log  rsyslogd-2039.log  rsyslogd.log  sudo.log  wpa_supplicant.log

Záver

Vo vyššie uvedenom článku sme sa naučili, ako nainštalovať a nakonfigurovať server Rsyslog na serveri Ubuntu 24.04 a ako nakonfigurovať klienta Rsyslog na odosielanie protokolov na server Rsyslog. Ak máte nejaké otázky, neváhajte sa ma opýtať.