Jak zainstalować serwer dziennika Rsyslog w systemie Linux?

Jako administratorzy, personel wsparcia IT czy menedżerowie obszaru sieci i systemów mamy coś fundamentalnego, aby pomóc nam śledzić każde zdarzenie, które występuje w systemie, zarówno na poziomie użytkowników, aplikacji, jak i samego systemu, a są to wydarzenia.

Każde zdarzenie rejestruje szereg elementów, które pomagają nam szczegółowo określić każdą czynność z wartościami takimi jak data, czas, identyfikator, użytkownik i zdarzenie, które wystąpiło, co pozwala nam na znacznie bardziej scentralizowane zarządzanie i administrację.
Widzimy, że każdy rekord należy do innej kategorii, takiej jak system, bezpieczeństwo itp.

W środowiskach Linux mamy do dyspozycji narzędzie Rsyslog, dzięki któremu w prosty i kompletny sposób będzie można zarządzać tymi zdarzeniami.

Co to jest RsyslogRsyslog (rocket-fast system for log - szybki system do przetwarzania logów) to narzędzie zaprojektowane z myślą o zapewnieniu wysokiej wydajności, doskonałych funkcji bezpieczeństwa i modułowej konstrukcji, która pozwala na skalowanie w celu dostosowania do potrzeb każdej firmy.

Rsyslog jest w stanie przyjmować dane wejściowe z wielu różnych źródeł, przekształcać je i generować wyniki dla różnych miejsc docelowych, optymalizując zarządzanie IT.

RSYSLOG jest w stanie dostarczyć ponad milion komunikatów na sekundę do lokalnych miejsc docelowych, gdy stosowane jest ograniczone przetwarzanie, w tym zdalne miejsca docelowe.

Funkcje RsyslogaPodczas korzystania z Rsyslog będziemy mieli takie funkcje, jak:

  • $ Dyrektywa LocalHostName [name]: Ta dyrektywa pozwala nam nadpisać nazwę hosta systemu nazwą określoną w dyrektywie. Jeśli dyrektywa zostanie podana wiele razy, wszystkie oprócz ostatniej zostaną zignorowane.
  • Dodano obsługę Hadoop HDFS.
  • Posiada moduł impstat do uruchamiania okresowych statystyk liczników Rsyslog.
  • Posiada wtyczkę imptcp.
  • Zawiera nowy typ modułu „generatora ciągów”, który przyspiesza przetwarzanie danych wyjściowych.
  • Obsługuje OSX i Solaris.
  • Możliwość tworzenia niestandardowych parserów wiadomości.
  • Obsługa wielu reguł dla imudp.
  • Nowy interfejs modułu wyjścia transakcji zapewniający doskonałą wydajność.
  • Wielowątkowość
  • Obsługuje protokoły TCP, SSL, TLS, RELP
  • Obsługuje MySQL, PostgreSQL, Oracle i nie tylko
  • Filtruj dowolną część wiadomości syslog
  • W pełni konfigurowalny format wyjściowy
  • Nadaje się do sieci nadawczych klasy biznesowej

Filtrowanie RsyslogRsyslog może filtrować wiadomości syslog na podstawie wybranych właściwości i działań, te filtry to:

  • Archiwizatory obiektów lub priorytetów
  • Filtry oparte na właściwościach
  • Filtry oparte na wyrażeniach

Filtr obiektu reprezentowany jest przez wewnętrzny podsystem Linux odpowiedzialny za tworzenie rekordów, mamy do wyboru następujące opcje:

  • auth / authpriv = Są to wiadomości generowane przez procesy uwierzytelniania
  • cron = Są to rekordy związane z zadaniami cron
  • demon = Są to komunikaty związane z uruchomionymi usługami systemowymi
  • kernel = Wskazuje komunikaty jądra Linuksa
  • mail = Zawiera wiadomości z serwera pocztowego
  • syslog = Są to wiadomości związane z syslog lub innymi demonami
  • lpr = Obejmuje drukarki lub komunikaty serwera wydruku
  • local0 - local7 = Zliczanie niestandardowych wiadomości pod kontrolą administratora
Poziomy priorytetu lub istotności w Rsyslog są przypisywane do słowa kluczowego i liczby w następujący sposób:
  • Pogotowie = Nagły wypadek - 0
  • alert = Alerty - 1
  • błąd = Błędy - 3
  • Ostrzegaj = Ostrzeżenia - 4
  • zawiadomienie = zawiadomienie - 5
  • info = Informacja - 6
  • debugowanie = debugowanie - 7

1. Jak skonfigurować i sprawdzić stan Rsyslog w systemie Linux?

Krok 1
Demon Rsyslog jest automatycznie instalowany w większości dystrybucji Linuksa, ale jeśli nie, musimy uruchomić następujące polecenia:

