Centralizacja logów w systemie Linux za pomocą rsyslog, logrotate i zdalnego logowania
Linux

Centralizacja logów w systemie Linux za pomocą rsyslog, logrotate i zdalnego logowania

📑 Centralizacja logów w systemie Linux za pomocą rsyslog, logrotate i zdalnego logowania

W środowiskach z wieloma serwerami ważne jest, aby logi systemowe i aplikacyjne trafiały do jednego centralnego miejsca. Dzięki temu można:

  • szybciej wykrywać awarie i ataki,
  • przechowywać logi dłużej (np. zgodność z RODO, ISO, PCI),
  • przeszukiwać i analizować dane z całej infrastruktury,
  • łatwiej integrować z narzędziami typu SIEM, Grafana Loki, Graylog, ELK.

W tym poradniku:

✅ konfiguracja rsyslog jako serwera i klienta,
✅ zabezpieczenie połączeń,
✅ rotacja logów (logrotate),
✅ przykłady integracji z narzędziami analitycznymi.


🔧 Krok 1: Co to rsyslog?

rsyslog to domyślny system logowania w większości dystrybucji Linuksa. Obsługuje:

  • logowanie lokalne i zdalne,
  • filtry, formatowanie, routing,
  • TLS, autoryzację, zapisy do baz danych i chmur.
Centralizacja logów w systemie Linux za pomocą rsyslog, logrotate i zdalnego logowania
Centralizacja logów w systemie Linux za pomocą rsyslog, logrotate i zdalnego logowania

🛠️ Krok 2: Konfiguracja serwera rsyslog (odbiornika logów)

1. Otwórz port sysloga (514 UDP i/lub TCP)

sudo ufw allow 514/udp
sudo ufw allow 514/tcp

Lub w nftables:

nft add rule inet filter input udp dport 514 accept
nft add rule inet filter input tcp dport 514 accept

2. Włącz odbieranie logów z sieci

Edytuj plik /etc/rsyslog.conf i odkomentuj (lub dodaj):

module(load="imudp")
input(type="imudp" port="514")

module(load="imtcp")
input(type="imtcp" port="514")

3. Opcjonalnie – oddzielne pliki dla logów zdalnych

Na końcu pliku /etc/rsyslog.conf:

$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs

📂 Każda maszyna będzie miała swój katalog w /var/log/remote/.


4. Restart usługi

sudo systemctl restart rsyslog

🖥️ Krok 3: Konfiguracja klienta rsyslog (np. na innych serwerach)

Edytuj /etc/rsyslog.d/99-forward-remote.conf:

*.* @192.168.1.100:514    # dla UDP
# lub
*.* @@192.168.1.100:514   # dla TCP

(Tutaj 192.168.1.100 to IP serwera centralnego.)

Czytaj  SELinux i AppArmor: Czy te tarcze są wystarczające do ochrony serwerów Linuxowych?

Zrestartuj:

sudo systemctl restart rsyslog

🔐 Krok 4: Szyfrowanie i autoryzacja TLS (opcjonalne, dla produkcji)

Aby zabezpieczyć transmisję, można skonfigurować:

  • serwer rsyslog z certyfikatem SSL,
  • klientów, którzy wysyłają zaszyfrowane logi.

Ten proces obejmuje generowanie kluczy, konfigurację gtls, weryfikację certyfikatów (pełna konfiguracja zasługuje na osobny poradnik).


🔁 Krok 5: Rotacja logów z logrotate

Sprawdź zawartość:

cat /etc/logrotate.d/rsyslog

Dla /var/log/remote/, możesz stworzyć osobny plik:

sudo nano /etc/logrotate.d/remote-logs

Zawartość:

/var/log/remote/*/*.log {
    daily
    rotate 14
    compress
    missingok
    notifempty
    create 0640 syslog adm
    sharedscripts
    postrotate
        systemctl reload rsyslog > /dev/null
    endscript
}

📊 Krok 6: Analiza i wizualizacja logów

Zgromadzone logi możesz:

  • przeszukiwać ręcznie (grep, less, journalctl),
  • przetwarzać automatycznie (logwatch, fail2ban),
  • integrować z:
Narzędzie Funkcja
Graylog wysoka wydajność, web GUI
Grafana Loki integracja z Prometheus
ELK stack ElasticSearch + Kibana
Splunk dla korporacji, komercyjny
Zabbix alerty, wykresy, SIEM

💡 Pro tipy

  • Loguj tylko to, co potrzebne (filtry w rsyslog.conf)
  • Wykrywaj anomalie z użyciem fail2ban, logwatch, auditd
  • Przechowuj logi w partycji innej niż / – unikniesz zapełnienia systemu

✅ Podsumowanie

✔️ Centralizacja logów zwiększa bezpieczeństwo i ułatwia analizę,
✔️ rsyslog + logrotate + filtrowanie = stabilne i elastyczne rozwiązanie,
✔️ Łatwa integracja z zewnętrznymi narzędziami monitorującymi i SIEM.

 

Polecane wpisy
Konfiguracja serwera Linux od podstaw: Apache, Nginx i bazy danych
Konfiguracja serwera Linux od podstaw: Apache, Nginx i bazy danych

Konfiguracja serwera Linux od podstaw: Apache, Nginx i bazy danych 🖥️ Chcesz uruchomić własny serwer na systemie Linux? Ten poradnik Czytaj dalej

Jak zrobić instalację oprogramowania z repozytoriów PPA w Ubuntu?
Jak zrobić instalację oprogramowania z repozytoriów PPA w Ubuntu?

Jak zrobić instalację oprogramowania z repozytoriów PPA w Ubuntu? Wstęp Jednym z najwygodniejszych sposobów instalacji oprogramowania w systemie Ubuntu jest Czytaj dalej

Marek "Netbe" Lampart Inżynier informatyki Marek Lampart to doświadczony inżynier informatyki z ponad 25-letnim stażem w zawodzie. Specjalizuje się w systemach Windows i Linux, bezpieczeństwie IT, cyberbezpieczeństwie, administracji serwerami oraz diagnostyce i optymalizacji systemów. Na netbe.pl publikuje praktyczne poradniki, analizy i instrukcje krok po kroku, pomagając administratorom, specjalistom IT oraz zaawansowanym użytkownikom rozwiązywać realne problemy techniczne.