Skalowalne centrum logowania zdarzeń

Aplikacje, urządzenia sieciowe oraz systemy operacyjne, generują pokaźną ilość informacji związanych z funkcjonowaniem danej jednostki. Informacje te zbierane zazwyczaj na lokalnych dyskach systemowych, określane są nazwą dzienników zdarzeń (w nomenklaturze sieciowej często używane jest słowo log). Odpowiednio utworzone dzienniki zdarzeń pozwalają na analizę poprawności działania systemu, rozwiązywanie problemów z aplikacjami i sprzętem, analizę pracy użytkowników i wiele innych.

W wielu systemach operacyjnych elementem organizującym zbieranie i przechowywanie dzienników zdarzeń jest narzędzie określane nazwą SYSLOG. SYSLOG pozwala na scentralizowane rejestrowanie zdarzeń zachodzących w systemie operacyjnym, pochodzących z wielu źródeł. Aby narzędzie SYSLOG realizowało zadania skalowalnego centrum logowania zdarzeń, konieczne jest spełnienie określonych kryteriów bezpieczeństwa, wydajności oraz dostępności. To wszystko jest możliwe przy odpowiednim podejściu do standardowych ustawień lub z wykorzystaniem alternatywnych projektów, realizujących zbliżoną funkcjonalność.

Podstawy SYSLOG-a

SYSLOG jest protokołem opierającym się na architekturze, którą można określić jako klient/serwer. SYSLOG jest rozwijany przez grupę roboczą IETF w postaci pierwotnego RFC 3164 oraz RFC 5424. Pierwotną implementację stworzył Eric Allman w 1980 roku, jako część projektu SENDMAIL. Obecnie oprogramowanie SYSLOG jest wykorzystywane przez wiele platform sprzętowych oraz programowych, w celu integrowania zdarzeń pochodzących z różnych źródeł.

Zasada funkcjonowania SYSLOG jest dość prosta. Urządzenia i systemy operacyjne generują wiele informacji na temat bieżącego funkcjonowania. Wiadomości te mogą zostać zapisane lokalnie lub wysłane są do serwera SYSLOG. Przesyłane komunikaty stanowią niewielkie wiadomości tekstowe w postaci niekodowanego tekstu (istnieją jednak pewne wyjątki). Wiadomości SYSLOG są standardowo wysyłane przy pomocy protokołu UDP (port 514) lub protokołu TCP. W przypadku wykorzystania protokołu UDP do transmisji, naturalną konsekwencją jest brak potwierdzeń, że wiadomości dotarły do serwera. Może to powodować utraty cennych informacji. Z kolei wykorzystanie TCP przy sporym natłoku zdarzeń może wpływać na wydajność całego systemu.

Całkowita wielkość pakietu wysyłanego do serwera SYSLOG nie może przekroczyć 1024 bajty. Pakiet składa się z trzech zasadniczych części: priorytetu (PRI), nagłówka (HEADER) oraz wiadomości tekstowej (MSG). Wiadomość jest zawsze w całości tworzona przez urządzenie, które możemy określać mianem klienta SYSLOG. Priorytet to 8-bitowe pole określające źródło pochodzenia wiadomości oraz jej istotność. Dzięki tej funkcjonalności serwer SYSLOG będzie potrafił rozpoznać nadchodzące wiadomości i odpowiednio je klasyfikować. Wiadomości zazwyczaj są kategoryzowane na podstawie źródła generującego logi, które może stanowić system operacyjny, urządzenie sieciowe czy aplikacja. Źródło wiadomości najczęściej określa także ważność wiadomości. Nagłówek wiadomości zawiera znacznik czasowy oraz nazwę hosta lub adres IP urządzenia. Warto pamiętać, że znacznik czasowy będzie użyteczny jedynie w przypadku, jeżeli czas na urządzeniu generującym logi będzie aktualny. Warto zawsze ustawić na kliencie SYSLOG określony serwer NTP dla pewności poprawności generowanych znaczników czasowych. Wiadomość tekstowa zawiera komunikat wygenerowany przez klienta SYSLOG oraz dodatkowe informacje, w zależności od typu urządzenia generującego wiadomość.


TOP 200