Jak bezpiecznie eksportować logi systemu SLES do zdalnego serwera Syslog

Najbezpieczniejszym i praktycznym sposobem eksportowania logów systemowych SUSE Linux Enterprise Server (SLES) do zdalnego kolektora syslog jest użycie rsyslog przez TCP z TLS, sprawdzenie certyfikatu kolektora według nazwy i przypisanie akcji przekazywania własnej kolejki. Zwykły syslog UDP jest prosty, ale nie zapewnia poufności ani uwierzytelniania równorzędnego. Zwykły TCP poprawia sposób dostarczania, ale nadal pozostawia zawartość logów widoczną podczas przesyłania.

W tym przewodniku wykorzystano sterownik strumienia sieciowego GnuTLS ( gtls) oraz nowoczesną składnię akcji rsyslog. Procedura jest przeznaczona dla systemów SLES 15 SP7, których Podręcznik administratora został zaktualizowany 1 października 2026 r. Zawsze sprawdzaj dokładne pakiety i wersję rsyslog na hoście przed skopiowaniem konfiguracji w całości. Dokumentacja rsyslog zaleca protokół TCP z TLS dla nowoczesnych wdrożeń i zaleca kolejkę akcji dla przekierowania TCP.

Wiarygodne źródła: dokumentacja SUSE Linux Enterprise Server 15 SP7 , dokumentacja rsyslog omfwd , konfiguracja klienta TLS rsyslog i RFC 5425: TLS Transport Mapping for Syslog .

Krótki przewodnik

PrzedmiotZalecana wartośćDlaczego to ważne
TransportTCP z TLSSzyfruje ruch logów i obsługuje uwierzytelnianie na podstawie certyfikatów.
Typowy port docelowy6514/tcpRFC 5425 przydziela port TCP 6514 dla syslogu przez TLS.
sterownik strumienia rsysloggtlsZapewnia protokół TLS poprzez GnuTLS po zainstalowaniu modułu SLES.
Tryb TLSStreamDriverMode="1"Wymusza operację chronioną protokołem TLS zamiast zwykłego protokołu TCP.
Uwierzytelnianiex509/nameSprawdza poprawność łańcucha certyfikatów i oczekiwaną nazwę serwera.
Kolejka przekierowującaqueue.type="linkedList"Oddziela lokalne przetwarzanie dzienników od tymczasowych przerw w działaniu kolektora.

Przed skonfigurowaniem przekierowania

Potrzebujesz w pełni kwalifikowanej nazwy domeny zdalnego kolektora, portu TCP, na którym nasłuchuje, oraz certyfikatu urzędu certyfikacji (CA), który podpisuje certyfikat kolektora. W przypadku obustronnego protokołu TLS potrzebujesz również certyfikatu klienta i klucza prywatnego dla maszyny SLES. Certyfikat kolektora musi być ważny dla nazwy hosta skonfigurowanej w rsyslog, najlepiej za pośrednictwem alternatywnej nazwy podmiotu (SAN). Nie rozwiązuj problemu niezgodności nazw, wyłączając weryfikację certyfikatu.

Zdalny kolektor musi być już skonfigurowany do akceptowania protokołu TLS syslog. Ten artykuł koncentruje się na nadawcy SLES, ponieważ konfiguracja odbiornika różni się w zależności od systemu rsyslog, syslog-ng, urządzeń SIEM i zarządzanych usług rejestrowania. Jeśli zapora oddziela systemy, należy zezwolić hostowi SLES na inicjowanie połączeń TCP z kolektorem na skonfigurowanym porcie. Domyślna polityka firewalld z obsługą stanu zazwyczaj nie wymaga otwierania portu przychodzącego na nadawcy SLES.

Krok 1: Sprawdź, czy rsyslog jest zainstalowany i zidentyfikuj bieżącą kompilację

Zacznij od sprawdzenia wersji pakietu i demona. Zapobiegnie to pomyłkom, gdy starsze przykłady używają dyrektyw, które nie są obsługiwane przez kompilację na Twoim serwerze.

rpm -q rsyslog
rsyslogd -v
systemctl status rsyslog --no-pager
Terminal SLES pokazujący polecenie rpm -q rsyslog służące do potwierdzenia zainstalowania pakietu rsyslog.
Sprawdź zainstalowany pakiet rsyslog przed zmianą jego konfiguracji.

Jeśli rsyslog nie jest zainstalowany, zainstaluj go z włączonych repozytoriów SLES. Przed udostępnieniem długotrwałego połączenia rejestrującego, zainstaluj poprawki systemu w ramach standardowego procesu aktualizacji SUSE.

