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
- 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 514Krok 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 514Krok 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-logsKrok 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 RsyslogKrok 2
Aby sprawdzić porty używane przez Rsyslog, wykonamy następujące czynności:
sudo netstat -tulpn | grep rsyslogKrok 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 / udpJeś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.