Zakres monitorowania sieci
Duża sieć komputerowa składa się z wielu urządzeń, łączy i usług, których stan zmienia się w czasie. Administratorzy potrzebują danych z tych elementów, aby oceniać dostępność, wydajność i bezpieczeństwo. Regularny pomiar interfejsów, zasobów oraz zdarzeń pozwala wykrywać odchylenia i ustalać ich przyczyny.
Sieć komputerowa, od małej firmy po globalną korporację, obejmuje routery, przełączniki, serwery, drukarki i usługi transportujące dane. to ciągłe zbieranie i analiza informacji o tych elementach. Wyniki pomagają ustalić, czy sieć działa, gdzie występuje spowolnienie, jaka jest jego przyczyna oraz czy zachodzą podejrzane zdarzenia. Do monitoringu można włączyć metryki urządzeń, rekordy przepływów, komunikaty dziennika, alarmy i wybrane przechwyty pakietów. Każde źródło opisuje inny fragment sytuacji, dlatego przy interpretacji trzeba uwzględniać zakres pomiaru, częstotliwość próbkowania i czas rejestracji. Porównanie kilku źródeł pomaga odróżnić awarię urządzenia od przeciążenia usługi albo niepożądanego ruchu. Wymaga też spójnego czasu na hostach i urządzeniach, aby kolejność zdarzeń była możliwa do odtworzenia.
Część 1: SNMP, monitorowanie urządzeń sieciowych
Simple Network Management Protocol, czyli SNMP, jest protokołem używanym do odpytywania urządzeń o ich stan i parametry pracy. Wspiera zbieranie danych z routerów, przełączników, serwerów i innych urządzeń sieciowych.
Centralna stacja monitorująca odpytuje agentów SNMP działających na urządzeniach. Zapytania mogą dotyczyć między innymi wykorzystania procesora, przepustowości interfejsu, zajętości pamięci, temperatury i liczby błędów. Agent zwraca wartości opisane w bazie MIB.
Architektura SNMP i jej komponenty
Framework SNMP opiera się na trzech głównych, współpracujących ze sobą komponentach:
- Menedżer SNMP:
To centralna aplikacja, która aktywnie odpytuje urządzenia. Stacja Zarządzania Siecią (NMS) przechowuje i przetwarza zebrane dane, wyświetla je na wykresach i pulpitach oraz generuje alerty. Przykładowe platformy NMS to Zabbix, Nagios i SolarWinds Orion.
- Agent SNMP:
Agent to program działający na zarządzanym urządzeniu. Jest dostępny w routerach, przełącznikach, serwerach, drukarkach i zasilaczach awaryjnych (UPS). Zbiera i utrzymuje dane o urządzeniu oraz nasłuchuje zapytań menedżera SNMP, na które odpowiada.
- Baza Informacji Zarządczej (MIB):
Znaczenie obiektów i sposób interpretacji odpowiedzi definiuje . MIB jest formalnym, ustrukturyzowanym opisem zmiennych raportowanych przez agenta. Obiekty tworzą hierarchiczne drzewo, a każdy ma identyfikator OID. Sekwencja identyfikuje obiekt sysDescr, czyli opis systemu urządzenia.
Jak Komunikuje się SNMP: Podstawowe Operacje
Menedżer i agent używają kilku podstawowych operacji:
- GET Request: Menedżer żąda od agenta wartości określonego OID.
- GET-NEXT Request: Menedżer pyta agenta o wartość OID następującego po wskazanym OID w drzewie MIB. Pozwala to menedżerowi "przejść" całe drzewo MIB urządzenia bez znajomości wszystkich OID z góry. W SNMPv2 i SNMPv3 operacja GET-BULK pozwala pobrać większy zakres obiektów w jednym żądaniu, ograniczając liczbę wymian potrzebnych do odczytu tabel.
- SET Request: Menedżer zleca agentowi zmianę wartości zapisywalnej zmiennej. Operacja może zmienić konfigurację, dlatego jej użycie zwykle ogranicza polityka dostępu.
- TRAP: To niezamówiona wiadomość wysyłana przez agenta do menedżera. Agent zgłasza w ten sposób zdarzenie, takie jak awaria interfejsu, ponowne uruchomienie urządzenia lub przekroczenie progu wykorzystania procesora.
Ewolucja Bezpieczeństwa SNMP
W praktyce spotyka się trzy główne warianty SNMP, a rozwój protokołu obejmował również mechanizmy bezpieczeństwa.
- SNMPv1:Wersja oryginalna. Uwierzytelnianie opierało się na niezaszyfrowanym ciągu "community string" przesyłanym z żądaniem. Osoba podsłuchująca ruch mogła go przechwycić i odczytać dane lub, przy uprawnieniach zapisu, zmienić konfigurację urządzenia.
- SNMPv2c: Ta wersja wprowadziła pewne ulepszenia protokołu, ale nadal używała tego samego wadliwego modelu bezpieczeństwa opartego na community string co v1. Pozostaje niezabezpieczona dla współczesnych zastosowań.
- SNMPv3: Ta wersja zawiera mechanizmy bezpieczeństwa. Obejmuje między innymi Model Bezpieczeństwa Oparty na Użytkowniku (USM), który zapewnia trzy obszary ochrony:
- Uwierzytelnianie: Sprawdza pochodzenie wiadomości i jej integralność przy użyciu mechanizmu HMAC. Współczesne implementacje mogą obsługiwać HMAC-SHA-2.
- Prywatność: Zapewnia poufność danych przez szyfrowanie. Do tego celu stosuje się między innymi AES. DES należy traktować jako algorytm starszej generacji.
- Ochrona przed powtórzeniem: USM sprawdza aktualność wiadomości i odrzuca komunikaty poza dozwolonym oknem czasu.
Część 2: NetFlow i rekordy przepływów
SNMP opisuje stan urządzenia i liczniki interfejsów, lecz nie rejestruje szczegółów poszczególnych przepływów. Wartość natężenia ruchu nie wskazuje sama, które źródła, cele i protokoły odpowiadają za obciążenie.
IPFIX jest standardem IETF dla eksportu informacji o przepływach, a NetFlow jest rodziną formatów rozwijaną przez Cisco. Oba mechanizmy wspierają monitoring oparty na przepływach, lecz format rekordu i dostępne pola zależą od wersji oraz implementacji.
NetFlow i IPFIX eksportują rekordy opisujące przepływy. Router lub przełącznik obserwuje pakiety i tworzy metadane dla kolejnych przepływów. jest sekwencją pakietów przesyłanych w jednym kierunku między tymi samymi punktami końcowymi i współdzielących kluczowe atrybuty.
Architektura NetFlow
Podobnie jak SNMP, architektura NetFlow obejmuje kilka komponentów:
- Eksporter: Urządzenie sieciowe (np. router), które obserwuje żywy ruch, tworzy rekordy metadanych dla każdego przepływu i eksportuje te rekordy.
- Kolektor: Dedykowany serwer, który nasłuchuje, odbiera i przechowuje rekordy przepływów wysyłane przez jednego lub więcej eksporterów.
- Analizator: Aplikacja programowa, która przetwarza ogromną ilość surowych danych o przepływach przechowywanych w kolektorze. Koreluje dane i prezentuje je administratorom za pomocą wizualizacji, raportów i alertów.
W terminologii IPFIX eksporter wykonuje proces pomiaru, a kolektor odbiera rekordy od procesu eksportu. Szablon opisuje pola rekordu, dzięki czemu kolektor może poprawnie interpretować kolejne dane. Rekord przepływu opisuje metadane i statystyki, lecz nie zastępuje przechwytywania treści pakietów. Wdrożenie może stosować próbkowanie, agregację i filtry, które zmniejszają obciążenie eksportera oraz kolektora. Trzeba wtedy opisać te ustawienia w dokumentacji, ponieważ liczba rekordów nie musi odpowiadać liczbie wszystkich pakietów. IPFIX pozwala rozszerzać zestaw pól bez zmiany podstawowego modelu eksportu.
Anatomia Rekordu Przepływu
Pojedynczy rekord przepływu jest podsumowaniem metadanych i nie zawiera treści pakietów. Klasyczny rekord NetFlow v5 zawiera 7-krotkę:
- Źródłowy adres IP
- Docelowy adres IP
- Numer portu źródłowego
- Numer portu docelowego
- Typ protokołu warstwy 3 (np. TCP, UDP)
- Znacznik typu usługi (ToS)
- Wejściowy interfejs logiczny
Oprócz tych kluczy identyfikacyjnych, rekord zawiera również statystyki, takie jak całkowita liczba bajtów i pakietów w przepływie oraz znaczniki czasu rozpoczęcia i zakończenia. Nowsze, oparte na szablonach wersje, takie jak NetFlow v9 i IPFIX, mogą zawierać setki dodatkowych pól, takich jak flagi TCP, identyfikatory VLAN i wiele innych.
Kluczowe Zastosowania Danych o Przepływach
Metadane przepływów wspierają analizę wydajności i bezpieczeństwa:
- Analiza Przepustowości: NetFlow pozwala zobaczyć, którzy użytkownicy, aplikacje i przepływy zużywają najwięcej pasma. Dane wspierają diagnozowanie spowolnień, planowanie pojemności i egzekwowanie polityk użytkowania. Na przykład można zidentyfikować, czy powolne połączenie sieciowe jest spowodowane przez użytkownika uruchamiającego nieautoryzowaną aplikację peer-to-peer.
- Kryminalistyka Bezpieczeństwa i Wykrywanie Anomalii: Dane o przepływach dostarczają śladu audytowego aktywności sieciowej. Jeśli host zostanie zainfekowany złośliwym oprogramowaniem, można użyć rekordów przepływów, aby zobaczyć inne urządzenia, z którymi się komunikował, jakich portów używał i ile danych wysłał, co pomaga zidentyfikować zakres naruszenia. Można też wykrywać anomalie, takie jak serwer, który zwykle odbiera ruch internetowy, a nagle próbuje wysłać dużą ilość e-maili, co może wskazywać na infekcję spam-botem.
Strategia monitorowania sieci
SNMP i NetFlow/IPFIX dostarczają różnych danych, dlatego mogą być używane razem. Skuteczna strategia monitorowania łączy metryki urządzeń z informacjami o przepływach.
SNMP dla stanu urządzeń, NetFlow dla przepływów. SNMP służy do monitorowania obciążenia procesora, zużycia pamięci, temperatury, błędów interfejsów i zgłoszeń TRAP o zdarzeniach sprzętowych. NetFlow lub IPFIX opisuje strony komunikacji, używane protokoły i podejrzane wzorce ruchu.
Dane te uzupełnia się innymi źródłami:
- Syslog: Standard przesyłania komunikatów o zdarzeniach. Na przykład SNMP może wskazać obciążenie procesora na poziomie 95%, a Syslog może zawierać komunikat błędu procesu powodującego ten wzrost.
- Przechwytywanie Pakietów (np. Wireshark): Do szczegółowej analizy problemu można przechwycić pełną treść pakietów. Takie rozwiązanie nie skaluje się do ciągłego monitorowania całej sieci, lecz pozostaje przydatne w analizie kryminalistycznej konkretnego zdarzenia.
Logi i rekordy monitoringu powinny trafiać do chronionego, centralnego magazynu. Administrator ustala zakres zbieranych zdarzeń, retencję, synchronizację czasu, reguły alertów oraz uprawnienia do odczytu. Takie przygotowanie ułatwia korelację danych i zachowanie dowodów po incydencie. Warto rejestrować między innymi logowania, zmiany konfiguracji, błędy usług, operacje administracyjne i zdarzenia zapory. Logi powinny mieć kontrolę integralności oraz kopię poza monitorowanym systemem. Retencja musi odpowiadać wymaganiom organizacji i celowi analizy, a alert powinien wskazywać źródło, czas i warunek, który go wywołał. Profil normalnego zachowania urządzeń i przepływów ułatwia dobór progów. Administrator porównuje bieżące wartości z okresami historycznymi, zapisuje planowane okna prac i przekazuje alerty o wysokim priorytecie do procesu reagowania. Dane monitoringu trzeba chronić przed nieuprawnionymi zmianami, ponieważ mogą zawierać informacje operacyjne lub związane z bezpieczeństwem. Zsynchronizowane zegary ułatwiają korelację rekordów z różnych urządzeń. Centralny magazyn powinien ograniczać dostęp administracyjny, przechowywać kopię poza główną lokalizacją i rejestrować operacje wykonywane na danych monitoringu.
Skuteczny monitoring łączy metryki urządzeń, rekordy przepływów, logi i przechwytywanie pakietów. Centralizacja i korelacja tych danych ułatwiają wykrywanie odchyleń oraz odtworzenie przebiegu incydentu.