Krok 2: Zainstaluj moduł rsyslog GnuTLS

W systemie SLES sterownik sieciowy TLS jest spakowany osobno. Zainstaluj moduł GnuTLS i zachowaj obecny pakiet bazowy rsyslog:

sudo zypper install rsyslog rsyslog-module-gtls
Terminal SLES z poleceniem zypper install rsyslog-module-gtls.
Zainstaluj moduł rsyslog GnuTLS, który udostępnia sterownik strumienia sieciowego gtls.

Możesz potwierdzić, że pliki pochodzą z oczekiwanego pakietu za pomocą rpm -ql rsyslog-module-gtls. Nazwy pakietów są specyficzne dla dystrybucji, dlatego nie kopiuj nazw pakietów z podręczników dotyczących Debiana lub RHEL.

Krok 3: Bezpieczne przechowywanie danych uwierzytelniających CA i klienta

Używaj certyfikatów wydanych przez Twoją organizację lub platformę rejestrującą. W przypadku systemu produkcyjnego unikaj tworzenia nowego prywatnego urzędu certyfikacji na hoście wysyłającym logi. Laboratorium może korzystać z testowego urzędu certyfikacji, ale materiały dotyczące zaufania w środowisku produkcyjnym powinny być zgodne z procesem PKI Twojej organizacji.

Utwórz katalog z uprawnieniami użytkownika root, skopiuj pliki i ogranicz klucz prywatny. Zastąp przykładowe nazwy plików ścieżkami podanymi przez zespół ds. infrastruktury klucza publicznego (PKI):