W systemach Debiana

 sudo apt-get install Rsyslog 

W systemach RedHat lub CentOS

 sudo mniam zainstaluj Rsyslog 

Krok 2
Aktualny stan Rsysloga możemy sprawdzić, wykonując następujący wiersz:

W dystrybucjach Linuksa korzystających z Systemd

 status systemctl rsyslog.service 

W starszych wersjach Linuksa

 status rsyslog usługi /etc/init.d/rsyslog status

POWIĘKSZAĆ

Krok 3
W przypadku, gdy status usługi Rsyslog jest nieaktywny, możemy ją uruchomić, wykonując następujące czynności:

W nowych wersjach Linuksa

 systemctl uruchom rsyslog.service 

W starszych wersjach Linuksa

 usługa rsyslog start /etc/init.d/rsyslog start

POWIĘKSZAĆ

2. Konfiguracja Rsyslog w systemie Linux


Aby skonfigurować program rsyslog do pracy w trybie serwera, musimy edytować plik konfiguracyjny w katalogu /etc/rsyslog.conf.

Krok 1
Możemy uzyskać dostęp za pomocą żądanego edytora:

 sudo nano /etc/rsyslog.conf

POWIĘKSZAĆ

Krok 2
Tam dokonamy następujących zmian. Zlokalizuj i usuń komentarz, usuwając znak (#) z następujących wierszy, aby umożliwić odbiór komunikatów dziennika UDP na porcie 514. Domyślnie port UDP jest używany przez syslog do wysyłania i odbierania komunikatów:

 $ ModLoad imudp $ UDPServerRun 514
Krok 3
Protokół UDP nie jest niezawodny w wymianie danych przez sieć, więc możemy skonfigurować Rsyslog do wysyłania komunikatów dziennika do zdalnego serwera za pośrednictwem protokołu TCP. Aby włączyć protokół odbioru TCP, usuniemy następujące wiersze:
 $ ModLoad imtcp $ InputTCPServerRun 514
Krok 4
Umożliwi to demonowi rsyslog wiązanie i nasłuchiwanie na gnieździe TCP na porcie 514.
Oba protokoły można włączyć w rsyslog, aby działały jednocześnie w systemie Linux.
Jeśli konieczne jest określenie, którzy nadawcy mają dostęp do demona rsyslog, musimy dodać następujące wiersze:
 $ DozwolonySender TCP, 127.0.0.1, 192.168.0.5/24, * .domena.com 

POWIĘKSZAĆ

Krok 5
W tym momencie konieczne będzie utworzenie nowego szablonu, który będzie analizowany przez demona rsyslog przed otrzymaniem przychodzących logów. Ten szablon powinien informować lokalny serwer Rsyslog, gdzie przechowywać przychodzące komunikaty dziennika. Ten szablon zostanie umieszczony po wierszu $ AllowedSender:

 $ template Incoming-logs, "/ var / log /% HOSTNAME% /% PROGRAMNAME% .log" *. *? Incoming-logs & ~ 

POWIĘKSZAĆ

Krok 6
Aby nagrywać tylko wiadomości generowane przez kern, dodamy następujące. Dzięki powyższemu otrzymane rekordy są analizowane przez szablon i zostaną zapisane w lokalnym systemie plików w katalogu /var/log/, w ścieżce:%HOSTNAME% i%PROGRAMNAME%.

 kern. *? Incoming-logs
Krok 7
Zmiany możemy zapisać za pomocą następującej kombinacji klawiszy:

Ctrl + O

Edytor opuszczamy za pomocą:

Ctrl + X

3. Uruchom ponownie usługę i sprawdź porty Rsyslog w systemie Linux

Krok 1
Kiedy dokonujemy jakiejkolwiek zmiany, musimy ponownie uruchomić usługę, wykonując jedną z następujących opcji:

 usługa sudo rsyslog restart sudo systemctl restart Rsyslog
Krok 2
Aby sprawdzić porty używane przez Rsyslog, wykonamy następujące czynności:
 sudo netstat -tulpn | grep rsyslog
Krok 3
Jak już wspomnieliśmy, używanym portem będzie 514, musimy go włączyć w zaporze, aby mógł być używany z następującymi liniami.

Na RedHat i CentOS

 firewall-cmd --permanent --add-port = 514 / tcp firewall-cmd -reload

W Debianie

 ufw zezwól na 514 / tcp ufw zezwól na 514 / udp
Jeśli używamy IPTables:
 iptables -A WEJŚCIE -p tcp -m tcp --dport 514 -j AKCEPTUJ iptables -A WEJŚCIE -p udp --dport 514 -j AKCEPTUJ

POWIĘKSZAĆ

W ten sposób zainstalowaliśmy Rsyslog w systemie Linux do zarządzania różnymi rodzajami dzienników, które są w nim stale generowane.

wave wave wave wave wave