sudo install -d -m 0755 /etc/rsyslog.d/certs
sudo install -m 0644 ca.pem /etc/rsyslog.d/certs/ca.pem
sudo install -m 0644 sles-client.crt /etc/rsyslog.d/certs/sles-client.crt
sudo install -m 0600 sles-client.key /etc/rsyslog.d/certs/sles-client.key
sudo chown root:root /etc/rsyslog.d/certs/*

Sprawdź urząd certyfikacji i certyfikat klienta zamiast ufać nazwom plików:

openssl x509 -in /etc/rsyslog.d/certs/ca.pem -noout -subject -issuer
openssl x509 -in /etc/rsyslog.d/certs/sles-client.crt -noout -subject -issuer -dates
Terminal SLES sprawdza katalog certyfikatów rsyslog należący do użytkownika root i dokonuje inspekcji podmiotu i wystawcy certyfikatu CA za pomocą OpenSSL.
Przed odwołaniem się do plików certyfikatów z poziomu rsyslog sprawdź ich właściciela.

Dokumentacja klienta rsyslog TLS wyraźnie ostrzega, że ​​klucz prywatny komputera musi być chroniony. Jeśli inny użytkownik może odczytać klucz prywatny, może on podszyć się pod klienta logującego.

Krok 4: Skonfiguruj przekazywanie TLS z weryfikacją nazwy serwera

Utwórz dedykowany punkt dostępowy, taki jak /etc/rsyslog.d/60-remote-tls.conf. Oddzielenie zdalnego przekierowania od konfiguracji dostawcy ułatwia przeglądanie i wycofywanie zmian.

global(
    DefaultNetstreamDriver="gtls"
    DefaultNetstreamDriverCAFile="/etc/rsyslog.d/certs/ca.pem"
    DefaultNetstreamDriverCertFile="/etc/rsyslog.d/certs/sles-client.crt"
    DefaultNetstreamDriverKeyFile="/etc/rsyslog.d/certs/sles-client.key"
)

action(
    type="omfwd"
    target="logs.example.com"
    port="6514"
    protocol="tcp"
    StreamDriver="gtls"
    StreamDriverMode="1"
    StreamDriverAuthMode="x509/name"
    StreamDriverPermittedPeers="logs.example.com"
    queue.type="linkedList"
)
Edytor konfiguracji pokazujący globalne ustawienia związane z TLS i akcją omfwd dla logs.example.com na porcie TCP 6514 z walidacją nazwy x509.
Przekierowanie wykorzystuje tryb tylko TLS, jawną dozwoloną nazwę równorzędnego użytkownika oraz kolejkę opartą na liście powiązanej. Pełny przykład w artykule zawiera również certyfikat klienta i klucz dla obustronnego TLS.

StreamDriverMode="1"Ważne: sam wybór sterownika obsługującego TLS nie wystarczy w konfiguracjach, w których domyślnym trybem jest zwykły TCP. StreamDriverAuthMode="x509/name"Następnie weryfikuje zdalny certyfikat i sprawdza, czy tożsamość serwera jest zgodna z dozwolonym serwerem. W miarę możliwości należy używać dokładnej nazwy kolektora w certyfikacie zamiast szerokiego symbolu wieloznacznego.

Powyższa akcja przekazuje dalej każdą wiadomość, która do niej dotrze. Jeśli chcesz przekazywać tylko wybrane obiekty lub priorytety, dodaj filtr przed akcją. Na przykład, środowisko skoncentrowane na bezpieczeństwie może przekazywać dalej zdarzenia uwierzytelniania i demona, jednocześnie przechowując lokalnie dużą liczbę dzienników debugowania aplikacji. Filtrowanie powinno być ukierunkowane na potrzeby retencji, reagowania na incydenty i zgodności, a nie na ogólne założenie, że każda wiadomość musi opuścić hosta.

Krok 5: Sprawdź poprawność, uruchom ponownie, wyślij zdarzenie testowe i sprawdź dostarczenie

Przed ponownym uruchomieniem usługi sprawdź poprawność pełnej konfiguracji rsyslog. To najszybszy sposób na wykrycie błędów składniowych i brakujących odwołań do modułów:

sudo rsyslogd -N1

Jeśli walidacja zakończy się powodzeniem, uruchom ponownie rsyslog i wyślij unikalną wiadomość testową:

sudo systemctl restart rsyslog
sudo systemctl status rsyslog --no-pager
logger -t sles-tls-test "remote syslog TLS test $(date -Is)"
sudo journalctl -u rsyslog -n 50 --no-pager

W kolektorze wyszukaj tag sles-tls-testi nazwę hosta nadawcy. Pomyślne zdalne pojawienie się wiadomości dowodzi, że wiadomość dotarła do kolektora, ale samo w sobie nie dowodzi, że weryfikacja certyfikatu została skonfigurowana poprawnie. Silniejszym zabezpieczeniem jest pozostawienie x509/namewłączonej opcji i upewnienie się, że w dzienniku usługi rsyslog nie ma błędów uzgadniania TLS ani błędów nazw równorzędnych.

Jeśli połączenie się nie powiedzie, przetestuj rozpoznawanie nazw DNS dla logs.example.com, upewnij się, że TCP 6514 jest osiągalny, sprawdź daty ważności certyfikatu i zweryfikuj, czy certyfikat kolektora zawiera oczekiwaną nazwę DNS. Upewnij się również, że kolektor ufa urzędowi certyfikacji, który wydał certyfikat klienta SLES, gdy włączony jest wzajemny protokół TLS.

Lista kontrolna rozwiązywania problemów

  • Odmowa połączenia: kolektor nie nasłuchuje na skonfigurowanym adresie/porcie lub zapora odrzuca połączenie.
  • Przekroczenie limitu czasu: routing, listy kontroli dostępu sieci lub zapora sieciowa po cichu odrzucają ruch.
  • Weryfikacja certyfikatu nie powiodła się: plik urzędu certyfikacji jest błędny, niekompletny, wygasł lub łańcuch certyfikatu serwera jest niekompletny.
  • Niezgodność nazwy partnera: nazwa target/ StreamDriverPermittedPeersnie pasuje do tożsamości certyfikatu kolekcjonera.
  • Odmowa uprawnień do klucza: ścieżka klucza lub uprawnienia nie pozwalają procesowi rsyslog na odczytanie pliku w konfiguracji usługi SLES.
  • Wiadomości zatrzymują się podczas awarii: sprawdź projekt i pojemność kolejki akcji. Dokumentacja omfwd dla nadrzędnego serwera (upstream) wyraźnie zaleca kolejkę do przekierowywania TCP, aby niedostępny adres docelowy nie blokował normalnego przetwarzania.

Notatki bezpieczeństwa, które łatwo przeoczyć

Nie zastępuj walidacji certyfikatu anonimowym protokołem TLS, chyba że w pełni rozumiesz kompromis. Szyfrowanie bez uwierzytelnienia serwera nadal może narazić logi na atak typu man-in-the-middle. Podobnie, nie otwieraj przychodzącego połączenia TCP 6514 na nadawcy SLES tylko dlatego, że adresat używa tego portu; przekierowanie jest połączeniem wychodzącym klienta.

Chroń klucze prywatne klienta jako dane uwierzytelniające, wymieniaj certyfikaty przed ich wygaśnięciem i używaj nazwy hosta kolektora, która pozostaje stabilna pomimo zmian adresów IP. Jeśli potrzebujesz silniejszych gwarancji dostarczenia niż standardowe przekazywanie TCP/TLS, dokumentacja rsyslog wskazuje na RELP jako alternatywę przeznaczoną do potwierdzanego dostarczenia. Jest to odrębna opcja projektowa od szyfrowania transportu.

Ostateczna weryfikacja

Prawidłowe wdrożenie powinno spełniać cztery obserwowalne warunki: walidacja konfiguracji rsyslog zakończy się pomyślnie, usługa pozostanie aktywna po ponownym uruchomieniu, kolektor odbierze unikalne zdarzenie testowe, a dziennik nadawcy nie wykaże błędów zaufania TLS ani błędów nazwy partnera. Po pomyślnym zakończeniu tych kontroli należy udokumentować daty wygaśnięcia certyfikatów i zależność zdalnego kolektora, aby w przyszłości konserwacja nie spowodowała przerwania scentralizowanego rejestrowania.

Zostaw komentarz

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Jak bezpiecznie odzyskać utracone partycje i dane z dysku twardego

Dowiedz się, jak odzyskać utracone partycje i pliki za pomocą TestDisk i PhotoRec. Zabezpiecz dysk źródłowy, przeskanuj go bezpiecznie i zapisz odzyskane dane na innym dysku.

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Jak skanować kody QR na komputerze stacjonarnym z systemem Linux

Skanuj kody QR w systemie Linux za pomocą CoBang, używając kamery internetowej lub pliku obrazu. Zobacz opcje instalacji, kroki konfiguracji i poprawki dotyczące dostępu do kamery Flatpak.

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Jak zmienić ustawienia kamery internetowej w systemie Linux za pomocą Cameractrls

Zmień ustawienia kamery internetowej w systemie Linux za pomocą narzędzia Cameractrls: dostosuj ekspozycję, kolor, redukcję migotania i inne obsługiwane elementy sterujące, a następnie sprawdź zgodne tryby wideo.

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Jak zainstalować PhpStorm na Linuksie: Toolbox, Tar.gz, Snap i AUR

Zainstaluj PhpStorm na Linuksie za pomocą JetBrains Toolbox lub samodzielnego archiwum tar.gz, a także opcji Snap i Arch AUR. Java jest już dołączona.

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Jak wyciąć obraz w systemie Linux za pomocą programu GIMP

Usuń tło zdjęcia w systemie Linux za pomocą programu GIMP: narysuj obiekt, usuń wybrane tło, zachowaj przezroczystość i wyeksportuj plik PNG, który można ponownie wykorzystać.

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Jak wykonać kopię zapasową płyty CD-ROM w postaci obrazu ISO w systemie Linux

Utwórz obraz ISO płyty CD-ROM w systemie Linux za pomocą GNOME Disks lub dd. Zidentyfikuj napęd optyczny, monitoruj kopiowanie, zweryfikuj obraz i dowiedz się, kiedy uszkodzona płyta lub płyta audio wymaga użycia innego narzędzia.

Jak skonfigurować dwa panele w środowisku XFCE 4

Jak skonfigurować dwa panele w środowisku XFCE 4

Utwórz oddzielny panel XFCE 4 dla każdego wyświetlacza, przypisz drugi panel do odpowiedniego wyjścia, określ jego położenie i rozmiar, a następnie dodaj potrzebne elementy uruchamiające i statusu.

Jak zainstalować Cisco Packet Tracer w systemie Linux

Jak zainstalować Cisco Packet Tracer w systemie Linux

Pobierz Cisco Packet Tracer 9.0.1 dla systemu Ubuntu 64-bit, zainstaluj pakiet DEB za pomocą APT, zaakceptuj licencję w terminalu i zaloguj się, aby rozpocząć laboratorium.

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo: Oficjalny przewodnik instalacji

Pobierz FlightGear za darmo z oficjalnej strony. Porównaj pakiety dla systemów Windows, macOS i Linux, zainstaluj pliki danych i rozpocznij swój pierwszy lot.

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler: darmowy, prosty sampler muzyczny do rytmów klawiszowych

OKSampler mapuje klipy MP3 na klawisze klawiatury i umożliwia zapętlanie dźwięku. Dowiedz się, co robi ten starszy, darmowy program, gdzie kończą się jego stare funkcje i co sprawdzić przed pobraniem.