Untitled
Transkrypt
Untitled
Łukasz Witaszek 1 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Spis treści WYKAZ SKRÓTÓW…………………………………………………………………………………………………………………………..4 WYKAZ RYSUNKÓW………………………………………………………………………………………………………………………..6 WYKAZ TABEL……………………………………………………………………………………………………………………………......8 1 WSTĘP ............................................................................................................................... 9 1.1 SYSTEMY INFORMATYCZNE ......................................................................................................... 10 1.2 SIEĆ KOMPUTEROWA ................................................................................................................ 10 1.3 MODEL ZARZĄDZANIA SIECIĄ KOMPUTEROWĄ................................................................................ 11 2 CEL I ZAKRES PRACY ......................................................................................................... 14 3 MONITOROWANIE SIECI KOMPUTEROWYCH – ZAGADNIENIA PODSTAWOWE .................. 15 4 3.1 METRYKI SIECIOWE .................................................................................................................. 15 3.2 TYPY MONITOROWANIA ............................................................................................................ 17 3.3 WYMAGANIA STAWIANE SYSTEMOM MONITOROWANIA .................................................................. 17 3.4 OGRANICZENIA W MONITOROWANIU ........................................................................................... 18 TRADYCYJNE METODY ZARZĄDZANIA............................................................................... 20 4.1 4.1.1 Działanie protokołu SNMP......................................................................................... 21 4.1.2 Monitorowanie z wykorzystaniem SNMP .................................................................. 23 4.1.3 Ograniczenia SNMP ................................................................................................... 24 4.2 PROTOKÓŁ RMON .................................................................................................................. 24 4.2.1 Działanie protokołu RMON ....................................................................................... 25 4.2.2 Grupy zebrane w RMON v.1 MIB ............................................................................... 27 4.2.3 RMON2 ...................................................................................................................... 28 4.2.4 Monitorowanie z wykorzystaniem RMON – przykład ............................................... 29 4.3 5 PROTOKÓŁ SNMP ................................................................................................................... 20 SNMP I RMON – MOŻLIWOŚCI I OGRANICZENIA .......................................................................... 30 NOWOCZESNE METODY MONITOROWANIA – IDEA IPFIX ................................................. 32 5.1 „PRZEPŁYWOWY” SYSTEM MONITOROWANIA SIECI ......................................................................... 32 5.2 IPFIX – NOWY STANDARD MONITOROWANIA PRZEPŁYWÓW ............................................................. 35 5.2.1 Pierwsze implementacje producentów...................................................................... 35 5.2.2 Standard IPFIX – RFC 3917 ........................................................................................ 36 5.3 IPFIX ORAZ NETFLOW – WSPÓLNE PODSTAWY .............................................................................. 37 5.3.1 Pojęcia podstawowe.................................................................................................. 37 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 2 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5.3.2 5.4 6 Aplikacje korzystające z IPFIX .................................................................................... 41 5.4.2 Rozróżnianie przepływów .......................................................................................... 42 5.4.3 Wymagania stawiane procesowi monitorowania ..................................................... 43 5.4.4 Model informacji – jakie informacje o przepływach są eksportowane ..................... 45 5.4.5 Model danych – jak skonstruowany jest rekord przepływu....................................... 47 5.4.6 Przesyłanie danych – co należy wziąć pod uwagę ..................................................... 47 5.4.7 Zagadnienia konfigurowania sondy .......................................................................... 48 5.4.8 Zalecenia ogólne........................................................................................................ 49 5.4.9 Lokalizacja punktów obserwacji i procesów IPFIX ..................................................... 50 5.4.10 Zagadnienia bezpieczeZstwa ..................................................................................... 51 NETFLOW V.9 – CISCO IMPLEMENTUJE IPFIX .................................................................... 53 RFC3954 - CISCO SYSTEMS NETFLOW SERVICES EXPORT VERSION 9 ................................................ 53 6.1.1 Pojęcia podstawowe.................................................................................................. 53 6.1.2 Proces tworzenia przepływów ................................................................................... 55 6.1.3 Dostęp do danych przepływów – poprzez interfejs urządzeZ .................................... 58 6.1.4 Dostęp do danych przepływów - proces eksportowania przepływów ....................... 59 6.1.5 Struktura pakietu eksportowego (ang. Packet Layout) ............................................. 60 6.1.6 Formaty zbiorów rekordów (ang. FlowSet Format)................................................... 62 6.1.7 Pakiety opcji .............................................................................................................. 64 6.1.8 Zarządzanie wzorcami ............................................................................................... 67 6.1.9 Definicje typów pól opisujących parametry przepływów .......................................... 69 6.1.10 Proces kolektora ........................................................................................................ 74 6.1.11 Zagadnienia bezpieczeZstwa ..................................................................................... 74 6.2 PRZYKŁAD............................................................................................................................... 75 NETFLOW W PRAKTYCE – WSKAZÓWKI IMPLEMENTACYJNE ............................................. 77 7.1 WŁAŚCIWA ARCHITEKTURA SYSTEMU ........................................................................................... 77 7.1.1 Oprogramowanie stacji zarządzania ......................................................................... 77 7.1.2 Rozmieszczenie sond protokołu NetFlow .................................................................. 81 7.2 8 IPFIX – DALSZE ZAŁOŻENIA PROTOKOŁU ....................................................................................... 41 5.4.1 6.1 7 Architektura............................................................................................................... 40 PRZYKŁAD WYKORZYSTANIA NETFLOW - OCHRONA PRZED ATAKIEM ZŁOŚLIWEGO OPROGRAMOWANIA ..... 83 MONITOROWANIE Z WYKORZYSTANIEM NETFLOW ......................................................... 84 8.1 PROGRAM ANALIZUJĄCY PRZEPŁYWY ............................................................................................ 84 8.2 MONITOROWANIE SIECI DOMOWEJ – TOPOLOGIA PROSTA ............................................................... 87 8.2.1 Opis topologii ............................................................................................................ 87 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 3 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.2.2 Konfiguracja routera Linksys WRT54GL .................................................................... 87 8.2.3 Prezentacja i analiza przepływów ............................................................................. 90 8.3 8.3.1 Opis topologii ............................................................................................................ 96 8.3.2 Konfiguracja routera Cisco 2651 ............................................................................... 96 8.3.3 Prezentacja i analiza przepływów ............................................................................. 98 8.4 10 MONITOROWANIE SIECI W KORPORACJI ...................................................................................... 102 8.4.1 Opis topologii .......................................................................................................... 102 8.4.2 Konfiguracja routera Cisco 2621XM ........................................................................ 103 8.4.3 Prezentacja i analiza przepływów ........................................................................... 103 8.5 9 MONITOROWANIE SIECI DOMOWEJ – TOPOLOGIA ROZBUDOWANA .................................................... 96 WNIOSKI .............................................................................................................................. 106 DALSZY ROZWÓJ METOD MONITOROWANIA ................................................................. 108 9.1 SFLOW ................................................................................................................................. 108 9.2 FLEXIBLE NETFLOW ................................................................................................................ 110 9.3 CISCO NBAR – ROZPOZNAWANIE APLIKACJI ................................................................................ 113 BIBLIOGRAFIA ................................................................................................................ 115 Dodatek A - zawartość nośnika CD-ROM dołączonego do pracy Dodatek B - raport z systemu Plagiat.pl Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 4 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wykaz skrótów ARP Address Resolution Protocol ARPANET Advanced Research Projects Agency Network BGP Border Gateway Protocol CLI Command Line Interface DHCP Dynamic Host Configuration Protocol DNS Domain Name System ESP Encapsulated Security Payload ICMP Internet Control Message Protocol IETF Internet Engineering Task Force IOS Internetwork Operating System IP Internet Protocol IPFIX IP Flow Information Eoport IPSec IP security ISO International Organization for Standardization LAN Local area network MAC Media Access Control MIB Management Information Base MPLS Multiprotocol Label Switching NBAR Network Based Application Recognition NFCC NetFlow Feature Card NMS Network management station NNM HP Network Node Manager OSI Open Systems Interconnection Basic Reference Model P2P Peer-to-peer PDLM Packet Description Language Module QoS Quality of service RFC Request for Comments RMON The Remote Network MONitoring SCTP Stream Control Transmission Protocol TCP Transmission Control Protocol TOS Type of Service TTL Time to live UDP User Datagram Protocol UPS Uninterruptible power supply UTC Coordinated Universal Time Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 5 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow VLAN Virtual LAN VPN Virtual private network WAN Wide area network WWW World Wide Web Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 6 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wykaz rysunków RYSUNEK 3.1 WYKORZYSTANIE ŁĄCZA W PROTOKOLE ETHERNET ................................................................................... 16 RYSUNEK 3.2 WYKORZYSTANIE ŁĄCZA - Z DEFINICJI ..................................................................................................... 16 RYSUNEK 4.1 SCHEMAT DZIAŁANIA SNMP (3) .......................................................................................................... 22 RYSUNEK 4.2 MRTG - PRZYKŁAD STATYSTYK (10)...................................................................................................... 23 RYSUNEK 4.3 RMON – PRZYKŁAD STATYSTYK ............................................................................................................ 29 RYSUNEK 5.1 PORÓWNANIE 5. I 9. WERSJI NETFLOW ................................................................................................. 36 RYSUNEK 5.2 ALGORYTM PROCESU KLASYFIKOWANIA (24)........................................................................................... 38 RYSUNEK 5.3 ARCHITEKTURA IPFIX ......................................................................................................................... 40 RYSUNEK 5.4 ROZMIESZCZENIE ELEMENTÓW IPFIX W ARCHITEKTURZE SPRZĘTOWEJ (24) .................................................. 50 RYSUNEK 6.1 PROCES ANALIZOWANIA PAKIETÓW ....................................................................................................... 55 RYSUNEK 6.2 TWORZENIE REKORDU PRZEPŁYWU #1 ................................................................................................... 57 RYSUNEK 6.3 TWORZENIE REKORDU PRZEPŁYWU #2 ................................................................................................... 57 RYSUNEK 6.4 TWORZENIE REKORDU PRZEPŁYWU #3 ................................................................................................... 57 RYSUNEK 6.5 TWORZENIE I EKSPORT REKORDÓW PRZEPŁYWÓW .................................................................................... 60 RYSUNEK 6.6 PAKIET EKSPORTOWY (26) .................................................................................................................. 60 RYSUNEK 6.7 NAGŁÓWEK PAKIETU EKSPORTOWEGO (26) ............................................................................................ 61 RYSUNEK 6.8 FORMAT ZBIORU REKORDÓW WZORCA (26)............................................................................................ 62 RYSUNEK 6.9 FORMAT ZBIORU REKORDÓW DANYCH PRZEPŁYWÓW (26) ......................................................................... 63 RYSUNEK 6.10 FORMAT WZORCA ZBIORU REKORDÓW OPCJI (26) .................................................................................. 64 RYSUNEK 6.11 FORMAT ZBIORU REKORDÓW OPCJI (26) .............................................................................................. 66 RYSUNEK 6.12 PRZYKŁAD ZBIORU REKORDÓW WZORCA (26) ........................................................................................ 75 RYSUNEK 7.1 PODZIAŁ ARCHITEKTURY NETFLOW (30) ................................................................................................ 77 RYSUNEK 7.2 KOMPONENTY STACJI ZARZĄDZANIA NETFLOW ........................................................................................ 78 RYSUNEK 8.1 GŁÓWNE OKNO APLIKACJI NETFLOW ANALYZER....................................................................................... 86 RYSUNEK 8.2 TOPOLOGIA PROSTEJ SIECI DOMOWEJ .................................................................................................... 87 RYSUNEK 8.3 EKRAN POMOCY DLA PROGRAMU RFLOW ................................................................................................ 88 RYSUNEK 8.4 URUCHOMIENIE MONITOROWANIA – RFLOW .......................................................................................... 89 RYSUNEK 8.5 ROUTER LINKSYS - CHARAKTERYSTYKA QUICK VIEW #1: INTERFEJS WAN ..................................................... 91 RYSUNEK 8.6 ROUTER LINKSYS - UDZIAŁ APLIKACJI W WYKORZYSTANIU ŁACZA WAN ......................................................... 93 RYSUNEK 8.7 ROUTER LINKSYS - APLIKACJE WYKORZYSTYWANE W KONWERSACJACH ......................................................... 94 RYSUNEK 8.8 ROUTER LINKSYS - ODBIORCY KONWERSACJI ............................................................................................ 94 RYSUNEK 8.9 ROUTER LINKSYS - ŹRÓDŁA KONWERSACJI ............................................................................................... 94 RYSUNEK 8.10 TOPOLOGIA ROZBUDOWANEJ SIECI DOMOWEJ ....................................................................................... 96 RYSUNEK 8.11 EKRAN INFORMACYJNY - ROUTER CISCO 2651 ...................................................................................... 97 RYSUNEK 8.12 URUCHOMIENIE MONITOROWANIA NA CISCO 2651 #1 .......................................................................... 98 RYSUNEK 8.13 URUCHOMIENIE MONITOROWANIA NA CISCO 2651 #2 .......................................................................... 98 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 7 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow RYSUNEK 8.14 URUCHOMIENIE MONITOROWANIA NA CISCO 2651 #3 .......................................................................... 98 RYSUNEK 8.15 ROUTER CISCO 2651 - RAPORT TRAFFIC, PERSPEKTYWA VOLUME ............................................................. 99 RYSUNEK 8.16 ROUTER CISCO 2651 - RAPORT TRAFFIC, PERSPEKTYWA VOLUME [20:00-01:00 NASTĘPNEGO DNIA] ............. 99 RYSUNEK 8.17 ROUTER CISCO 2651 - RAPORT TRAFFIC, PERSPEKTYWA PACKETS [20:00-01:00 NASTĘPNEGO DNIA] ........... 100 RYSUNEK 8.18 ROUTER CISCO 2651 - RAPORT CONVERSATION, PERSPEKTYWA APPLICATION [20:00-01:00 NASTĘPNEGO DNIA] ............................................................................................................................................................. 100 RYSUNEK 8.19 CISCO 2651 - RAPORT CONVERSATION, PERSPEKTYWA SOURCE [20:00-01:00 NASTĘPNEGO DNIA] ............. 101 RYSUNEK 8.20 TOPOLOGIA SIECI DEPARTAMENTU W BRE BANKU ............................................................................... 102 RYSUNEK 8.21 CISCO 2621 XM- RAPORT TRAFFIC, PERSPEKTYWA VOLUME [8:00-14:00] ............................................ 103 RYSUNEK 8.22 CISCO 2621 XM- RAPORT TRAFFIC, PERSPEKTYWA VOLUME [9:15-10:33] ............................................ 104 RYSUNEK 8.23 CISCO 2621 XM- RAPORT CONVERSATION, RUCH WYCHODZĄCY, PERSPEKTYWA APPLICATION [9:15-10:33] 104 RYSUNEK 8.24 CISCO 2621 XM- RAPORT CONVERSATION, RUCH WYCHODZĄCY, PERSPEKTYWA SOURCE [9:15-10:33] ....... 105 RYSUNEK 9.1 FLEXIBLE NETFLOW - WIELE MONITORÓW TEGO SAMEGO PRZEPŁYWU ....................................................... 111 RYSUNEK 9.2 ARCHTEKTURA FLEXIBLE NETFLOW ..................................................................................................... 112 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 8 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wykaz tabel TABELA 6.1 ZALEŻNOŚCI POJĘĆ NETFLOW (26).......................................................................................................... 54 TABELA 6.2 TABELA TYPÓW PÓL (26)....................................................................................................................... 73 TABELA 6.3 PRZYKŁADOWE PRZEPŁYWY (26) ............................................................................................................. 75 TABELA 6.4 PRZYKŁADOWY ZBIÓR REKORDÓW DANYCH PRZEPŁYWÓW (26) ..................................................................... 76 TABELA 7.1 KOMERCYJNE OPROGRAMOWANIE STACJI ZARZĄDZANIA (16) ....................................................................... 80 TABELA 7.2 BEZPŁATNE OPROGRAMOWANIE STACJI ZARZĄDZANIA (16) .......................................................................... 81 TABELA 7.3 LOKALIZACJE SOND I ZADANIA MONITOROWANIA - SIEĆ KORPORACJI CISCO...................................................... 82 TABELA 8.1 WYMAGANIA SPRZĘTOWE PROGRAMU NETFLOW ANALYZER ........................................................................ 85 TABELA 8.2 ROUTER LINKSYS - CHARAKTERYSTYKA QUICK VIEW #2: INTERFEJS WAN ....................................................... 91 TABELA 8.3 ROUTER LINKSYS - CHARAKTERYSTYKA QUICK VIEW #3: INTERFEJS WAN ....................................................... 91 TABELA 8.4 ROUTER LINKSYS - CHARAKTERYSTYKA QUICK VIEW #4: INTERFEJS WAN ....................................................... 92 TABELA 9.1 IANA TABELA PORTÓW ....................................................................................................................... 113 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 9 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 1 Wstęp Społeczeństwo przełomu wieków określane jest wieloma sformułowaniami, wśród których często przewija się termin „społeczeństwo informacyjne”. Błyskawiczny rozwój technologii informatycznych obserwowany w ostatnich latach sprzyja popularyzacji komputerów. Dla większości aktywnych społecznie i zawodowo ludzi w krajach rozwiniętych (lub szybko się rozwijających) wykorzystanie technik komputerowych jest czymś naturalnym. Komputery są nieodłącznym elementem wyposażenia praktycznie każdego biura oraz większości domów i mieszkań. Upowszechnianie się komputerów w połączeniu z coraz popularniejszym Internetu pozwalają nam na łatwy dostęp do informacji oraz jej łatwą wymianę, dlatego też określenie „społeczeństwo informacyjne” nabiera większego sensu wraz z każdym nowym użytkownikiem Sieci. W prywatnym życiu wiele osób nie wyobraża sobie funkcjonowanie bez wykorzystywania zdobyczy techniki, jednak brak telefonu komórkowego lub komputera z podłączeniem do Internetu nie oznacza katastrofy i nie wiąże się z żadnymi stratami. Zupełnie inaczej wygląda sytuacja w odniesieniu do komercyjnych zastosowań informatyki. Nie wyobrażamy sobie współczesnego biura, banku, zakładu przemysłowego lub instytucji bez infrastruktury informatycznej. Dla postronnych obserwatorów są to po prostu „komputery”, dla użytkowników (osób korzystających z owych komputerów) jest to „system komputerowy” a dla specjalistów z dziedziny informatyki są to elementy infrastruktury, składające się z wymienionych wcześniej komponentów („komputer” – stacja robocza, „system komputerowy” – główna aplikacja (lub ich zestaw) wykorzystywana w danej instytucji) oraz wielu innych elementów – systemów operacyjnych, sprzętu i oprogramowania serwerów oraz sieci komputerowej pozwalającej na komunikację pomiędzy wszystkimi elementami systemu. To właśnie ta połączona ze sobą wieloelementowa struktura jest narzędziem wykorzystywanym w tak wielu dziedzinach współczesnego życia. Warto zwrócić uwagę na fakt, iż w przeważającej większości zastosowań o potencjale systemu świadczy możliwość wymiany informacji. Samodzielne stanowiska komputerowe z zainstalowanymi aplikacjami posiadają możliwość przetwarzania informacji zgromadzonych lokalnie, co w praktyce ma niewielki obszar zastosowań. Dopiero wymiana (dodajmy – bardzo szybka) tych informacji pomiędzy wieloma stanowiskami i użytkownikami danego systemu sprawia, iż istnienie systemu ma sens i ułatwia pracę. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 10 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 1.1 Systemy informatyczne Wymienione wcześniej we wstępie pojęcie system informatyczny wymaga doprecyzowania, tak aby z właściwej perspektywy spojrzeć na główny temat niniejszej pracy – sposoby zarządzania sieciami komputerowymi. „System informatyczny - jest to zbiór powiązanych ze sobą elementów, którego funkcją jest przetwarzanie danych przy użyciu techniki komputerowej” (1). Użytkownicy systemu zapytani o główne jego składniki wymienią najczęściej stację roboczą – komputer, jako fizyczną część systemu, niektórzy wspomną również o zainstalowanym oprogramowaniu i urządzeniach peryferyjnych. Bardzo niewiele osób jest świadomych istnienia infrastruktury sieciowej a tym bardziej jej znaczenia dla poprawnego funkcjonowania systemu jako całości. Sieć komputerowa ma dla właściwego i pełnego działania systemu (a co za tym idzie dla efektywności działania całej organizacji) znaczenie fundamentalne. Różnego rodzaju badania wykazały, iż awaria sieci w dużej organizacji prowadzi do strat operacyjnych liczonych w milionach dolarów. 1.2 Sieć komputerowa Sieć komputerowa, łącząc wszystkie elementy struktury systemu pozwala na jego prawidłowe funkcjonowanie, co przekłada się na generowane za pomocą tegoż systemu zyski. Wydawałoby się zatem, że ze względu na newralgiczność sieci jako składnika spajającego system, wiedza o funkcjonowaniu sieci jak i regularne działania monitorujące jej sprawność są priorytetowymi zadaniami zespołów utrzymujących system informatyczny w stanie pełnej funkcjonalności. Okazuje się jednak, że w wielu przypadkach zagadnieniom utrzymania sieci poświęca się o wiele mnie zasobów niż pozostałym elementom systemu. Wynika to z wielu czynników, do których możemy zaliczyć: • przygotowanie przez producentów sprzętu sieciowego domyślnej konfiguracji (ang. Out of the box, Plug and Play), co umożliwia włączenie urządzenia do systemu bez dokonywania czasochłonnych zabiegów optymalizujących ustawienia urządzenia; • usterki i błędy w działaniu sieci są często ukryte, ujawniają się z biegiem czasu i zmianą nasilenia eksploatacji (nowa sieć projektowana jest z zachowaniem marginesu na potrzeby rozwoju organizacji – właśnie ten nadmiar zasobów często nie pozwala dostrzec błędów w ustawieniach, przez co zasoby nie są wykorzystywane efektywnie. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 11 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Jak widzimy przygotowanie sprawnej infrastruktury sieciowej nie jest prostą sprawą. Wydaje się jednak, że rzeczą bardziej złożoną, ale równocześnie niezbędną do jej prawidłowego działania jest właściwe zarządzanie obszarem sieci komputerowej. 1.3 Model zarządzania siecią komputerową Utrzymanie systemu informatycznego w stanie sprawności operacyjnej jest zadaniem administratorów. „Administrator (potocznie admin) - informatyk zajmujący się zarządzaniem całością lub wydzieloną częścią systemu informatycznego, odpowiadający za jej sprawne działanie.” (2). Wdrażanie wielu nowych aplikacji sieciowych sprawia, że środowisko sieciowe jest coraz dynamiczniejsze i wymaga wytężonej uwagi administratorów. Aby usystematyzować zagadnienia administrowania sieciami komputerowymi Międzynarodowa Organizacja Normalizacyjna – ISO (International Organization for Standardization) wprowadziła standardy dotyczące sieci komputerowych w postaci pięcioelementowego modelu systemu zarządzania siecią komputerową. W oparciu o niego tworzone są narzędzia zarządzania sieciami komputerowymi oraz oprogramowanie sprzętu sieciowego. W omawianym modelu Organizacja wyróżniła (3): • zarządzanie w sytuacjach awaryjnych (Fault Management) Zadaniem zarządzania w sytuacjach awaryjnych jest wykrywanie, raportowanie i informowanie użytkowników oraz (na ile to jest możliwe) automatyczne naprawianie wykrytych problemów. Ze względu na poważne konsekwencje awarii sieci dla funkcjonowania całości systemu ten element modelu jest najczęściej implementowanym spośród tu wymienionych (4); • zarządzanie wykorzystaniem zasobów (Accounting Management) Ten element modelu odpowiada za analizę wykorzystania dostępnych zasobów przez użytkownika lub grupę użytkowników, usługę lub grupę usług. W wielu organizacjach system informatyczny jest narzędziem, przy pomocy którego generowane są zyski przez działy spoza obszaru informatyki – informatyka jest działem pomocniczym, nie tworzy przychodu dla firmy. Managerowie w takich organizacjach często chcą rozliczenia kosztów, które powstają w obszarze informatyki, najczęściej w rozłożeniu na poszczególne obszary działalności biznesowej. Pozwala to na rozłożenie kosztów utrzymania systemu zgodnie ze stopniem jego wykorzystania przez poszczególne jednostki biznesowe. I w tym miejscu niezbędny okazuje się bieżący monitoring wykorzystania zasobów sieciowych, dzięki któremu można Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 12 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow przedstawić zestawienie wykorzystania sieci przez różne departamenty w organizacji; • zarządzanie konfiguracją i nazwami (Configuration Management) Celem zarządzania konfiguracją jest zbieranie informacji o konfiguracji urządzeń, co jest szczególnie ważne w przypadku wykorzystywania zróżnicowanego sprzętowo i programowo środowiska sieciowego (4) • zarządzanie wydajnością (Performance Management) Głównym zadaniem jest zapewnienie właściwej wydajności sieci: w chwili obecnej coraz powszechniejsze stają się usługi IP (ang. IP Services), przykładem może być telefonia IP , które wysoko podnoszą poprzeczkę dla istniejących sieci komputerowych, dostosowanych do transmisji danych bez konieczności spełnienia wymogu przesyłu w czasie rzeczywistym. Właściwie realizowane zarządzanie wydajnością pozwala na łatwe przygotowanie planów rozwoju sieci: obserwując wykorzystanie dostępnych zasobów można szybko i precyzyjnie odpowiedzieć na pytanie „Dlaczego system jest mało wydajny? Czy jest to problem serwera aplikacji, czy może sieć jest niewydolna?”. Analiza raportów pozwoli z wyprzedzeniem wskazać obciążone elementy i odpowiednio zaplanować zmiany (np. rozbudowę) sieci (5); • zarządzanie bezpieczeństwem (Security Management) Zarządzanie bezpieczeństwem to przede wszystkim kontrola dostępu do zasobów sieciowych zgodnie z zasadami realizowanej polityki bezpieczeństwa. Ważne jest również wykrywanie ataków złośliwego oprogramowania (kontrola aplikacji sieciowych): bieżący monitoring sieci pozwala w łatwy sposób wychwytywać anomalie i zjawiska, które mogą świadczyć o potencjalnym zagrożeniu złośliwym oprogramowaniem lub też o ataku (np. typu DoS) (5). Zarządzanie bezpieczeństwem to bardzo szerokie zagadnienie, które należy rozważać na wszystkich płaszczyznach systemu informatycznego (bezpieczeństwo sieci jest jednym z elementów decydujących o bezpieczeństwie systemu jako całości). Uwaga: pojęcie nadzorowania/zarządzania siecią komputerową jest ściśle związane z jej monitorowaniem. Temat niniejszej pracy jest bardzo pojemny, należy jednak zwrócić uwagę, iż protokół NetFlow jest protokołem monitorowania sieci. Dlatego też to właśnie monitorowanie (będące jedną ze składowych zarządzania siecią) jest główną osią pracy i Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 13 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow przedstawiane przeze mnie technologie i standardy są opisywane głównie z perspektywy realizacji zadań monitorowania (choć omawiane technologie posiadają również inne funkcjonalności). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 14 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 2 Cel i zakres pracy Niniejsza praca ma na celu przedstawienie zagadnień zarządzania siecią komputerową, ze szczególnym uwzględnieniem możliwości, jakie w tej dziedzinie daje protokół NetFlow. W pierwszej części pracy, obejmującej rozdziały 1., 3. oraz 4. omówione zostają ogólne zagadnienia związane z pojęciem sieci komputerowych, ich znaczeniem we współczesnym życiu oraz rozwojem na przestrzeni ostatnich lat. Dalej przedstawię konieczność wprowadzania mechanizmów monitorowania pracy infrastruktury sieciowej oraz omówię tradycyjne metody realizowania zadania nadzoru sieci komputerowej. Rozdziały 5. i 6. to przedstawienie i dokładne omówienie podstaw nowoczesnych metod monitorowania. Przedstawione zostaną metody wykorzystujące w monitorowaniu pojecie przepływu: zarówno jako standard IPFIX, jak i jego praktyczna implementacja w postaci protokołu NetFlow v9. Kolejne dwa rozdziały to opis wykorzystania opisanego od strony teoretycznej protokołu NetFlow w zastosowaniach praktycznych. Przedstawione zostaną zagadnienia poprzedzające implementację: wybór oprogramowania zarządzającego oraz umiejscowienie elementów architektury tego protokołu. Praktyczne wykorzystanie NetFlow zostanie opisane na przykładzie trzech sieci, w których zostanie wdrożone monitorowanie i przeprowadzone zostaną analizy wyników prowadzonych obserwacji. Zwieńczeniem przeprowadzonych badań są wnioski podsumowujące możliwości jakie daje zastosowanie tej technologii w monitorowaniu. Ostatni rozdział omawia kierunki, w których ewoluuje NetFlow i inne metody analizowania przepływów. Przedstawione też będzie krótko rozwiązanie rozpoznawania aplikacji sieciowych – Cisco NBAR. Prawidłowa identyfikacja aplikacji sieciowych leży u podstaw skutecznego monitorowania współczesnych sieci, dlatego w niniejszej pracy zostanie przedstawiona również ta technologia. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 15 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 3 Monitorowanie sieci komputerowych – zagadnienia podstawowe Zarządzanie siecią jest w znacznej mierze oparte na monitorowaniu jej pracy zgodnie z zaprezentowanym wyżej modelem. Monitorowanie, inaczej mierzenie i analiza wyników tychże pomiarów, wymaga określenia metryk, które pozwolą na dokonywanie porównań i określanie wymagań. 3.1 Metryki sieciowe W technice sieciowej możemy wyróżnić kilka głównych wskaźników (metryk), które zostaną poniżej krótko opisane (3) (6): Wskaźniki parametrów wpływających bezpośrednio na jakość usług sieciowych: 1. Dostępność (ang. Availability) [%] – procent czasu dostępności dla użytkownika danej usługi lub zasobu. Najczęściej wyrażana wzorem: gdzie: MTBF – Mean Time Between Failures – średni czas między awariami MTTR – Mean Time To Repair – średni czas usunięcia awarii 2. Czas odpowiedzi (ang. Response Time) [s] – czas odpowiedzi systemu na żądanie wykonania określonego zadania. W złożonym systemie czas odpowiedzi zależy od wielu czynników, które najczęściej ten czas wydłużają. Główną składową tego parametru w przypadku aplikacji sieciowych jest opóźnienie w przesyłaniu pakietów przez sieć, które wynika z ograniczeń danego medium transmisyjnego oraz konieczności analizy danych zawartych w pakietach przez kolejne elementy sieciowe (szczególnie istotne w przypadku sieci przełączanych). Pożądane jest minimalizowanie czasu odpowiedzi systemu, co ma szczególne znaczenie w przypadku aplikacji interaktywnych. 3. Dokładność (ang. Accuracy) [-] – parametr określający jakość komunikacji na podstawie ilości błędów transmisji. O dokładność transmisji dbają (w większości przypadków) protokoły łącza danych oraz protokoły transportowe, uwalniając użytkownika od konieczności wnikliwego analizowania tego obszaru. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 16 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wskaźniki parametrów wpływających bezpośrednio na wydajność: 1. Przepustowość (w odróżnieniu jednak od parametru określającego techniczne możliwości medium należałoby wprowadzić pojęcie przepływności, ang. Throughput)[b/s] – wskaźnik charakteryzujący dostępne łącze pod względem jego wykorzystania przez daną aplikację (np. ilość możliwych do przesłania pakietów, zestawionych połączeń terminalowych). Przepustowość jest różna dla różnych aplikacji, co odróżnia ją od często zamiennie (błędnie) stosowanego pojęcia szerokości pasma (ang. bandwidth), które niezależnie charakteryzuje medium transmisyjne. 2. Wykorzystanie (ang. Utilization) [%] – określenie procentowe reprezentujące czas wykorzystania zasobu w stosunku do całego czasu, w którym wykonywany jest pomiar. Definicja ta opiera się na fakcie całkowitego zawłaszczania łącza przez transmisję: np. w przypadku połączeń Ethernet, gdzie transmisja jednej stacji wymusza oczekiwanie innych na możliwość przeprowadzenia transmisji (system wykrywania kolizji). Poniższy rysunek przedstawia wykorzystanie przepustowości łącza (bandwidth = 10 MB/s) w czasie wyrażanym w mikrosekundach: transmisja[kb/s] 20 10 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Rysunek 3.1 Wykorzystanie łącza w protokole Ethernet Gdy jednak wydłużymy okres obserwacji (czas wyrażony w milisekundach) i będziemy się przyglądać wykorzystaniu łącza definiowanym w powyższy sposób, to wykres wykorzystania łącza będzie się prezentował następująco: wykorzystanie [%] 100 50 0 1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 Rysunek 3.2 Wykorzystanie łącza - z definicji Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 17 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wskaźniki parametrów związanych z charakterystyką medium transmisyjnego: 1. Przepustowość (ang. Bandwidth) [b/s] – „maksymalna ilość informacji (mierzonej w bitach) jaka może być przesyłana przez dany kanał telekomunikacyjny lub łącze w jednostce czasu (mierzonej w sekundach).” (7) 3.2 Typy monitorowania Gdy mówimy o monitorowaniu sieci możemy usystematyzować kilka różnych sposobów jego realizacji. I tak możemy wyróżnić pomiary aktywne oraz pomiary pasywne (6). Aktywne pomiary polegają na obserwowaniu zachowania się pakietów generowanych tylko na potrzeby dokonywanego monitorowania. Przykładem może tu być ping, lub traceroute – programy wysyłające w sieć spreparowane pakiety danych i przedstawiające ich zachowanie się w sieci. Pomiary aktywne zwykle wykonywane są jako pomiary punkt końcowy – punkt końcowy (np. stacja – serwer), bez szczegółowych informacji co dzieje się pomiędzy tymi punktami. Pomiary pasywne opierają się na obserwowaniu istniejącej w sieci wymiany danych, bez wprowadzania do sieci testowych pakietów. Najczęściej pomiar pasywny ogranicza zasięg monitoringu do zasięgu obserwowanego połączenia (np. router – router). Innym podziałem metod pomiarowych jest rozróżnienie monitorowania inline oraz monitorowanie offline. W pierwszym przypadku protokoły wykorzystywane do monitorowania przesyłają dane z wykorzystaniem łącza, które monitorują (np. SNMP). W przypadku metody offline wyniki pomiarów przekazywane są za pomocą innych (często dedykowanych do tego celu) połączeń. 3.3 Wymagania stawiane systemom monitorowania Krótko przedstawione powyżej elementy modelu monitorowania zdefiniowane przez ISO są podstawą tworzenia skutecznego systemu nadzorującego pracę sieci. Konieczne jest jednak uzupełnienie modelu teoretycznego wskazówkami praktycznymi, które pozwalają na dostosowanie systemu do rzeczywistych oczekiwań użytkowników. Głównym aspektem praktycznym monitorowania jest zbieranie i prezentowanie takich parametrów środowiska sieciowego, które pozwala na jego kontrolę z właściwej perspektywy. Użytkownik końcowy systemu, wykorzystujący sieć do pracy z określonymi aplikacjami będzie żądał ich sprawnego działania – szybkiego otwierania stron WWW, dostępności do serwerów pocztowych, komunikatorów, VoIP itp. W tym przypadku kon- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 18 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow trola jedynie stanu sieci komputerowej nie pozwala w pełni diagnozować problemów – mogą one być spowodowane przerwami w pracy serwerów usług wymaganych przez użytkownika lub ich obciążeniem. Z innej strony na zagadnienia monitorowania będą patrzeć dostawcy połączeń – dla nich monitorowanie oznacza ciągłą kontrolę pracy urządzeń sieciowych, sprawności łącz, zasilania, stanu łącz zapasowych itd. Widzimy więc, że użytkownicy końcowi oraz dostawcy usług (w tym przypadku usługi dostępu do sieci) mówią „innym językiem”. Dlatego tak ważne jest, aby przy tworzeniu systemu monitorującego mieć świadomość potrzeb odbiorcy tego systemu. Połączenie modelu ISO oraz praktycznych wymagań pozwala na przedstawienie głównych wymagań funkcjonalnych systemu (6): • pomiar i prezentacja ilości i częstotliwości wymiany danych pogrupowanych wg aplikacji (serwisu), stacji komputerowej (klienta, serwera) - obserwacja pozwala identyfikować szczególnie obciążone zasoby oraz wykrywać anomalie; • tworzenie logicznych grup węzłów sieci (np. departament, lokalizacja geograficzna, podsieci adresowe) – możliwość powiązania wykorzystywanych zasobów z jednostką organizacyjną, obserwacja trendów w wykorzystaniu zasobów przez określone obszary organizacji; • filtry i wyjątki, określone wzorce przepływów – automatyzacja w wykrywaniu zagrożeń i alarmowaniu anomalii; • raportowanie w oparciu o określone kryteria, wywoływane w określonym czasie (raporty dobowe, z określonego zakresu pracy sieci) – ułatwione analizowanie zapotrzebowania na usługi w określonych przedziałach czasowych. 3.4 Ograniczenia w monitorowaniu Wymienione w poprzednim podrozdziale wymagania stawiane przed systemami do monitoringu sieci muszą zostać spełnione pomimo wielu ograniczeń, które znacząco utrudniają stworzenie poprawnie działającego systemu. Należy przede wszystkim pamiętać, iż (6): • urządzenia sieciowe mają ograniczone zasoby – monitoring jest procesem podrzędnym względem poprawnego przesyłania danych. Powoduje do konieczność ograniczania monitoringu do kilku wybranych protokołów, monitorowania zagregowanego (np. na każdy port urządzenia), ogranicza możliwość monitorowania tylko do Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 19 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow urządzeń do tego przystosowanych (nowsze generacje sprzętu). Dodatkowo rozwój sieci gigabitowych podnosi wymagania jeszcze wyżej; • dedykowane urządzenia pomiarowe pozwalają na pomiar w obciążonych punktach sieci, lecz nie zawsze można je w tych miejscach fizycznie zamontować (lokalizacje niedostępne, wymagające zezwolenia na dostęp, itp.); • ciągły rozwój usług sieciowych i pojawiające się wraz z nim nowe protokoły (podczas gdy protokoły monitorowania ewoluują znacznie mniej dynamicznie); • większość usług (protokołów) nie jest konstruowana w sposób, który ułatwiałby ich monitorowanie. Niektóre zaś protokoły z premedytacją utrudniają nadzór (np. P2P) lub bardzo go utrudniają (np. szyfrowanie, dynamiczne przydzielanie portów); • rosnąca mobilność utrudnia lokalizowanie przepływów i analizę trendów (trudno jednoznacznie określić, czy zmieniająca się z dnia na dzień lokalizacja źródła określonego ruchu w sieci wynika ze zmiany grupy użytkowników czy też z migracji użytkowników wykorzystujących określony zasób wcześniej). Podsumowując – zarządzanie siecią komputerową w nowoczesnym środowisku informatycznym wymaga ciągłego monitorowania charakterystyki przepływających przez tę sieć danych i właściwą prezentację tejże charakterystyki (zgodnie z różnymi oczekiwaniami). W dalszych rozdziałach niniejszej pracy przedstawione zostaną różne techniki monitorowania ze szczególnym uwzględnieniem rozwiązań opartych o protokół NetFlow i narzędzia z nim związane. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 20 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 4 Tradycyjne metody zarządzania Od czasu powstania pierwszych sieci komputerowych (koniec lat 60-tych – projekt Advanced Research Project Agency Network – ARPANET) do dnia dzisiejszego obserwujemy dynamiczny rozwój rozwiązań sieciowych, pozwalających na spełnianie coraz większych wymagań stawianych sieciom komputerowym. Rozwój i powiększanie się sieci wiązało się z rosnącą w szybkim tempie liczbą urządzeń sieciowych co utrudniało ich monitorowanie i właściwe zarządzanie. W końcu lat 80-tych powstały pierwsze standardy, których celem było wprowadzenie jednolitego mechanizmu zarządzania i monitorowania. 4.1 Protokół SNMP Pierwszym protokołem za pomocą którego można było zarządzać siecią (poprzez odpowiednie zarządzanie urządzeniami sieciowymi) był opisany w standardzie RFC 1028 (listopad 1987) Simple Gateway Monitoring Protocol. W krótkim czasie pojawiła się nowa propozycja standardu, rozszerzająca SGMP – protokół Simple Network Management Protocol, opisany w RFC 1067 (sierpień 1988). W kolejnych latach pojawiały się następne specyfikacje protokołu, które rozwijały jego funkcjonalność i eliminowały odkrywane w protokole błędy. Prostota implementacji protokołu w wersji 1 (SNMP v1) zaowocowała szerokim rozpowszechnieniem się właśnie tego rozwiązania jako sposobu zarządzania siecią – praktycznie każdy producent sprzętu sieciowego zawiera w jego oprogramowaniu tzw. agenta SNMP. Kolejne wersje protokołu nie zmieniały wiele co do ogólnej zasady działania (o czym więcej w dalszej części rozdziału), koncentrowały się na dodawaniu nowych funkcjonalności oraz podnoszenia poziomu bezpieczeństwa. I tak, w wersji SNMP v2 usprawniono odczyt większej niż jeden na raz ilości parametrów (polecenie GetBulk) oraz sposób propagowania pułapek (ang. Traps). Wersja SNMP v3 wprowadziła właściwy poziom zabezpieczeń do protokołu, jednak ich złożoność w implementacji jest źródłem niechęci wielu administratorów do pełnego wykorzystania możliwości mechanizmów bezpieczeństwa. Gdy mówimy o SNMP należy pamiętać, że mamy na myśli nie tylko protokół wymiany danych zarządzania siecią. SNMP jest zbiorem wielu standardów, których część opisuje protokół, inne zaś definiują np. struktury danych (bazy MIB), rozszerzają zastosowania Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 21 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow SNMP do nadzoru nie tylko sieciowej charakterystyki pracy urządzeń (np. parametry drukarki lub stan procesora stacji roboczej). Protokół SNMP jest protokołem warstwy aplikacji modelu OSI, typowo wykorzystuje porty 161 (agent) oraz 162 (zarządca) protokołu transportowego UDP. Dodatkowo możliwe jest użycie innych portów, co wykorzystują w swoich implementacjach protokołu producenci sprzętu (np. CISCO: snmp-tcp-port 1993/tcp cisco SNMP TCP port; snmptcp-port 1993/udp cisco SNMP TCP port (8) ). 4.1.1 Działanie protokołu SNMP Podstawą działania mechanizmu zarządzania siecią za pomocą protokołu SNMP jest współdziałanie w sieci oprogramowania stacji zarządzającej NMS (ang. Network Management Station) z oprogramowaniem agentów rezydujących w systemach operacyjnych urządzeń sieciowych (9). Stacja zarządzająca komunikuje się z agentami za pośrednictwem protokołu SNMP i dokonuje analizy parametrów zebranych w Bazie Informacji Zarządzania (ang. Management Information Base). Każde urządzenie posiada taką bazę, w której przechowywane są aktualne parametry pracy danego urządzenia (np.: ilość odebranych lub wysłanych przez dany interfejs bajtów/ramek, tablice ARP, wykorzystanie mocy obliczeniowej procesora w danym urządzeniu, stopień naładowania akumulatorów w UPS, itd.) Stacja zarządzająca może dokonywać wymiany informacji z agentem rezydującym na urządzeniu w dwojaki sposób: • może odczytywać parametry z urządzenia (polecenie get i pochodne) – stacja zarządzająca może przeglądać bazę MIB urządzenia i odczytywać aktualne parametry pracy; • może zapisywać parametry do urządzenia wpisując je do bazy MIB w urządzeniu (polecenie set). Pozwala to wpływać na pracę urządzenia poprzez zmianę głównych parametry jego pracy. Zwykle stacja zarządzająca odpytuje agentów w określonych interwałach czasowych o stan parametrów i przenosi je do własnej bazy MIB, która przechowuje stan wszystkich urządzeń objętych kontrolą. Istnieje również możliwość zainicjowania komunikacji przez agenta na urządzeniu w przypadku gdy zadziała mechanizm tzw. pułapki (ang. trap). Agent monitorujący pracę urządzenia reaguje na wystąpienie określonej (zdefiniowanej w czasie konfiguracji agenta) sytuacji wysłaniem komunikatu do stacji zarzą- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 22 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow dzającej. Uruchomienie stacji zarządzającej na dedykowanym komputerze (z dostępem do znacznej przestrzeni dyskowej) pozwala na przechowywanie historycznych danych i ich prezentację w szerokim horyzoncie czasowym. Uproszczony schemat działania protokołu SNMP przedstawia poniższy rysunek: Rysunek 4.1 Schemat działania SNMP (3) W rozbudowanych środowiskach sieciowych, charakteryzujących się dużą liczbą urządzeń sieciowych (a co za tym idzie rezydujących na nich agentach SNMP) wymiana informacji oparta o regularne odpytywanie przez stację zarządzania staje się mało wydajna (angażowane są zasoby obliczeniowe urządzeń) oraz wprowadza dodatkowe obciążenie sieci przesyłanymi komunikatami SNMP. Dlatego też często w przypadku rozległej infrastruktury stosuje się komunikację sterowaną pułapkami (ang. TDP – Trap-Directed Pooling (3)). W przypadku wykorzystania tej strategii odpytywanie wszystkich agentów przez stację zarządzającą ma miejsce bardzo rzadko – np. przy uruchomieniu sieci oraz w długim (np. dobowym) interwale czasowym. Bieżące zmiany stanu sieci są odwzorowywane w stacji zarządzającej po otrzymaniu informacji od agenta, iż doszło do jakiejś zmiany w nadzorowanym obszarze, która to zmiana spowodowała zadziałanie mechanizmu pułapki. Po otrzymaniu komunikatu stacja zarządzająca inicjuje komunikację z agentem i Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 23 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow za pomocą komunikatów get zbiera informacje o nowym stanie sieci nadzorowanej przez agenta wysyłającego komunikat pułapki. 4.1.2 Monitorowanie z wykorzystaniem SNMP Monitoring z wykorzystaniem protokołu SNMP realizowany jest poprzez zestaw aplikacji uzupełniających oprogramowanie stacji zarządzającej, które służą przedstawieniu informacji o stanie urządzeń zebranych w centralnej bazie MIB. Na rynku dostępnych jest bardzo wiele programów do monitorowania SNMP, ale należy dokładnie zweryfikować możliwości każdego z nich (10). Przykładem aplikacji wizualizującej dane zbierane za pomocą protokołu SNMP jest program autorstwa Tobiego Oetikera – MRTG (The Multi Router Traffic Grapher) (9). Aplikacja ta dedykowana wyłącznie zadaniom monitoringu nie wymaga do działania współpracy ze stacją zarządzającą – program tworzy własną bazę MIB, którą wypełnia danymi pobranymi od wskazanych agentów SNMP. Przykładem wykorzystania programu może być prezentowana poniżej statystyka pracy jednego z łączy internetowych serwera RAMOL (10) Rysunek 4.2 MRTG - Przykład statystyk (10) Statystyki prezentowane powyżej to tylko bardzo skromny przykład tego, co daje SNMP, a właściwie co zawdzięczamy ciągłemu rozwojowi baz MIB - producenci sprzętu rozszerzają ciągle liczbę parametrów, które można odczytać z urządzeń za pomocą agentów SNMP, dzięki czemu możliwe staje się monitorowanie olbrzymiej ilości parametrów Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 24 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow pracy urządzeń sieciowych. W przypadku urządzeń, które nie są przystosowane do obsługi w systemie operacyjnym procesu agenta SNMP, możliwe jest wykorzystanie tzw. pełnomocnika (ang. Proxy), który będzie konwertował komunikację realizowaną przy pomocy protokołu SNMP na zestaw instrukcji i komunikatów rozpoznawanych przez dane urządzenie. 4.1.3 Ograniczenia SNMP Prezentowana powyżej statystyka ukazuje pewne ograniczenie protokołu SNMP, które utrudnia wybrane aspekty monitorowania. Na powyższym rysunku widzimy wykres przedstawiający stopień wykorzystania łącza wyrażony w KB/s. Uzyskanie jednak informacji o tym, jakie aplikacje (usługi) wykorzystywały łącze w tym czasie wymaga łączenia ze sobą wielu różnorodnych informacji (np. takich jak lista uruchomionych w danym momencie aplikacji, statystyki danych przesłanych na dany port (warstwa aplikacji)). Mimo rozbudowanych baz MIB może się okazać, że zebranie tego typu danych nie jest możliwe za pomocą protokołu SNMP. Lecz gdyby nawet dysponować tego typu informacjami wygenerowanie właściwych statystyk na podstawie właśnie tych informacji byłoby złożone obliczeniowo i w przypadku dużych sieci trudno byłoby prowadzić monitorowanie w czasie rzeczywistym. Protokół SNMP, bardzo popularny i dzięki wysiłkowi włożonemu w jego ciągły rozwój coraz wydajniejszy i łatwiejszy w implementacji, pozwala na kontrolę wielu elementów systemu informatycznego, wykraczając daleko poza obszar infrastruktury sieciowej. W obszarze zastosowań sieciowych pozwala w prosty sposób zarządzać infrastrukturą i umożliwia wdrażanie zmian wynikających m. in. z monitoringu. Jednakże zbyt bliska perspektywa (na poziomie bitów/pakietów) nie pozwala na łatwe scharakteryzowanie ruchu sieciowego (poza jego ogólną intensywnością), przez co nie spełnia wymagań stawianych przed systemem monitorującym opisanych powyżej w niniejszej pracy. 4.2 Protokół RMON Protokół Zdalnego Monitoringu Sieci (ang. The Remote Network MONitoring – RMON). Protokół, którego zadaniem jest zdalny monitoring sieci komputerowych. W odróżnieniu od SNMP jest to rozwiązanie nastawione na obserwowanie i kontrolę (stąd np. brak możliwości zmiany konfiguracji urządzeń – do tego służy SNMP). Dwa zdania celnie charakteryzujące protokół: Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 25 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • „RMON – Remote MONitor. - standard ten został zaprojektowany nie jako konkurencja, ale jako uzupełnienie SNMP” (13); • W skrócie, RMON jest stworzony do monitorowania opartego o “przepływy”, natomiast SNMP jest często wykorzystywane do “sprzętowego” zarządzania (13). Powstanie i rozwój protokołu RMON to wynik wielokierunkowej ewolucji protokołu SNMP (3). Wykorzystuje on ten sam protokół komunikacyjny co SNMP oraz opiera się o istnienie baz MIB, przy czym definiuje on własny format takiej bazy - baza MIB zdalnego nadzoru (będąca uzupełnieniem bazy MIB-II znanej ze specyfikacji SNMP) (3). Dzięki temu podejściu wykorzystano sprawdzone wcześniej rozwiązania, zaoszczędzony dzięki temu czas poświęcając na stworzenie takiej bazy informacji, które pozwolą na łatwy monitoring zdalny. Podobnie jak to miało miejsce w przypadku SNMP, RMON nie może być traktowany stricte jako protokół – wykorzystuje przecież protokół zdefiniowany na potrzeby SNMP. RMON to zbiór standardów umożliwiających zdalne monitorowanie. Normy związane z RMON to w znaczącej części normy definiujące bazę MIB wykorzystywaną w zdalnym monitoringu. Dokument RFC 1757 (ang. Remote Network Monitoring Management Information Base) definiuje bazę MIB zdalnego monitorowania. Kolejny standard RFC 2021 (ang. Remote Network Monitoring Management Information Base Version 2 using SMIv2) rozszerza zdefiniowaną w poprzednim standardzie bazę informacji zarządzania MIB. Istnieje jeszcze norma RFC 2074 (ang. Remote Network Monitoring MIB Protocol Identifiers) opisująca algorytmy wymagane do identyfikacji protokołów opisanych w RMNON MIB v2. 4.2.1 Działanie protokołu RMON Baza MIB-II w oparciu o którą działa SNMP, pozwala na zbieranie informacji z każdego interfejsu, z którego praca nadzorowana jest przez agenta SNMP. Jednak analiza ruchu sieciowego z perspektywy pojedynczego interfejsu (ów) nie pozwala na zbieranie informacji o sieci jako całości. Dlatego też RMON jako rozwinięcie SNMP w kierunku monitorowania wprowadza pojęcie nadzorcy sieci (ang. Network Monitors). Ze względu na fakt, iż RMON jest tak naprawdę rozwinięciem SNMP agenci zarządzania (SNMP) oraz nadzorcy sieci (RMON) wykazują wiele cech wspólnych. To, co rozróżnia te elementy, to wynikające z różnych zadań umiejscowienie tychże w strukturze sieci. W odróżnieniu od wcześniej omawianego agenta zarządzania (SNMP) nadzorca sieci (RMON) nie jest Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 26 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow umieszczany w każdym węźle sieci – najczęściej implementuje się jedną instancję nadzorcy w każdej podsieci. Nadzorca może zostać zaimplementowany na dedykowanym urządzeniu podłączonym do segmentu sieci lub też na urządzeniu pełniącym inne funkcje – np. routery, przełączniki lub też serwery usług. Komunikacja nadzorców sieci ze stacją zarządzającą wykorzystuje protokół SNMP jako protokół komunikacyjny, przesyłając zebrane informacje. Można wyróżnić kilka charakterystycznych cech opisujących działanie nadzorcy (3): • działanie w trybie off-line: nadzorca realizuje swoje zadania zbierania określonych informacji bez utrzymywania ciągłej łączności ze stacją zarządzania. Często jest to optymalne rozwiązanie, gdy do przesyłanie informacji monitorowania i zarządzania odbywa się za pośrednictwem połączenia wdzwanianego, zwykle droższego w utrzymaniu i rozliczanego w oparciu o czas a nie ilość przesłanych informacji. Wskazane jest również umożliwienie automatycznego przejścia nadzorcy w tryb offline gdy występują problemy z łącznością ze stacją zarządzania. Nadzorca powinien na bieżąco nadzorować podległy obszar i zachować informacje do czasu uzyskania połączenia ze stacją zarządzania; • nadzór zapobiegawczy, wykrywanie i raportowanie (ang. Proactive Monitoring, Problem Detection and Reporting): jeżeli zadania związane z obserwowaniem naturalnego ruchu w sieci nie wykorzystują wszystkich zasobów nadzorcy, możliwe jest realizowanie dodatkowych zadań diagnostycznych (np. ciągłego sprawdzania warunków wystąpienia błędów). Taka konfiguracja pozwala na przewidywanie potencjalnych zagrożeń i ich raportowanie do stacji zarządzania; • nadzór pasywny (bez odpytywania): analiza oparta jest na biernej obserwacji ruchu sieciowego i w oparciu o informacje zebrane w ten sposób klasyfikowanie zdarzeń jako prawidłowe lub niepożądane. W tym trybie nadzorca nie generuje dodatkowego obciążenia sieci własnymi pakietami testowymi, dlatego też mowa o braku odpytywania. Nadzorcy sieci mogą również wykonywać pewne analizy danych przez nich zbieranych, w czym mogą wykonać część zadań stacji zarządzającej. Wyniki tej analizy to tzw. Value-Added-Data, które dostępne są dla stacji zarządzania. Dodatkową funkcją dostępną w RMON jest możliwość współpracy nadzorców z wieloma stacjami zarządzającymi, dzięki czemu można zwiększyć niezawodność oraz wprowadzić podział uprawnień dostęSamodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 27 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow pu do informacji zarządzania (np. kilka stacji zarządzających może zbierać informacje eksploatacyjne podczas gdy inne umożliwiają dostęp do danych diagnostycznych). 4.2.2 Grupy zebrane w RMON v.1 MIB Baza informacji zarządzania (MIB) protokołu RMON wprowadza specyficzne grupy informacji, które pozwalają na sprawne wykonywanie monitoringu. Poniżej ich lista i krótkie omówienie elementów umożliwiających nadzór (13): 1. Statistics: zbiór statystyk czasu rzeczywistego parametrów sieciowych (wykorzystanie, liczba kolizji, błędy sumy kontrolnej). 2. History: grupa zawierająca archiwalne dane zbierane przez grupę Statistics; 3. Hosts: statystyki zbierane i przypisywane z uwzględnieniem podziału na węzły sieci (w oparciu o adresy MAC). 4. Hosts top N: zbiór N najaktywniejszych (w danym okresie czasu) węzłów sieci; 5. Matrix: grupa reprezentująca macierz połączeń pomiędzy węzłami sieci oraz charakterystyki tychże połączeń. 6. Token Ring: rozszerzenie protokołu SNMP o funkcje monitorujące niskiego poziomu specyficzne dla protokołu Token Ring. 7. Alarm: grupa definiująca wartości progowe parametrów charakteryzujących wydajność sieci. Przekroczenie tych parametrów rozpoczyna realizację procedury alarmu, czyli wysłanie odpowiedniego komunikatu do stacji nadzorującej. 8. Filter: grupa określająca w jaki sposób należy dokonywać wyboru składowych ruchu w sieci monitorowanych przez nadzorcę. Rekordy w tej grupie definiują zbiór parametrów (np. adres MAC), które muszą spełniać pakiety przemieszczające się w sieci, aby były objęte monitoringiem. 9. Capture: grupa przechowująca i umożliwiająca przesłanie do stacji zarządzania pakietów spełniających założenia opisane w grupie Filter. 10. Event: umożliwia definiowanie i przesyłanie do stacji monitorującej pułapek protokołu SNMP odpowiadających zdarzeniom opisanym w grupie Alarm. Ostatnie cztery grupy zdefiniowane w MIB RMON pozwalają dostosować zakres obserwowanych pakietów do wymagań administratora sieci i do analizowanych zjawisk podlegających wnikliwej obserwacji. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 28 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 4.2.3 RMON2 Protokół RMON był znaczącym krokiem w kierunku stworzenia uniwersalnego narzędzia służącego monitorowaniu sieci komputerowych. Wykorzystując dobrze opracowany i szeroko implementowany protokół SNMP oraz wprowadzoną wraz z tym protokołem architekturę twórcy nowego rozwiązania mogli skoncentrować się na rozwoju funkcjonalności. Okazało się jednak, że monitorowanie ograniczone do warstwy drugiej modelu OSI jest niewystarczające dla zadań stawianych administratorom przez nowoczesne aplikacje sieciowe. Ograniczenie to sprawiało, iż dostępny dla nadzorcy obszar sieci był ograniczony do domeny rozgłoszeniowej, ograniczonej urządzeniami działającymi w warstwie 3. (routerami) lub wyższych modelu OSI. Z tego względu w 1997 roku przedstawiono specyfikację RMON2 (RFC2021), która rozszerzyła bazę MIB protokołu RMON o dodatkowe 10 grup, które pozwalały na analizę w wyższych warstwach modelu OSI. Poniżej krótki opis grup bazy MIB rozszerzających protokół do wersji RMON2: 1. Protocol Directory: zbiór protokołów, które mogą być rozpoznawane przez nadzorcę. 2. Protocol Distribution: statystyki ruchu sieciowego obserwowanego przez nadzorcę w rozłożeniu na poszczególne protokoły. 3. Address Map: mapa adresów, tworząca odwzorowanie adresów warstwy łącza danych (MAC) na adresy warstwy sieciowej (IP) – swego rodzaju tablica ARP. 4. Network-Layer Host: statystyki w oparciu o adresy warstwy sieciowej. 5. Network-Layer Matrix: mapa połączeń węzłów sieci w obserwowanym przez nadzorcę obszarze, konstruowana w oparciu o adresy IP. 6. Application-Layer Host: statystyki ruchu w oparciu o warstwę aplikacji. 7. Application-Layer Matrix: mapa połączeń węzłów sieci w obserwowanym przez nadzorcę obszarze, konstruowana w oparciu o warstwę aplikacji. 8. User History: umożliwia okresowe zapisywanie wartości wskazanych przez administratora parametrów. 9. Probe Configuration: parametry konfiguracyjne nadzorcy. 10. RMON Conformance: informacje dotyczące zgodności z protokołem. Wymienione powyżej grupy zdefiniowane w ramach rozszerzenia protokołu RMON dały administratorom sieci nowe, szerokie możliwości nadzorowania sieci. Z wy- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 29 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow korzystaniem nowego oprogramowania zainstalowanego na stacji nadzorczej możliwe stało się wizualizowanie ruchu w analizowanym segmencie sieci z wyróżnieniem wykorzystywanych protokołów, numerów portów warstwy transportowej, adresów IP itp. 4.2.4 Monitorowanie z wykorzystaniem RMON – przykład Poniżej znajduje się kilka przykładowych wykresów wygenerowanych w oparciu o pracę nadzorców RMON (16): Rysunek 4.3 RMON – przykład statystyk Protokół RMON jest wykorzystywany w wielu komercyjnych narzędziach służących do zarządzania sieciami komputerowymi. Jednym z najbardziej znanych i często wykorzystywanych produktów jest HP OpenView Network Node Manager (NNM), dostarczany przez firmę Hewlett-Packard. Jest to jeden z kilku produktów uławiających zarządzanie sieciami komputerowymi dostarczanych przez tego producenta. Lista dodatkowego oprogramowania oraz jego szczegółowy opis znajduje się na stronie producenta (17). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 30 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 4.3 SNMP i RMON – możliwości i ograniczenia Wraz z rozwojem pierwszych sieci rozległych pojawiła się konieczność wdrożenia narzędzia umożliwiającego administratorom zarządzanie infrastrukturą sieciową. W początkowym okresie realizowano kilka równoległych rozwiązań, lecz za przyczyną względnej prostoty szybko powszechnie uznawanym i implementowanym rozwiązaniem stał się protokół SNMP. Warto tu zaznaczyć, że SNMP nie oznacza tylko protokołu, za pomocą którego wymieniane są dane pomiędzy elementami składowymi architektury. SNMP to ogólne pojęcie określające standard zarządzania, oparty o architekturę składającą się z agentów (powiązanych z węzłami sieci) oraz centralnej stacji zarządzania, która za pośrednictwem agentów nadzoruje sieć oraz umożliwia konfigurację węzłów. Rozwiązanie leżące u podstaw protokołu SNMP – bazy informacji zarządzania (MIB), pozwoliło w łatwy sposób rozszerzać funkcjonalność SNMP przez rozszerzanie właśnie tychże baz. Elastyczność tego rozwiązania okazała się szczególnie użyteczna, gdy koniecznym okazało się dostosowanie SNMP do specyficznych zadań związanych z nadzorem sieci komputerowej. Zaproponowane rozwiązanie – protokół RMON, umożliwiający zdalny nadzór sieci komputerowych – jest rozszerzeniem SNMP o nowe funkcje zebrane w bazie MIB protokołu RMON. Podobnie jak w przypadku SNMP nowe rozwiązanie monitorowania było dostosowywane do potrzeb użytkowników, czego najlepszym przykładem jest powstanie RMON2. Umożliwiło to rozszerzenie zasięgu monitorowania poza 2. warstwę modelu OSI, tak aby administratorzy mieli wgląd również w informacje zawarte w nagłówkach protokołów warstwy Sieci i warstwy Transportowej. Dzięki temu możliwe stało się charakteryzowanie ruchu z uwzględnieniem wykorzystywanych aplikacji sieciowych oraz adresów internetowych (IP). Wykorzystywanie architektury wdrożonej wraz z powstaniem SNMP okazało się w pewnych aspektach niewystarczające dla wymagań stawianych przez nowoczesne aplikacje sieciowe oraz generowany przez nie coraz większy ruch sieciowy. Model komunikacji oparty na okresowym odpytywaniu nadzorców lub agentów przez stację nadzorującą stawia przed tą ostatnią duże wymagania obliczeniowe. Rozszerzenie protokołu projektowanego jako protokół analizujący ruch sieciowy na niskim poziomie o funkcje dające wgląd w sytuację w wyższych warstwach wiąże się ze zwiększaniem wymagań (co do mocy obliczeniowej oraz dostępnej pamięci) stawianych nadzorcom/agentom. Z tego też względu najwięksi producenci sprzętu i oprogramowania sieciowego rozpoczęli poszukiwania no- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 31 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow wych rozwiązań, z czego wiele opiera się na pojęciu przepływu (ang. flows). Kolejny rozdział zostanie poświęcony najpopularniejszemu (między innymi ze względu na współtworzenie nowego protokołu przez dominującego producenta rozwiązań sieciowych – firmę CISCO) rozwiązaniu, którego działanie opiera się na tymże pojęciu. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 32 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5 Nowoczesne metody monitorowania – idea IPFIX Tematem niniejszej pracy jest przedstawienie nowoczesnych sposobów zarządzania sieciami komputerowymi na przykładzie protokołu NetFlow. Przedstawione w poprzednich rozdziałach rozwiązania są ciągle rozwijane, dlatego też trudno je jednoznacznie określić jako metody nienowoczesne. Właściwszym kryterium podziału wydaje się być przystosowanie się metod monitorowania do wymagań stawianych przez zmieniającą się charakterystykę pracy sieci. W ostatnich latach obserwuje się zjawisko wykorzystywania sieci komputerowej jako wygodnego medium komunikacyjnego, przy czym natura samej komunikacji uległa zmianie, kładąc coraz większy nacisk na komunikację stricte czasu rzeczywistego (np. VoIP zamiast poczty elektronicznej i komunikatorów tekstowych) wzbogacaną przekazem multimedialnym (np. wideokonferencje). Aby zrealizować rozszerzające się wymagania użytkowników w zakresie komunikacji konieczne było stworzenie nowych aplikacji sieciowych, które z kolei znacząco zmieniły wymagania stawiane środowisku sieciowemu. Stworzenie narzędzi do monitorowania nowoczesnych sieci wymagało fundamentalnej zmiany w sposobie interpretowania ruchu sieciowego – pojawiło się pojęcie przepływu, a wraz z nim zarządzanie sieciami oparte o przepływy (ang. flow-based network monitoring). To właśnie zmiana w rozumieniu tego, co się dzieje w sieci, pozwala na określenie metod monitorowania mianem nowoczesnych. 5.1 „Przepływowy” system monitorowania sieci Programiści nowoczesnych aplikacji starają się projektować je tak, by były jeszcze łatwiejsze w obsłudze i jak najwierniej oddawały rzeczywistość, którą w jakiś sposób modelują. Nierozerwalnie wiąże się to ze zwiększeniem ilości danych przesyłanych poprzez sieć komputerową, coraz częściej w formie strumieni danych. Okazało się, że dotychczasowo wykorzystywane metody analizy ruchu sieciowego nie sprawdzają się przy wykrywaniu usterek, których wynikiem jest nieprawidłowa praca nowych aplikacji. Podstawą stworzenia systemów, które będą mogły służyć do wydajnego monitorowania stało się, rozumiane dość intuicyjnie, pojęcie przepływu (ang. flow). Pod tym pojęciem rozumiemy mniej lub bardziej uporządkowany ruch. W przypadku ruchu sieciowego oznacza to zbiór pakietów o określonych cechach wspólnych (pełna definicja pojawi się w następnym podrozdziale). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 33 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Systemy monitorujące zbudowane na tej podstawie ułatwiły znacznie realizację nowych zadań, jakie stanęły przed administratorami sieci. Oto najważniejsze z nich (18): • określenie listy aplikacji wykorzystywanych w sieci oraz stopnia w jakim wykorzystują one zasoby sieciowe; • obserwowanie wpływu jaki wywierają na siebie aplikacje działające w tym samym obszarze sieci; • konieczność precyzyjnego podziału kosztów utrzymania coraz wydajniejszych połączeń (wymagane przez nowoczesne aplikacje) pomiędzy wykorzystujące je jednostki organizacyjne; • inżynieria ruchu – odpowiednie kształtowanie obciążenia i priorytetowania (QoS) dostępnych zasobów, tak aby spełnione były wymagania umów określających dostępność usług (ang. Service Level Agreements); • wykrywanie zagrożeń (którym szybki rozwój Internetu dał okazję do spektakularnych ataków) i anomalii – o wiele łatwiej zauważyć nieprawidłowości analizując wymianę informacji na poziomie logicznej komunikacji (reprezentowanej przez przepływy) niż obserwując wymianę pakietów w warstwie fizycznej; • możliwość dokonywania obserwacji w czasie rzeczywistym, niezbędna do poprawnej realizacji powyższych zadań. Na potwierdzenie tej tezy przytoczę wypowiedź (19) Jeffa Duke, starszego inżyniera sieci w Departamencie Technologii stanu Indiana. Do jego zadań należy nadzór nad siecią gigabitowego Ethernetu, wykorzystywanego przez kilka tysięcy użytkowników. Wg niego wcześniejsze systemy przesyłały raporty do późniejszej analizy. “Nie widziałem danych, pakietów lub przepływów w czasie rzeczywistym” – twierdzi. „To nie było nawet zbliżone do czasu rzeczywistego. Oglądałem rzeczy sprzed tygodnia.” Obserwowanie trendów i przygotowywanie środowiska do spełnienia nowych wymagań w przyszłości. Jak się okazało nowa metoda analizy okazała się właściwą dla nowoczesnego ruchu sieciowego, a aplikacje, które działają w oparciu o nią stają się potężnymi narzędziami w rękach doświadczonych administratorów. Na potwierdzenie tej tezy przedstawię klika wypowiedzi osób zawodowo zajmujących się administrowaniem rozległych sieci. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 34 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Zeus Kerravala, członek zarządu ds. infrastruktury firmy Yankee Group, specjalizującej się w dostarczaniu globalnych rozwiązań komunikacyjnych. Twierdzi on (20), iż z własnej praktyki wie, że prawie 90% czasu poświęconego na usuwanie usterki jest poświęcone na jej wyizolowanie – precyzyjne wskazanie przyczyny błędu. „Bardziej inteligentne systemy zarządzania mogą znacznie skrócić czas identyfikacji problemu. Wykorzystanie NetFlow daje tę właśnie inteligencję.” James Messer, dyrektor ds. Technologii w Network General, obecnie przejętej przez NetScout Systems, Inc – dostawcę narzędzi do monitorowania sieci. Wg niego (20) umiejętność interpretacji informacji dostarczanych przez NetFlow daje wgląd w wydajność aplikacji, pozwalając łatwo izolować i rozwiązywać problemy związane w pojemnością kanałów sieciowych. Analiza przepływów pozwala również na podstawie obserwacji trendów historycznych i wyszukiwania wzorców przewidywać zachowanie się środowiska w przyszłości. Okazuje się, że monitorowanie oparte o przepływy jest również przydatne w przypadku statystyk dostępu do obciążonych usług internetowych, twierdzi Ryan Nelson (19), dyrektor operacyjny Major League Baseball Advanced Media – agencji prasowej obsługującej amerykańską ligę baseball-a. Liga dysponuje ponad siedemdziesięcioma serwerami WWW, do których ruch kierowany jest poprzez siedem przełączników równoważenia ruchu (ang. load balancing switches). Jednak analiza problemów obniżonej wydajności wiązała się z olbrzymim nakładem pracy. „Aby znaleźć przyczynę błędu musieliśmy przeszukiwać 10 gigabitowy plik logu każdego dnia. (…) Teraz, gdy widzimy, że dzieje się coś dziwnego, wykorzystujemy Coradiant1. On ciągle pracuje, zbierając informacje i wskazuje źródło anomalii.” Trafnym podsumowaniem nowych wymagań jest opinia Jon Oltsik, analityka Enterprise Strategy Group. Twierdzi on (19), że monitoring przepływów będzie coraz ważniejszy wraz z biznesowym trendem udostępniania aplikacji partnerom i klientom. Utrzymanie wydajności tychże aplikacji na poziomie akceptowalnym przez klientów będzie przekładało się bezpośrednio na wyniki finansowe. Dlatego też konieczne jest skoncentrowanie się na użytkowniku – odbiorcy usług, przy czym najłatwiej jest to osiągnąć korzystając z analizy przepływów. 1 Zestaw narzędzi do monitorowania wydajności, wykorzystujący informacje o przepływach. Szczegółowe informacje można znaleźć na stronie http://www.coradiant.com/ Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 35 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5.2 IPFIX – nowy standard monitorowania przepływów Opisana powyżej ewolucja metod monitorowania sieci komputerowych, wymuszona zmianą charakteru aplikacji sieciowych, spowodowała rozwój monitorowania opartego o przepływy. Podobnie jak to miało miejsce w przypadku wielu innych zagadnień informatycznych, najpierw pojawiły się gotowe (często o ograniczonej kompatybilności) rozwiązania, a dopiero później zdefiniowano formalne standardy. W niniejszej pracy porządek chronologiczny ustąpi miejsca układowi zgodnemu z poprawnością formalną: najpierw pojawi się opis ogólnego standardu (w tym przypadku IPFIX – IP Flow Information Export, RFC 3917), potem zaś zostanie szczegółowo opisana jego implementacja - protokół NetFlow wersja 9, RFC 3954. Wart zauważenia jest fakt, że w czasie opracowywania standardu IPFIX opierano się na protokole NetFlow v9, który został opublikowany w tym samym czasie. Trudno zatem stwierdzić, czy i tym razem implementacja nie wyprzedziła standardu, jednak dla ustalenia uwagi w niniejszej pracy zostaną przedstawione zgodnie z wcześniej przyjętym schematem. 5.2.1 Pierwsze implementacje producentów Jak wspomniałem, rozwiązania funkcjonalne wyprzedziły formalny standard. Jednym z pierwszych producentów, którzy zaczęli implementować w swoim sprzęcie funkcje umożliwiające monitorowanie w oparciu o przepływy był potentat na rynku urządzeń sieciowych – firma CISCO Systems, Inc. To właśnie ona wprowadziła pojęcie NetFlow, określające nieformalny standard zbierania informacji o przepływach i sposobie wymiany tychże informacji. Istnieje kilka wersji NetFlow, z których każda wnosiła nową funkcjonalność bądź zbliżała całe rozwiązanie do uzyskania miana standardu. Można wyróżnić (21): • wersja 1 (V1) to pierwsza wersja protokołu; • wersja 5 (V5) to rozszerzenie wersji pierwszej o możliwość monitorowania informacji protokołu BGP (informacje o systemie autonomicznym) oraz wprowadzenie numerów sekwencyjnych przepływów (konieczne ze względu na fakt, iż w typowej konfiguracji NetFlow wykorzystuje protokół transportowy UDP); • Wersja 6 (V6) jest zbliżona do wersji 7. Ta wersja nie jest wykorzystywana w nowych wersjach systemu operacyjnego urządzeń CISCO – IOS. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 36 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • Wersja 7 (V7) wprowadza rozszerzenie wykorzystywane tylko przez przełączniki serii Cisco Catalyst 5000, wyposażonych w specjalną kartę rozszerzeń dla protokołu NetFlow – ang. NetFlow Feature Card (NFFC). Wersja ta nie jest kompatybilna z routerami tego producenta. • Wersja 8 (V8) to rozszerzenie wprowadzające możliwość agregowania przepływów przez routery. • Wersja 9 jest ostatnią opublikowaną przez producenta wersją, wzbogaconą o wsparcie dla takich technologii jak Multicast, Internet Protocol Security (IPSec) oraz Multi Protocol Label Switching (MPLS). Różnicę wersji 5. (najpopularniejszej) oraz najnowszej wersji 9. przedstawia poniższa tabela (6): Rysunek 5.1 Porównanie 5. i 9. wersji NetFlow Wersje 2, 3 i 4 nie były publikowane. 5.2.2 Standard IPFIX – RFC 3917 Mimo wiodącej roli firmy Cisco jako producenta urządzeń sieciowych konieczne stało się opracowanie uniwersalnych metod zbierania i wymiany informacji o przepływach w sieciach wykorzystujących technologie innych producentów. Dlatego też organizacja IETF (The Internet Engineering Task Force – nieformalne, międzynarodowe stowarzyszenie osób zainteresowanych ustanawianiem standardów technicznych i organizacyjnych w Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 37 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Internecie (22)) powołała grupę roboczą o nazwie IPFIX odpowiedzialną za przygotowanie Modelu Informacji (opisującego przepływy IP) oraz protokołu IPFIX (definiującego protokół służący do wymiany informacji o przepływach) (23). Wymiernym owocem prac grupy było opublikowanie standardu RFC 3917 „Wymagania protokołu IP Flow Information Export (IPFIX)”, (ang. Requirements for IP Flow Information Export (IPFIX)). Postaram się przedstawić jego główne założenia, które zostaną szczegółowo opisane przy prezentowaniu standardu NetFlow v9. 5.3 IPFIX oraz NetFlow – wspólne podstawy Poniżej zostaną przedstawione cechy charakterystyczne, wspólne dla IPFIX i NetFlow: zbiór pojęć wykorzystywanych w definiowaniu nowego standardu oraz szkielet architektury. 5.3.1 Pojęcia podstawowe Grupa pracująca w ramach IETF przygotowując nowy standard wprowadziła specyficzny dla niego zbiór pojęć, za pomocą którego opisuje architekturę nowego systemu monitorowania. Pojęcia te, ze względu na opisane wcześniej wspólne korzenie ideowe, są tożsame w odniesieniu do protokołu NetFlow. W protokołach tych wyróżnia się następujące pojęcia (24): • przepływ IP (ang. IP Traffic Flow): definiowany jako zbiór pakietów protokołu IP przechodzących przez punkt obserwacji w określonym okresie czasu. Wszystkie pakiety składające się na dany przepływ wyróżniają się wspólnym zbiorem określonych parametrów. Parametrami, które wyróżniają określony przepływ mogą być: o zawartości jednego lub więcej pól nagłówka pakietu IP (np. docelowy adres IP pakietu), pole nagłówka warstwy transportowej (np. nr portu źródłowego) lub pole nagłówka warstwy aplikacji o parametr charakteryzujący pakiet sam w sobie (np. numer etykiety protokołu MPLS) o informacja o sposobie przekierowania pakietu (np. adres następnego węzła IP – next hop IP, interfejs wyjściowy, poprzez który pakiet opuści urządzenie) Pakiet zostaje przypisany do danego przepływu, jeżeli jego właściwości spełniają warunki definiujące przepływ (np. jeżeli przepływ jest charakteryzowany przez Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 38 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow docelowy adres IP: 10.10.10.100, to pakiety zawierające w nagłówku jako adres przeznaczenia tenże adres zostaną do tego przepływu przypisane); • punkt obserwacji (ang. observation point): logiczny punkt w sieci (przełącznik, port routera, miejsce podłączenia urządzenia dedykowanego do monitorowania przepływów), w którym można obserwować pakiety IP. Możliwe jest istnienie punktów obserwacji zawartych wewnątrz innych punktów (np. punkty obserwacji na poszczególnych interfejsach routera są zawarte w punkcie obserwacji obejmującym cały router). • proces monitorujący/mierzący/klasyfikujący (ang. metering process): proces tworzący logiczne przepływy (grupowane w rekordy) na podstawie fizycznie obserwowanych (w punkcie obserwacji) pakietów, które spełniają kryteria zdefiniowanych przepływów. Proces ten wykorzystuje funkcje przechwytujące nagłówki pakietów, dokonujące znakowania czasowego (ang. timestamping), próbkujące i klasyfikujące. Proces ten uruchamia również funkcje odpowiedzialne za zarządzanie rekordami przepływów (zawierających statystykę poszczególnych przepływów). Ich działanie polega na tworzeniu nowych rekordów, uaktualnianiu istniejących, wykrywaniu przepływów przeterminowanych, przekazywaniu przepływów do procesu eksportującego i usuwaniu rekordów przepływu. Poniższy rysunek przedstawia kolejność wykonywania poszczególnych funkcji w procesie monitorującym. Funkcja próbkująca nie została wyróżniona – można ją wykorzystać w dowolnym miejscu w poniższym schemacie. przechwytywanie nagłówków pakietów | znakowanie czasowe | v +----->+ | | | klasyfikacja | | +------+ | zarządzanie rekordami przepływów | V Rysunek 5.2 Algorytm procesu klasyfikowania (24) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 39 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • rekord przepływu (ang. flow record): struktura przechowująca informacje o przepływach zaobserwowanych i sklasyfikowanych w danym punkcie obserwacji. Rekord zawiera mierzalne informacje dotyczące przepływu (np. całkowita liczba bajtów w danym przepływie) oraz dane charakteryzujące sam przepływ (np. adres źródłowy IP); • proces eksportujący (ang. exporting process): proces przesyłający rekordy przepływu (wygenerowane przez proces klasyfikujący) z punktu obserwacji do jednego lub kilku procesów zbierających (ang. collecting process); • proces zbierający (ang. collecting process): proces odbierający rekordy przepływów przesyłane przez jeden lub kilka procesów eksportujących. Po odebraniu może magazynować rekordy lub dalej je przetwarzać. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 40 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5.3.2 Architektura Wykorzystując zdefiniowane powyżej pojęcia można przedstawić architekturę nowego rozwiązania za pomocą poniższego schematu (25): proc. klasyfikatora, proc. eksportujący IPFIX proc. zbierający O----------------------------------------->O | | punkt obserwacji v ---- ruch pakietów IP ---> Rysunek 5.3 Architektura IPFIX W wybranym przez administratora punkcie sieci, w którym chcemy przeprowadzać obserwację – stąd nazwa punkt obserwacji, umieszczony zostaje proces klasyfikatora, współpracujący z procesem eksportera. Przepływające pakiety są analizowane pod względem zgodności ze zdefiniowanymi przepływami i jeżeli wystąpi zgodność z wzorcem przepływu odpowiednie informacje zostają zapisane we właściwym rekordzie przepływu. Następnie rekord lub zbiór rekordów zostaje przez proces eksportera przesłany do procesu kolektora z wykorzystaniem protokołu IPFIX. Proces zbierający magazynuje otrzymane rekordy i udostępnia je stacji zarządzającej (nie umieszczona na schemacie architektury), wyposażonej w oprogramowanie, które odpowiednio przetwarza, analizuje i przedstawia informacje w formie czytelnej dla administratora. Podobnie jak w architekturze wprowadzonej wraz z powstaniem SNMP, w przypadku IPFIX też możemy mówić o agentach, lub bardziej poprawnie z formalnego punktu widzenia – o sondach, oraz o stacjach nadzorujących (zbliżonych do tych z protokołu RMON). Istotna różnica występuje w sposobie zbierania danych przez sondy w odniesieniu do metod wykorzystywanych przez agentów/nadzorców – z których korzysta SNMP/RMON. Protokół IPFIX opiera się na pojęciu przepływu, które nie występuje w przypadku SNMP, dzięki czemu jest lepiej dopasowany (w poprzednich podrozdziałach było to dokładnie omówione) do monitorowania nowoczesnych sieci IP. Warto też zwrócić uwagę, że w protokole IPFIX proces eksportera dokonuje przesłania danych do procesu zbierającego w wybranym przez siebie momencie, bez interakcji z kolektorem. Autonomia procesu zbierającego informacje o przepływach jest charakterystyczna dla tego protokołu. Informacje dotyczące sposobu umieszczania sondy monitorującej i lokalizacji punków obserwacji zostaną przedstawione w dalszej części rozdziału. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 41 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5.4 IPFIX – dalsze założenia protokołu Grupa robocza opracowująca nowy standard przygotowała zbiór wymagań i uwag (24), które muszą wziąć pod uwagę wszyscy ci, którzy chcą zaimplementować w swoich produktach obsługę nowego protokołu. 5.4.1 Aplikacje korzystające z IPFIX Twórcy protokołu IPFIX określają w jego specyfikacji zbiór aplikacji, do współpracy z którymi protokół był głównie dopasowywany. W rozdziałach 2. i 3. w których opisywałem zagadnienia zarządzania sieciami ze szczególnym uwzględnieniem monitorowania, starałem się przedstawić obszary, w których mają zastosowanie nowoczesne sposoby zbierania informacji o ruchu sieciowym. Dlatego też poniżej przedstawię jedynie pobieżnie zastosowania nowego protokołu wskazane przez jego twórców. (22) 1. Rozliczanie oparte o stopień wykorzystania zasobów (ang. Usage-based Accounting): rozliczanie usług sieciowych w oparciu o płaskie kryterium przepustowości może wkrótce ustąpić miejsca nowemu modelowi rozliczania wykorzystującemu ilość przesyłanych danych. Pomiary oparte o dające się szeroko dostosowywać przepływy pozwalają przygotować rozliczenia z dokładnością per użytkownik/aplikacja/pora dnia. 2. Profilowanie ruchu sieciowego (ang. Traffic Profiling): tworzenie charakterystyki przepływów w sieci z wykorzystaniem modelu opisanego kluczowymi parametrami przepływu: czasem trwania, objętością, impulsywnością (ang. burstiness). Stworzenie takiej charakterystyki jest wymogiem prawidłowego planowania sieci oraz jej późniejszej eksploatacji. Do zbioru parametrów przepływu, które są wykorzystywane do stworzenia profilu ruchu sieciowego należą: wykorzystywane usługi, protokoły, liczba pakietów danego typu (np. IPv6). To zastosowanie protokołu wymaga dużej elastyczności od IPFIX ze względu na różnorodny sposób profilowania ruchu. 3. Inżynieria ruchu sieciowego (ang. Traffic Engineering): składa się z metody mierzenia, charakteryzowania i kontroli sieci. Zadaniem inżynierii jest optymalizacja wykorzystania zasobów oraz utrzymywanie wysokiej wydajności sieci przez realizowanie (z wykorzystaniem SNMP lub innych sposobów konfigurowania urządzeń) zaleceń wynikających z monitorowania. Ponieważ kontrola administratorska Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 42 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow wymaga dostępu do podległych węzłów sieci, zwykle mechanizmy monitorowania i zarządzania dotyczą tej samej domeny administracyjnej. 4. Wykrywanie ataków/wtargnięć (ang. Attaca/Intrusion Detection): przechwytywanie przepływów odgrywa ważną rolę w zapewnieniu bezpieczeństwa: zarówno dla wykrywania zagrożeń jak i tworzenia polityki bezpieczeństwa. Wykorzystując monitorowanie przepływów można np. skutecznie wykrywać źródła ataków DoS i szybko odciążać dany zasób. Wykrywanie wtargnięć może być bardziej wymagające, ponieważ opiera się nie tyko na monitorowaniu przepływów lecz również wyszukiwaniu określonych wzorców komunikacyjnych. 5. Monitorowanie QoS (ang. QoS Monitoring): to proces biernego pomiaru parametrów określających jakość usług IP. Przykładem może być kontrola parametrów QoS ustalonych dla danego typu usługi. Często nadzorowanie QoS wymaga informacji z wielu punktów obserwacyjnych zsynchronizowanych czasowo. To wymaga korelacji informacji zbieranych w różnych rekordach przepływów. Ważne jest, aby mieć świadomość, że IPFIX realizuje tylko część wymagań związanych z monitorowaniem QoS i może być traktowany jako element kompletnego systemu nadzoru QoS. NetFlow – implementacja założeń IPFIX. 5.4.2 Rozróżnianie przepływów Obserwowane pakiety są przypisywane do przepływów na podstawie ich określonych parametrów. Pakiety o tych samych parametrach określonych jako charakteryzujące przepływ należą do tego samego przepływu. Pakiet, który różni się choćby jednym parametrem należy do innego przepływu. Poniżej wymienione zostaną te parametry pakietów, które proces klasyfikujący musi być w stanie określić, aby poprawnie przypisywać pakiety do przepływów. Nie oznacza to, iż wszystkie parametry muszą być określone w celu wyróżnienia przepływu – proces monitorujący musi dać się skonfigurować tak, aby na podstawie dowolnego podzbioru tych parametrów mógł dokonać klasyfikacji pakietu. Podzbiór tychże parametrów jest określany przez administratora, który definiuje go tak, aby mógł zaobserwować pożądany w danej sytuacji obszar aktywności sieci. W związku z tą elastycznością w doborze parametrów ważne jest, aby proces kolektora odbierając rekord przepływu znał parametry, które były kluczowe dla jego określenia. Konieczne należy też pamiętać o tym, iż proces monitorujący musi mieć dostęp do pól nagłówka pakietu warstwy sieci i warstwy transportowej, dlatego też wymagania stawiane przed procesem moni- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 43 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow torującym obowiązują w sytuacjach, w których analizowane pola nie są zaszyfrowane (np. szyfrowanie ESP, gdzie cały pakiet oryginalny zostaje zaszyfrowany i poprzedzony nagłówkiem ESP, na podstawie którego nie można nic orzec o oryginalnym pakiecie). Sonda IPFIX musi rozróżniać przepływy w oparciu o parametry: 1. Interfejs, przez który pakiet dociera od urządzenia, którym opuszcza urządzenie oraz kombinacja obu tych wartości. 2. Pola nagłówka IP: a. źródłowy adres IP (również w postaci adresu prefixowego, obliczanego na podstawie dołączonej maski); b. docelowy adres IP (również w postaci adresu prefixowego, obliczanego na podstawie dołączonej maski); c. typ protokołu warstwy wyższej (TCP, UDP, ICMP,…); d. w przypadku urządzeń wspierających różne wersje protokołu (IPv4 i IPv6) proces eksportujący musi mieć możliwość rozróżniania również w oparciu o ten parametr. 3. Pola nagłówka protokołu warstwy transportowej – numer portu protokołu TCP lub UDP. Proces monitorujący może (nie jest to wg specyfikacji warunek konieczny) analizować numer portu protokołu SCTP (ang. Streaming Control Transmission Protocol, RFC 2960). Wymaganie jest rozróżnianie w oparciu o dowolną kombinację numerów portów, zarówno źródłowych jak i docelowych. 4. Jeżeli proces monitorujący jest uruchomiony na urządzeniu, które wspiera MPLS (ang. Multiprotocol Label Switching, RFC 3031) musi on umożliwiać rozróżnianie pakietów na podstawie etykiety MPLS. 5. Jeżeli proces monitorujący jest uruchomiony na urządzeniu, które wspiera DiffServ (ang. Differentiated Services, RFC 2474) musi on umożliwiać rozróżnianie pakietów na podstawie parametru DiffServ Code Point. 5.4.3 Wymagania stawiane procesowi monitorowania Poniżej przedstawiona zostanie lista wymagań stawianych przez twórców standardu procesowi monitorowania, które określają jego zachowanie w różnych warunkach, jakie występują we współczesnych sieciach komputerowych: niezawodność: proces monitorujący musi być niezawodny lub też brak niezawodności musi być znany i wskazany. Można powiedzieć o procesie klasyfikującym że Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 44 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow jest niezawodny, jeżeli jest w stanie przeanalizować każdy pakiet, który przechodzi przez punkt obserwacji. Jeżeli np. ze względu na duże obciążenie nie wszystkie pakiety mogą zostać przeanalizowane, proces monitorujący musi mieć zaimplementowaną funkcję, która to wykryje i zgłosi; próbkowanie: proces klasyfikujący może dokonywać próbkowania przepływów, jednak w takim przypadku konieczne jest dokładne zdefiniowanie konfiguracji próbkowania. Jeżeli konfiguracja próbkowania ulegnie zmianie, proces próbkujący musi powiadomić o tym wszystkie procesy zbierające, do których eksportuje rekordy przepływów. Po zmianie próbkowania, wszystkie rekordy stworzone przed zmianą próbkowania muszą zostać zakończone i wyeksportowane do kolektora. Niedozwolone jest wymieszanie rekordów przepływu stworzonych z wykorzystaniem różnych metod próbkowania; zachowanie w przypadku przeciążenia: gdy z powodu przeciążenia zasoby mocy obliczeniowej i pamięci operacyjnej są ograniczone, proces monitorujący może dostosować swoje działanie do zaistniałej sytuacji poprzez: − zmniejszenie liczby monitorowanych przepływów poprzez bardziej gruboziarniste mierzenie przepływów lub ograniczenie ich liczby; − wprowadzenie próbkowania przepływu nim zostanie poddany klasyfikacji lub, jeżeli próbkowanie jest już uruchomione, zmniejszenie częstotliwości próbkowania; − całkowite zatrzymanie monitorowania; − obniżenie aktywności konkurujących procesów, aby większa ilość zasobów była dostępna dla procesu monitorowania. Podobnie jak w przypadku zmiany sposobu próbkowania, w przypadku modyfikacji spowodowanej koniecznością dostosowania do pracy z wykorzystaniem ograniczonych zasobów proces monitorujący musi odpowiednio odseparować rekordy zainicjowane przed zmianą od rekordów stworzony już po zmianie trybu pracy. Musi też powiadomić o zmianie procesy kolektorów, do których wysyła rekordy przepływów. Dodawane znaczników czasu: proces musi generować znaczniki czasu dla pierwszego i ostatniego pakietu w każdym przepływie. Minimalna odległość pomiędzy znacznikami czasu to jedna setna sekundy (0.01 s). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 45 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Synchronizowanie czasu: konieczne jest generowanie znaczników czasu z czasem UTC. Łatwo zauważyć, że z synchronizacji znaczników czasowych z UTC wynika wzajemna synchronizacja pomiędzy różnymi procesami eksportera. Przeterminowywanie przepływów: proces monitorujący musi wykrywać przepływy przeterminowane – takie, do których nie został zakwalifikowany żaden pakiet przez określony czas przeterminowania. Proces monitorujący może zapobiegać przeterminowaniu przepływów wykrywając wcześniej logiczne zakończenie komunikacji (np. komunikaty FIN lub RST w protokole TCP). Monitorowanie przepływów multicastowych: dla pakietów multicastowych, kierowanych na wszystkie porty urządzenia, proces monitorujący powinien stworzyć rekordy przepływu dla każdego portu, rozróżniając je właśnie ze względu na port docelowy. 5.4.4 Model informacji – jakie informacje o przepływach są eksportowane Poniżej zostaną wymienione parametry, które implementacja sondy musi mieć możliwość zbierać o przepływach a następnie eksportować z wykorzystaniem rekordów przepływu. Oczywiście nie wszystkie te parametry muszą być zawarte w każdym z rekordów. Jest to nawet niewskazane ze względu na zalecenie, aby ilość informacji monitorujących sieć była ograniczona tylko do tego, co jest administratorowi w danej chwili potrzebne i nic ponad to. Wskazane jest również ograniczanie redundancji w przekazywanych parametrach – jeżeli jakaś wartość jest taka sama w każdym rekordzie przepływu (np. przepływ jest obserwowany na jednym porcie urządzenia), to nie musi ona występować w każdym z rekordów. Lista wymaganych do przekazywania parametrów przepływów: 1. wersja protokołu IP; 2. źródłowy adres IP; 3. docelowy adres IP; 4. typ protokołu IP (TCP, UDP, ICMP,…); 5. numer portu źródłowego (dla TCP/UDP); 6. numer portu docelowego (dla TCP/UDP); 7. licznik pakietów (dla podzielonych pakietów); 8. licznik danych – określa liczbę bajtów, która została przesłana w ramach jednego przepływu; Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 46 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 9. oktet typ usługi z nagłówka IPv4 lub klasy ruchu (dla IPv6) (zgodnie ze specyfikacją Differentiated Services może w tym bajcie być także tzw. DiffServ Code Point); 10. etykieta przepływu (dla IPv6); 11. etykieta MPLS (w przypadku wspierania MPLS przez urządzenia w sieci); 12. znacznik czasowy pierwszego pakietu w przepływie; 13. znacznik czasowy ostatniego pakietu w przepływie; 14. konfiguracja próbkowania (jeżeli jest wykorzystywane); 15. unikalny identyfikator punktu obserwacji; 16. unikalny identyfikator procesu eksportującego. Parametry, które powinny być eksportowane: 17. jeżeli protokół IP to ICMP: typ ICMP; 18. interfejs wejściowy (port, którym pakiet dotarł do urządzenia – nie stosuje się gdy punkt obserwacji jest umieszczony na urządzeniu dedykowanym do monitorowania NetFlow); 19. interfejs wyjściowy (port, którym pakiet opuścił urządzenie – nie stosuje się gdy punkt obserwacji jest umieszczony na urządzeniu dedykowanym do monitorowania NetFlow); 20. współczynnik replikacji (Multicast): liczba pakietów wygenerowanych na podstawie jednego przychodzącego pakietu rozgłoszeniowego. Wartość ta nie jest stała – zmienia się wraz ze zmianami zachodzącymi w sieci (np. mniej komputerów podłączonych do przełącznika). Parametry, które mogą być eksportowane: 21. TTL (IPv4) lub Hop Limit (IPv6); 22. flagi nagłówka IP; 23. flagi nagłówka TCP; 24. licznik pakietów zagubionych w punkcie obserwacji; 25. ilość pakietów w przepływie, które były podzielone na fragmenty (fragment bit=1); 26. adres IP następnego węzła w sieci (ang. next hop IP address); 27. numer źródłowego autonomicznego systemu BGP; Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 47 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 28. numer docelowy autonomicznego systemu BGP; 29. numer następnego węzła autonomicznego systemu BGP. 5.4.5 Model danych – jak skonstruowany jest rekord przepływu Model danych, który będzie zaimplementowany w systemie budowanym w oparciu o standard NetFlow, musi być rozszerzalny, tak aby umożliwiał dodawanie kolejnych parametrów i rozszerzanie definicji rekordów. Mimo iż zestaw atrybutów jest ustalony w rekordzie przepływu, konieczne jest zapewnienie możliwości jego rozszerzenia na potrzeby specyficznych zastosowań. Konieczna jest taka implementacja, w której można elastycznie zmieniać format rekordu i przekazywane w nim parametry przepływu, tak aby unikać redundancji informacji i łatwiej je analizować. Tworzony model danych powinien być niezależny od protokołu wykorzystywanego protokołu transportowego. 5.4.6 Przesyłanie danych – co należy wziąć pod uwagę Po tym, jak zostanie stworzony poprawny proces monitorujący oraz eksportujący (z zachowaniem wymagań dotyczących elastyczności formy i treści rekordów przepływu), konieczne jest spełnienie wymagań nałożonych na proces transportu danych. Szczególnej uwagi wymagają zagadnienia: • niezawodności: utrata pakietów w czasie ich przesyłania przez proces eksportujący do kolektora musi być przez proces zbierający wykryta w sposób, który pozwoli na określenie liczby zaginionych pakietów. Do utraty pakietów może dojść z następujących powodów: ograniczenia procesu monitorowania lub/i eksportującego (brak pamięci, mocy obliczeniowej), problemy w warstwie transportowej, ograniczenia kolektora (proces nie jest w stanie odebrać wszystkich przesyłanych danych) lub jego czasowego wyłączenia (np. ze względu na zmianę konfiguracji). Niezawodność w przypadku wykorzystania protokołu transportowego innego niż TCP (który gwarantuje poprawne przesłanie danych) można przenieść na wyższe warstwy modelu. W takiej sytuacji ważne jest, aby raportować sam fakt występowania błędów, bez konieczności rozwiązywania trudności. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 48 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Implementowane rozwiązanie musi umożliwiać rozszerzanie niezawodności poprzez wdrożenie: retransmisji zagubionych rekordów, wykrywanie utraty połączenia oraz potwierdzanie odbioru danych przez kolektor. • bezpieczeństwa: niezbędne jest zapewnienie poufności, integralności oraz autentyczności transmisji pomiędzy sondą i kolektorem. Szczegółowy opis zagrożeń będzie opisany w dalszej części niniejszego opracowania. • trybu pracy sondy: sonda może sama decydować o momencie przesyłania rekordów przepływu (komunikacja aktywna – ang. push mode) lub oczekiwać na żądanie kolektora nakazujące przesłanie rekordów (komunikacja pasywna – ang. pull mode). Proces eksportujący musi obsługiwać tryb aktywny oraz może obsługiwać tryb bierny. W przypadku komunikacji aktywnej sonda powinna mieć możliwość przesyłania rekordów w regularnych odstępach czasu. • informowania o zdarzeniach: proces eksportujący może mieć możliwość przesyłania komunikatów (np. o pojawieniu się w sieci nowego przepływu) do kolektora. • maskowania informacji: proces eksportujący może ukrywać źródłowy i docelowy adres IP w przekazywanych rekordach przepływów podobnie jak numery portów i inne informacje. Konieczność przygotowania rozwiązania do takich zadań jest wymagana przez prawo chroniące prywatność, która może zostać naruszona przez ujawnienie informacji dotyczących aktywności sieciowej. Ukrywanie informacji może być realizowane przez proces kolektora, o ile tylko zagwarantowana jest bezpieczna łączność pomiędzy procesem eksportera i kolektora. Algorytmy maskowania informacji są rozwijane, nim jednak powstaną standardy konieczność maskowania nie jest obligatoryjna, nie można jej bezwzględnie wymagać. Ważne jest, aby w przypadku maskowania przez eksportera proces kolektora wiedział, że dane są zamaskowane – tak aby możliwe było rozdzielenie rekordów maskowanych od pozostałych. 5.4.7 Zagadnienia konfigurowania sondy W odniesieniu do zagadnień związanych z konfiguracją procesu monitorującego i eksportującego twórcy standardu wprowadzili następujące kryteria: • Konfiguracja procesu monitorującego powinna umożliwiać: o określenie punktu obserwacji (np. interfejs urządzenia); o zdefiniowanie przepływów, które będą monitorowane; Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 49 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow o określenie czasów aktualności przepływów (ang. flow timeouts); • Konfiguracja procesu monitorującego może umożliwiać: o określenie metody próbkowania i jej parametrów (jeżeli jest wykorzystywane); o określenie parametrów procesu w sytuacji przeciążenia (jeżeli taki zestaw funkcji jest dostępny dla sondy). • Konfiguracja procesu eksportera powinna umożliwiać określenie następujących elementów: o format danych wykorzystywanych do eksportowania informacji o przepływach; o proces (procesy) kolektora, do których eksporter ma przesyłać dane; o interwał czasowy pomiędzy raportami (tylko jeżeli sonda posiada funkcję realizującą okresowe raportowanie); o komunikaty przesyłane do kolektora (jeżeli proces eksportera ma zaimplementowaną możliwość wysyłania komunikatów do kolektora); o maskowanie (anonimizacja) przepływów (tylko jeżeli proces eksportujący umożliwia maskowanie eksportowanych danych). Zalecane jest w przypadku zdalnego konfigurowania procesów sondy (monitora i eksportera), aby wykorzystywać taki sposób połączenia, który zapewni poufność, integralność oraz autentyczność informacji konfiguracyjnych. 5.4.8 Zalecenia ogólne Twórcy specyfikacji zalecają, aby poza wymienionymi poprzednio wymaganiami dotyczącymi elementów architektury, twórcy oprogramowania uwzględnili wskazówki określające cechy rozwiązania jako całości. Zwracają uwagę na: • otwartość (elastyczność) w wykorzystaniu nowych technologii, co można zrealizować poprzez określone wcześniej wymagania dotyczące szerokiej konfiguracji procesu monitorującego i eksportującego; • skalowalność umożliwiającą zbieranie informacji z bardzo wielu procesów monitorujących w jednym procesie zbierającym; • możliwość komunikacji wiele do wielu (wiele procesów eksportera może wysyłać dane do jednego procesu zbierającego oraz jeden proces eksportera może wysyłać dane do wielu procesów zbierających). Istotnym wymogiem jest właściwa identyfikacja otrzymywanych informacji pochodzących z wielu źródeł Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 50 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 5.4.9 Lokalizacja punktów obserwacji i procesów IPFIX Grupa tworząca standard nie wprowadza żadnych zaleceń (ograniczeń) jeżeli chodzi o lokalizację punktów obserwacji oraz architekturę procesów. W oparciu o rozwiązania stosowane w implementacjach SNMP i związaną z nimi praktykę administratorów można oczekiwać, iż najbardziej optymalne będzie umieszczenie punktu obserwacji, procesu monitorującego i eksportującego na pojedynczym urządzeniu. Jednakże standard umożliwia również inne konfiguracje, których przykłady zostaną przedstawione poniżej. W każdym ze schematów wyróżnia się trzy wymienione wcześniej elementy: punkt obserwacji (O) – rozumiany jako najmniejsze z możliwych na danym urządzeniu (np. jeden interfejs urządzenia, ale już nie grupa interfejsów), proces monitorujący (M) oraz proces eksportujący (E). +---+ | E-+-> | | | | M | | | | | O | +---+ dedykowana sonda +---+ | E-+-> | | | +-+-+ | +-+-+ | | | | M | | | | | O | +---+ Konwerter Protokołów +-----+ | E--+-> | | | | M | | /|\ | | OOO | +-----+ router +---------+ | E----+-> | / \ | | M M | | /|\ /|\ | | OOO OOO | +---------+ router modularny +---------+ <-+--E E--+-> | | | | | M M | | /|\ /|\ | | OOO OOO | +---------+ kilka procesów eksportera +---+ +---+ | E-+-> | E-+------------->---+ | | | | | | +---+ +-+-----+ | M | | M | | E-+------->-+-C-M-E-+-> | | | | | | | | | +---+ +-+-----+ +-+-+ | O | | M | | E-+->---+ | +---+ | | | | | | +-+-+ | O | | M | | | | +---+ | | | +-----+ | O | | O | ->-+-C-E-+-> +---+ +---+ +-----+ zdalny punkt koncentrator proxy obserwacji Rysunek 5.4 Rozmieszczenie elementów IPFIX w architekturze sprzętowej (24) Pierwsze trzy schematy są standardowym, znanym również z architektury SNMP, rozwiązaniem. Na czwartym rysunku (kilka procesów eksportera) przedstawiona jest możliwość umieszczenia kilku procesów eksportera w jednym urządzeniu, co jest wskazane w przypadku, gdy monitorowane jest wiele przepływów i przesyłanych rekordów jest wiele. Kolejny rysunek (konwerter protokołów) przedstawia sytuację, w której proces monitoru- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 51 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow jący jest dostępny tylko z wykorzystaniem protokołu innego niż IPFIX (na przykład SNMP Meter MIB – RFC2720). W tym przypadku proces monitora i eksportera wykorzystują protokół dostępny dla monitora, po czym komunikacja pomiędzy eksporterem i kolektorem odbywa się już z wykorzystaniem protokołu IPFIX. Kolejny rysunek (zdalny punkt obserwacji) ilustruje sytuację, gdzie punkt obserwacji i proces monitorujący są od siebie logicznie oddalone. Nagłówki pakietów przechwyconych w punkcie obserwacji są przesyłane bez obróbki do urządzenia, na którym uruchomiony jest proces monitorujący. Schemat koncentratora przedstawia przykład agregowania rekordów przepływu: do koncentratora docierają rekordy przepływu (przesyłane za pomocą protokołu IPFIX), gdzie kolejny proces monitora dokonuje klasyfikacji w oparciu o własny zestaw reguł, po czym dane są dalej eksportowane przez kolejny proces eksportera. Ostatni z przedstawionych schematów to urządzenie pośrednika (ang. proxy). Urządzenie zarówno otrzymuje jak i wysyła informacje z wykorzystaniem protokołu IPFIX, jego głównym zastosowaniem jest możliwość przesyłania danych protokołu przez zapory sieciowe (ang. firewalls) i bramy (ang. gateways). 5.4.10 Zagadnienia bezpieczeństwa Protokół IPFIX musi umożliwiać przekazywanie danych przez Internet, dlatego też nie można wykluczyć, iż będzie on narażony na rożnego rodzaju ataki (np. na przechwytywanie lub modyfikację przesyłanych pakietów). Implementujący protokół powinni mieć świadomość zagrożeń, na jakie mogą być wystawione systemy oparte o IPFIX a także powinni w swoich produktach oferować funkcje zapewniające bezpieczeństwo. W tym rozdziale zostaną przedstawione zagrożenia, które mogą wpływać na poprawne funkcjonowanie protokołu z perspektywy funkcji monitorującej, która jest jego głównym zadaniem. • Ujawnienie danych o przepływach: informacje zawarte w rekordach przekazywanych w ramach protokołu IPFIX (np. w rekordach przepływu) powinny być poufne w czasie ich przekazywania pomiędzy elementami architektury protokołu. Możliwość analizowania zawartości rekordów daje osobom niepowołanym (w domyśle – atakującym naszą sieć) bardzo bogaty zestaw informacji o ruchu w sieci, głównych węzłach komunikacyjnych i charakterystyce ruchu. Zdobyta wiedza pozwala nie tylko śledzić (szpiegować) działalność użytkowników, ale też tak zaplanować ewentualny atak, by ukryć go w ruchu sieciowym. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 52 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Poufność powinna być również zachowana ze względu na obowiązek ochrony danych użytkowników korzystających z Internetu. W wielu krajach regulacje prawne precyzują sposób ochrony informacji dotyczących użytkowników (a do takich zaliczane są informacje o aktywności internetowej). Aby zapewnić poufność można wykorzystać szyfrowanie, dodatkowo uzupełnione funkcjami anonimizującymi. Dla wielu zadań monitorowania dane zamaskowane są równie użyteczne co dane w oryginalnej formie. Z tego też względu wcześniej wspomniane maskowanie powinno być implementowanie również z tego względu. • Fałszerstwo rekordów przepływu: protokół IPFIX był tworzony z założeniem wykorzystania między innymi dla celów monitorowania bezpieczeństwa i wykrywania zagrożeń. Z tego też względu ryzyko dokonywania szkodliwych zmian w przesyłanych rekordach (aby ukryć występowanie szkodliwego ruchu) jest znacznie większe niż w przypadku innych protokołów. Atak może być realizowany poprzez zmianę rekordów przesyłanych do kolektora lub przez wprowadzanie do systemu nowych, sfałszowanych rekordów. Szczególna uwaga jest wskazana w przypadku wykorzystywania protokołu IPFIX do sterowania aplikacjami bezpieczeństwa. Fałszywe rekordy przepływu mogą stworzyć nieprawdziwy obraz środowiska sieciowego i obniżyć skuteczność zabezpieczeń. Zabezpieczeniem protokołu przed tego rodzaju zagrożeniem może być wykorzystanie metod autentykacji i zapewnienia integralności. • Atak typu Denial of Service (pol. odmówienia usługi): jedna z popularnych form ataku na usługi wymagające komunikacji, gdzie zwykle jedna ze stron pracuje w trybie oczekiwania na informacje. W przypadku protokołu IPFIX proces kolektora może zostać zalany fałszywymi rekordami przepływu, przez co niemożliwe będzie wiarygodne zbieranie informacji na temat ruchu sieciowego. Również proces monitorujący, jeżeli pracuje w trybie pasywnym (gdzie przesyłanie rekordów jest sterowane przez kolektor) oczekując na polecenia od kolektora jest narażony na przyjmowanie sfałszowanych poleceń. Inne zagrożenie związane z tego typu atakiem może wynikać również z obserwowania przepływów związanych z usługą, która poddana jest atakowi DoS – więcej przesyłanych pakietów może zwiększyć ilość generowanych i przesyłanych rekordów. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 53 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6 NetFlow v.9 – Cisco implementuje IPFIX Opisany w poprzednim rozdziale protokół IPFIX został opracowany przez grupę IETF jako standard rozwiązań dla monitorowania przepływów. Protokół NetFlow v9 wdrożony przez firmę Cisco jest implementacją IPFIX, będąc jednocześnie inspiracją dla tego ostatniego. Grupa robocza IETF wykorzystała wiele z rozwiązań wprowadzonych przez Cisco do rozwijanego przez siebie protokołu NetFlow. W kolejnych wersjach pojawiały się rozszerzenia przystosowujące protokół do nowych zadań i współpracy z nowymi wersjami systemów operacyjnych (IOS) urządzeń producenta. Wiele elementów opisujących protokół NetFlow było już opisanych w czasie przedstawiania IPFIX, dlatego też opisując standard zdefiniowany przez producenta sprzętu skupię się na elementach nie występujących w poprzedniej specyfikacji. 6.1 RFC3954 - Cisco Systems NetFlow Services Export Version 9 Definiując 9. wersję protokołu Cisco założyło wykorzystanie własnych urządzeń jako monitorów przepływów, wpisanych jako funkcje w system operacyjny. Wykorzystuje również mechanizm wzorców/szablonów (ang. templates), zapewniając elastyczność w sposobie tworzenia i interpretowania rekordów przepływów bez konieczności wprowadzania nowych wersji protokołu. Pozwala to również na zmniejszenie obciążenia sieci ruchem generowanym przez systemy zarządzania, gdyż można ograniczyć przesyłane w rekordach dane do niezbędnych dla realizacji określonych zadań monitorowania. 6.1.1 Pojęcia podstawowe Poniżej zostaną omówione pojęcia, które nie były wyszczególnione w protokole IPFIX i nie zostały wcześniej omówione (26). • Domena obserwacji (ang. observation domain): zbiór punktów obserwacji tworzących największy z możliwych do zagregowania zbiór źródeł danych o przepływach na danym urządzeniu. Przykładem może być karta rozszerzająca router o dodatkowe porty, gdzie każdy interfejs jest punktem obserwacji, natomiast karta tworzy domenę obserwacji. • Pakiet eksportowy (ang. export packet): pakiet wysyłany przez proces eksportera, przenoszący rekordy przepływu do procesu kolektora. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 54 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • Nagłówek pakietu eksportowego: pierwsza część pakietu eksportowego. Nagłówek dostarcza podstawowych informacji: określa wersję protokołu NetFlow, liczbę rekordów zawartych w pakiecie oraz numery sekwencyjne. • Wzorzec rekordu danych (ang. template record): określa strukturę i sposób interpretacji pól zawartych w rekordzie przepływu. • Wzorzec rekordu opcji (ang. options template record): określa strukturę i sposób interpretacji pól rekordu opcji wraz z określeniem zakresu opisywanych opcji. • Rekord opcji (ang. options data record): rekord zawierający parametry procesu monitorowania, które są interpretowane zgonie z wzorcem rekordu opcji. • Zbiór rekordów (ang. flow set): ogólny termin określający zbiór rekordów przepływów o zbliżonej strukturze. W pakiecie eksportowym jeden lub więcej zbiorów przepływów znajduje się za nagłówkiem pakietu. Wyróżnia się trzy typy zbioru rekordów: zbiór rekordów wzorca, zbiór rekordów opcji, zbiór rekordów danych (przepływów). • Zbiór rekordów wzorca (ang. template flowset): jeden lub więcej rekordów wzorca zgrupowanych razem w pakiecie eksportowym. • Zbiór rekordów wzorca opcji (ang. options template flowset): jeden lub więcej rekordów wzorca opcji zgrupowanych razem w pakiecie eksportowym. • Zbiór rekordów danych (ang. data flowset): jeden lub więcej rekordów tego samego typu, zgrupowanych razem w pakiecie eksportowym. Składa się z rekordów przepływu (danych) lub rekordów opcji, zdefiniowanych wcześniej z wykorzystaniem rekordów wzorca i wzorca rekordu opcji. Zależności pomiędzy poszczególnymi reprezentuje poniższa tabela: +------------------+---------------------------------------------+ | | Contents | | +--------------------+------------------------+ | FlowSet | Template Record | Data Record | +------------------+--------------------+------------------------+ | | | Flow Data Record(s) | | Data FlowSet | / | or | | | | Options Data Record(s) | +------------------+--------------------+------------------------+ | Template FlowSet | Template Record(s) | / | +------------------+--------------------+------------------------+ | Options Template | Options Template | / | | FlowSet | Record(s) | | +------------------+--------------------+------------------------+ Tabela 6.1 Zależności pojęć NetFlow (26) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 55 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.2 Proces tworzenia przepływów Parametry pakietów, na podstawie których dokonywana jest ich klasyfikacja i przypisywanie do określonych przepływów przedstawię z wykorzystaniem ilustracji zamieszczonej przez producenta w dokumentacji protokołu (27): Rysunek 6.1 Proces analizowania pakietów Powyższa ilustracja prezentuje proces tworzenia przepływu, który można scharakteryzować następująco: 1. Ruch sieciowy (ang. Traffic) przepływa przez urządzenie na którym uruchomiony jest proces monitorujący (ang. NetFlow Enabled Device). 2. Proces ten dokonuje analizy pakietu (ang. inspect packet) w oparciu o następujące parametry: a. źródłowy adres IP (pozwalają na wykorzystanie masek podsieci do analizowania zakresów adresów) b. docelowy adres IP (pozwalają na wykorzystanie masek podsieci do analizowania zakresów adresów) c. port źródłowy d. port docelowy e. protokół warstwy transportowej f. zawartość bajtu TOS (ang, Type of Service) g. interfejs wejściowy pakietów Uwaga: protokół NetFlow jest protokołem jednokierunkowym – pozwala analizować ruch przychodzący do interfejsu. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 56 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 3. Na podstawie przeanalizowanych pakietów informacje o nich są dodawane do właściwych przepływów w pamięci podręcznej procesu monitorującego (ang. NetFlow Cache). Na podstawie danych w tej pamięci tworzone są rekordy przepływu, przesyłane następnie do procesu kolektora (proces ten nie jest zilustrowany na powyższym rysunku). Zbiór parametrów wymienionych w pkt. 2. daje wiele cennych informacji o zachowaniu się sieci: • adresy źródłowe i docelowe pozwalają na określenie głównych ścieżek komunikacji; • wykorzystywane porty charakteryzują aplikacje wykorzystywane w sieci; • parametr TOS pozwala określić priorytet ruchu; • określenie interfejsu pozwala na weryfikację poprawności konfiguracji urządzeń sieciowych i tras w routerach; • liczba pakietów pozwala określić rozmiar danych przesyłanych w danym przepływie; • znaczniki czasowe przepływów pozwalają określić czas życia przepływów; • informacje dotyczące routowania pakietów (adres następnego węzła, parametry BGP); • flagi TCP pozwalające analizować sposób nawiązywania połączenia TCP. Ważne jest również, aby zrozumieć kiedy tworzony jest nowy przepływ, a w jakiej sytuacji dokonywane jest jedynie uaktualnienie już istniejącego. Wymienione w punkcie 2 parametry określane są jako tzw. parametry kluczowe przepływów (ang. key fields) – zbieżność lub rozbieżność całego zestawu tychże parametrów dla analizowanego pakietu decyduje o tym, czy dany pakiet zostanie dodany do istniejącego przepływu czy też w oparciu i jego parametry zostanie stworzony nowy przepływ. Zilustruję to wykorzystując materiały Cisco (28): 1. Do sondy dociera pierwszy pakiet – ponieważ nie ma jeszcze zdefiniowanego pakietu automatycznie powstaje zbiór rekordów opisujących przepływ (rekord tworzą parametry kluczowe oraz tzw. parametry niekluczowe (ang. non-key fields), np. ilość pakietów i bajtów w przepływie): Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 57 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Rysunek 6.2 Tworzenie rekordu przepływu #1 2. Do sondy dociera kolejny pakiet, którego parametry kluczowe są takie same jak we wcześniej utworzonym przepływie – pakiet zostaje przypisany do przepływu przez uaktualnienie parametrów niekluczowych (ilość pakietów i bajtów w przepływie): Rysunek 6.3 Tworzenie rekordu przepływu #2 3. Kolejny pakiet rożni się od poprzedniego w obszarze parametrów kluczowych, dlatego też proces monitorujący tworzy nowy przepływ: Rysunek 6.4 Tworzenie rekordu przepływu #3 Łatwo zauważyć, że zbieżność wymagana w zakresie aż siedmiu parametrów skutkuje generowaniu wielu przepływów, często zbyt wielu, łączonych później w procesie analizy. Aby uniknąć tego nadmiarowego rozwiązania następca NetFlow – Flexible NetFlow (opisany w końcowych rozdziałach pracy) pozwala na bardziej elastyczne definiowanie przepływów. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 58 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.3 Dostęp do danych przepływów – poprzez interfejs urządzeń Głównym sposobem dostępu do danych jest opisany w następnych podrozdziałach eksport zebranych danych i ich analiza za pomocą dedykowanego oprogramowania. Jednakże, możliwy jest również dostęp z wykorzystaniem interfejsu CLI (ang. Command Line Interface), wbudowanego w system operacyjny urządzeń Cisco – IOS (ang. Internetwork Operating System). Poniżej zostanie przedstawiony przykładowy zrzut zawartości konsoli (18) po zaaplikowaniu komendy ukazującej bieżącą zawartość pamięci podręcznej przepływów (znaczenie poszczególnych pól zostanie opisane w następnych rozdziałach): R3#show ip cache flow IP packet size distribution (469 total packets): 1-32 64 96 128 160 192 224 256 288 320 352 384 416 448 480 .000 .968 .000 .031 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 512 544 576 1024 1536 2048 2560 3072 3584 4096 4608 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 .000 IP Flow Switching Cache, 278544 bytes 7 active, 4089 inactive, 261 added 1278 ager polls, 0 flow alloc failures Active flows timeout in 30 minutes Inactive flows timeout in 15 seconds IP Sub Flow Cache, 25736 bytes 1 active, 1023 inactive, 38 added, 38 added to flow 0 alloc failures, 0 force free 1 chunk, 1 chunk added last clearing of statistics never Protocol Total Flows Packets Bytes Packets Active(Sec) Idle(Sec) -------- Flows /Sec /Flow /Pkt /Sec /Flow /Flow TCP-WWW 71 0.0 1 40 0.1 1.3 1.2 TCP-BGP 35 0.0 1 40 0.0 1.3 1.2 TCP-other 108 0.1 1 40 0.1 1.3 1.2 UDP-other 37 0.0 1 52 0.0 0.0 15.4 ICMP 3 0.0 5 100 0.0 0.0 15.3 Total: 254 0.2 1 42 0.4 1.1 3.5 (NetFlow cache below) SrcIf SrcIPaddress DstIf DstIPaddress Pr SrcP DstP Pkts Et1/0 172.16.7.2 Null 224.0.0.9 11 0208 0208 1 Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0087 0087 1 Et1/0 172.16.10.2 Et0/0 172.16.1.84 06 0050 0050 1 Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0089 0089 1 Et1/0 172.16.10.2 Et0/0 172.16.1.85 06 0050 0050 1 Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 00B3 00B3 1 Et1/0 172.16.10.2 Et0/0 172.16.1.86 06 0185 0185 2 Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 59 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.4 Dostęp do danych przepływów - proces eksportowania przepływów Proces eksportera przepływów odpowiada za przygotowanie do przesłania i samo przesłanie do procesu kolektora. Dla poprawności realizacji tego procesu ważne jest, aby we właściwy sposób wyznaczyć moment zakończenia przepływu (ang. flow expiration) i możliwość jego eksportu: 1. Wykrywanie zakończenia przepływu spowodowanego przesłaniem bitów FIN lub RST w połączeniu TCP 2. Brak aktywności przepływu w pewnym okresie czasu (czas ten powinien być konfigurowalny, z możliwością ustawienia go na „0” dla natychmiastowego zakończenia) 3. Dla długich połączeń, gdzie przepływy są długotrwałe, proces eksportera powinien eksportować rekordy przepływu regularnie w zadanych odstępach czasu (które powinny być konfigurowalne) 4. W przypadku wystąpienia ograniczeń w dostępnych zasobach, proces eksportera może przedwcześnie zakończyć obserwowanie przepływu i przesłać go do kolektora. Protokół NetFlow domyślnie wykorzystuje protokół UDP, gwarantujący wysoką wydajność przy przesyłaniu obszernych pakietów eksportowych. Można jednak wykorzystać inne protokoły warstwy transportowej, które gwarantują poprawność transmisji (np. protokół SCTP). Możliwe jest, że proces eksportujący do kilku kolektorów może wykorzystywać różne protokoły transportowe. Ze względu na fakt, iż protokół UDP nie gwarantuje poprawności transmisji w obciążonym środowisku, wskazane jest, aby w przypadku takich właśnie sieci tworzyć połączenie pomiędzy procesem eksportującym i kolektorem z wykorzystaniem dedykowanego połączenia. W przypadku gdy odległość sieciowa pomiędzy procesem eksportującym i kolektorem jest większa niż jeden przeskok (jeden router, ang. one-hop distance) lub gdy nie można wykorzystać dedykowanego łącza, konfiguracja połączenia powinna gwarantować procesowi eksportującemu wystarczające pasmo w każdych warunkach. Jest to ważne, ponieważ małą przepustowość połączenia może doprowadzić do powstawania zatorów w eksporterze. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 60 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Przedstawiony poniżej rysunek obrazuje proces powstawania przepływów i ich eksport. Rysunek 6.5 Tworzenie i eksport rekordów przepływów Rysunek nie jest opublikowany w ramach opisu standardu lecz w dokumencie (18) opublikowanym prze Cisco, który przedstawia główne założenia NetFlow. 6.1.5 Struktura pakietu eksportowego (ang. Packet Layout) Pakiet eksportowy składa się z nagłówka pakietu, za którym umieszczone są jeden lub więcej zbiorów rekordów (flowset). Zbiory rekordów mogą być zbiorami rekordów wzorca, danych lub opcji: +----------+--------------------------------------------------+ | | +------------+ +------------+ +------------+ | | Nagłówek | | zbiór rek. | | zbiór rek. | | zbiór rek. | | | pakietu | | wzorca | | danych | | opcji | ... | | | | | | | | | | | | +------------+ +------------+ +------------+ | +----------+--------------------------------------------------+ Rysunek 6.6 Pakiet eksportowy (26) Rożne typy zbiorów rekordów (flowset) są rozróżniane w oparciu o parametr FlowSet ID: 0 – zbiór rekordów wzorca, 1 – zbiór rekordów opcji, >255 – zbiór rekordów danych. Proces eksportujący musi kodować przesyłane dane liczbowe całkowite zgonie z „sieciowym porządkiem bitów”, zwanym również porządkowaniem bajtów big-endian. Rozkład zbiorów rekordów w pakiecie eksportowym jest zmienny w czasie. Dla nowych przepływów pierwszy pakiet będzie zawierał zbiór rekordów wzorca, który poin- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 61 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow formuje proces eksportera jak należy traktować dane przesyłane w zbiorach rekordów danych. Zaraz za zbiorem rekordów wzorca będą przekazywane rekordy danych (zawierające informacje o przepływie), mogą też wystąpić rekordy opcji, sterujące procesem kolektora. W kolejnych pakietach przepływów umieszczane będą głównie rekordy danych, ponieważ wszystkie parametry zostały już ustawione i kolektor wie jak interpretować rekordy danych. Proces eksportera może okresowo przesyłać do kolektora pakiety składające się tylko ze zbiorów rekordów wzorca i opcji, aby zapewnić aktualność informacji procesu zbierającego. Poniżej zostanie przedstawiona struktura poszczególnych, wymienionych wyżej, elementów składowych pakietu. • Format nagłówka pakietu (ang. Header Format) Specyfikowany w następujący sposób: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Version Number | Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | sysUpTime | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | UNIX Secs | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Sequence Number | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Source ID | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.7 Nagłówek pakietu eksportowego (26) Version Number – określa numer wersji protokołu NetFlow (w aktualnej wersji 9) Count – całkowita liczba rekordów zawartych w pakiecie (suma rekordów wzorca, danych i opcji sysUpTime – czas (w milisekundach) od czasu uruchomienia urządzenia UNIX Secs – czas (w sekundach) od 00:00 UTC 1970, w którym pakiet opuścił proces eksportera Sequence Number – zwiększany licznik wszystkich pakietów, które opuściły daną domenę obserwacji za pośrednictwem procesu eksportera. Musi to być wartość skumulowana i powinna być przez kolektor wykorzystywana do określenia, czy nie został utracony jakiś pakiet eksportowy. Source ID – 4 bajtowa wartość identyfikująca domenę obserwacji eksportera. procesy zbierające powinny wykorzystywać kombinację źródłowego adresu IP i war- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 62 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow tość parametru Source ID do rozdzielania różnych strumieni eksportowych pochodzących z tego samego procesu eksportującego. 6.1.6 Formaty zbiorów rekordów (ang. FlowSet Format) • Format zbioru rekordów wzorca (ang. Template FlowSet Format) Jednym z głównych elementów formatu NetFlow jest zbiór rekordów wzorca. Wzorce znacząco rozszerzają elastyczność formatu rekordu przepływu, pozwalając procesowi zbierającemu przetwarzać dane przesyłane w rekordach bez konieczności interpretacji wszystkich danych zawartych w przepływie. Format zbioru rekordów wzorca wygląda następująco: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = 0 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID 256 | Field Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type 1 | Field Length 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type 2 | Field Length 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type N | Field Length N | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID 257 | Field Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type 1 | Field Length 1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type 2 | Field Length 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Field Type M | Field Length M | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID K | Field Count | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.8 Format zbioru rekordów wzorca (26) FlowSet ID – wartość ID zbioru rekordów, dla wzorca ma wartość „0”. Length – całkowita długość zbioru rekordów. Ponieważ pojedynczy zbiór rekordów wzorca może zawierać wiele rekordów, wartość length jest wykorzystywana do wyznaczenia początku kolejnego zbioru rekordów (który może być dowolnego typu). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 63 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Template ID: każdy z nowo wygenerowanych rekordów wzorca otrzymuje unikalny (w ramach domeny obserwacji) numer identyfikacyjny. Template ID z zakresu 0-255 są zarezerwowane dla zbiorów rekordów wzorca, opcji lub innych specjalnych typów rekordów. Template ID z zakresu 256-65535 określają zbiory rekordów danych przepływów. Field Count: określa ilość pól w danym wzorcu. Ponieważ zbiór rekordów wzorca może zawierać więcej niż jeden rekord, pole to pozwala procesowi kolektora wyznaczyć koniec danego rekordu wzorca i początek kolejnego. Field type: wartość liczbowa reprezentująca typ pola. Wartości te zostaną omówione szczegółowo w dalszej części pracy. Field length: długość pola danych typu określonego przez poprzedni parametr. Wartości te zostaną omówione szerzej w następnych rozdziałach. • Format pakietu danych (ang. Data FlowSet Format) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = Template ID | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 1 - Field Value 1 | Record 1 - Field Value 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 1 - Field Value 3 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 2 - Field Value 1 | Record 2 - Field Value 2 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 2 - Field Value 3 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 3 - Field Value 1 | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.9 Format zbioru rekordów danych przepływów (26) FlowSet ID=Template ID: każdy ze zbioru rekordów danych jest jednoznacznie skojarzony z wygenerowanym wcześniej i opisującym go zbiorem rekordów wzorca. Kolektor musi korzystać z tego parametru do odszukiwania właściwego szablonu, tak aby wykorzystując go prawidłowo odczytać przesyłane dane. Length: długość zbioru rekordów. Jest to suma długości pola FlowSetID, samego pola Length oraz rekordów zgromadzonych w tym zbiorze oraz dopełnienia jeżeli występuje. Record N – Field Value M: zbiór rekordów przepływów, gdzie każdy zawiera zbiór wartości. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 64 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Padding: dopełnienie, które eksporter powinien umieścić aby kolejny zbiór rekordów rozpoczynał się z wyrównaniem do czterech bajtów. Pole Length uwzględnia występowanie dopełnienia, które powinno być wypełnione „0”. Poprawność interpretacji rekordów przepływu wymaga dostępności w procesie kolektora wzorca odpowiadającego przesłanym rekordom danych. 6.1.7 Pakiety opcji Protokół NetFlow w wersji 9. wykorzystuje do przekazywania informacji tzw. rekordy opcji. Podobnie jak w przypadku rekordów danych przepływów, również przy przekazywaniu opcji wykorzystywane są rekordy i szablony, które pozwalają na definiowanie formatu rekordów danych opcji. Poniżej przedstawione zostaną formaty rekordów opcji i wzorca rekordu opcji. • Format zbioru rekordów wzorca opcji (ang. Options Template FlowSet Format) 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = 1 | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID | Option Scope Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option Length | Scope 1 Field Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Scope 1 Field Length | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Scope N Field Length | Option 1 Field Type | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option 1 Field Length | ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Option M Field Length | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.10 Format wzorca zbioru rekordów opcji (26) FlowSet ID=1: wartość „1” zarezerwowana dla wzorca zbioru rekordów opcji (ang. Options FlowSet). Length: łączna długość tego zbioru rekordów wzorca opcji. Ponieważ każdy zbiór może zawierać różną liczbę rekordów, wartość ta jest wykorzystywana do wyznaczenia pozycji kolejnego zbioru rekordów. Template ID: ID danego wzorca, większa od 255 (pozwala, podobnie jak w przypadku rekordów danych przepływów, odnaleźć pasujący rekord danych). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 65 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Option Scope Length: długość w bajtach pól definiujących obszar (Scope – opisany dalej) zawartych w zbiorze – pozwala wyznaczyć granice definicji poszczególnych obszarów. Option Length: długość (w bajtach) wszystkich pól definiujących zakresy opcji w danym zbiorze – pozwala wyznaczyć pierwszy rekord opisujący opcję. Scope 1 Field Type: określa zakres działania opcji zawartych w rekordach. W chwili obecnej zdefiniowane są następujące obszary konfiguracji: 1. System 2. Interface 3. Line Card 4. Cache 5. Template Dla przykładu proces monitora może być uruchomiony w oparciu o interfejsy, więc jeżeli za pomocą rekordów opcji dokonywane są zmiany w sposobie monitorowania interfejsu, pole „Scope 1 Field Type” ma wartość 2 („Interface”). Scope 1 Field Length: długość (w bajtach) pola określającego zakres działania opcji. Option 1 Field Type: liczbowa wartość reprezentująca typ pola rekordu. Typy pól zostaną określone dalej w dokumencie. Option 1 Field Length: długość (w bajtach) pola opcji. Padding: dopełnienie, które eksporter powinien umieścić aby kolejny zbiór rekordów rozpoczynał się z wyrównaniem do czterech bajtów. Pole Length uwzględnia występowanie dopełnienia, które powinno być wypełnione „0”. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 66 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • Format zbioru rekordów danych opcji (ang. Options Data Record Format) Opisany powyżej zbiór rekordów wzorca opcji opisuje sposób, w jaki należy interpretować zbiory rekordów opcji, których format zostanie zaprezentowany poniżej. 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = Template ID | Length | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 1 - Scope 1 Value |Record 1 - Option Field 1 Value| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Record 1 - Option Field 2 Value| ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 2 - Scope 1 Value |Record 2 - Option Field 1 Value| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Record 2 - Option Field 2 Value| ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Record 3 - Scope 1 Value |Record 3 - Option Field 1 Value| +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Record 3 - Option Field 2 Value| ... | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ... | Padding | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.11 Format zbioru rekordów opcji (26) FlowSet ID = Template ID: parametr poprzedzający każdy zbiór rekordów opcji, tworząc powiązanie z właściwym wzorcem rekordów opcji, dzięki czemu wiadomo jak interpretować rekordy opcji (w tym typ i długość pól rekordów). Length: długość zbioru rekordów, będąca sumą długości pół: FlowSet ID, Length, wszystkich rekordów opcji w zbiorze oraz dopełnienia. Record N – Option Field M Value: zbiór rekordów, z których każdy składa się z pola określającego zasięg, którego dotyczą parametry występujące w tym samym rekordzie oraz pól przekazujących wartości tych zmiennych. Padding: dopełnienie, które eksporter powinien umieścić aby kolejny zbiór rekordów rozpoczynał się z wyrównaniem do czterech bajtów. Pole Length uwzględnia występowanie dopełnienia, które powinno być wypełnione „0”. Warto, po raz kolejny, zaznaczyć konieczność przekazywania aktualnych rekordów wzorca, które pozwalają właściwie interpretować przesyłane opcje, zmieniające parametry pracy procesów. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 67 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.8 Zarządzanie wzorcami Ze względu na kluczową rolę wzorców w całym procesie wymiany informacji konieczne jest usystematyzowanie zarządzania nimi, w szczególności należy pamiętać o: • zbiory rekordów danych o przepływach mogą być przekazywane w tym samym pakiecie co odpowiadający mu zbiór rekordów wzorca. Ponieważ rekordy wzorca nie są przekazywane w każdym pakiecie eksportowym proces kolektora musi mieć możliwość przechowywania i zarządzania rekordami wzorców, tak aby w każdej chwili dysponować właściwym dla otrzymywanych rekordów przepływów szablonem; • konieczne jest zaimplementowanie w procesie kolektora, który może odbierać dane z kilku procesów eksportujących, funkcji która będzie zarządzała wzorcami otrzymanymi od różnych procesów eksportujących; • identyfikatory wzorców (Templates ID) muszą pozostawać stałe w czasie pracy procesu eksportera i kolektora. Gdy któryś z procesów zostanie zatrzymany informacje dotyczące wzorców zostaną utracone i konieczne będzie ponowne przesłanie wzorców z nowo utworzonymi identyfikatorami; • nowo tworzony rekord wzorca ma przypisywany niewykorzystany do tej pory identyfikator. W przypadku zmiany wzorca jego identyfikator jest porzucany i nie powinien być ponownie wykorzystany aż do czasu restartu procesu eksportera; • proces kolektora po otrzymaniu nowego wzorca o tym samym ID powinien odrzucić poprzedni i wykorzystywać nowo przesłany; • w przypadku tworzenia nowego rekordu wzorca w miejsce wcześniej usuniętego o dokładnie takich samych parametrach, identyfikator może pozostać taki sam. Proces eksportera wysyła zbiory rekordów wzorca oraz zbiory rekordów wzorca opcji zachowując następujące warunki: 1. Po zrestartowaniu procesu monitorującego eksporter nie może wysłać żadnego zbioru rekordów danych przepływów bez uprzedniego przesłania odpowiadającego zbioru rekordów wzorca oraz (jeżeli jest wymagany) zbioru rekordów wzorca opcji; 2. W przypadku zmian konfiguracji, proces eksportera powinien przesłać nowy zbiór rekordów wzorca (danych przepływu oraz opcji) w skróconym czasie obsługi. Mo- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 68 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow że na przykład przesłać pakiet eksportowy nie zawierający rekordów danych lecz tylko wspomniane rekordy wzorców; 3. Eksporter musi przesyłać aktualne rekordy wzorców regularnie, aby utrzymywać proces kolektora na bieżąco ze zmianami. Identyfikatory wzorców są ograniczone czasowo i muszą być regularnie odświeżane. Aby to zrealizować wykorzystywane są dwie metody: a. co każde N pakietów eksportowych przesyłany jest zbiór rekordów wzorców; b. co N minut przesyłany jest zbiór rekordów wzorców. Zarówno jedno jak i drugie podejście muszą być możliwe do skonfigurowania. Gdy jeden z warunków (a lub b) jest spełniony, musi nastąpić przekazanie rekordów wzorców. 4. W przypadku zmiany konfiguracji zegara proces eksportera powinien przekazać rekordy wzorców w przyspieszonym trybie. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 69 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.9 Definicje typów pól opisujących parametry przepływów W opisach formatu rekordów pojawiały się pojęcia odnoszące się do typów pól, które mogą występować w rekordach danych i rekordach wzorców. Poniżej zostanie przedstawiona lista tych typów wraz z krótkim opisem. Pola te odwzorowują wybrane parametry z nagłówka pakietu, informacje routowania (numer systemu autonomicznego, maska podsieci) i właściwości samego pakietu (np. długość). Wymagania co do konieczności implementacji poszczególnych typów pól zostały przedstawione w rozdziale opisującym protokół IPFIX (podrozdział 5.4.4 – Model Danych). Typ pola IN_BYTES War- Długość tość (bajty) 1 N Opis Licznik bajtów należących do przychodzących, przepływu, dłu- gość N bajtów, domyślnie N=4 IN_PKTS 2 N Licznik pakietów przychodzą- cych, należących do przepływu, długość N bajtów, domyślnie N=4 FLOWS 3 N Liczba zagregowanych przepły- wów, domyślnie N=4 PROTOCOL 4 1 Bajt określający protokół IP TOS 5 1 Ustawienie bajtu TOS pakietu na wejściu interfejsu TCP_FLAGS 6 1 Skumulowany zapis zbioru flag TCP dla danego przepływu L4_SRC_PORT 7 2 Numer źródłowego portu TCP/UDP IPV4_SRC_ADDR 8 4 Adres źródłowy IPv4 SRC_MASK 9 1 Maska podsieci źródła pakietu (w notacji „/”, inaczej długość maski) INPUT_SNMP 10 N Numer portu wejściowego urzą- dzenia. Domyślnie N=2 L4_DST_PORT 11 2 Numer portu docelowego TCP/DST IPV4_DST_ADDR 12 4 Adres docelowy IPv4 DST_MASK 13 1 Maska podsieci celu pakietu (w notacji „/”, inaczej długość maski) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 70 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Typ pola OUTPUT_SNMP War- Długość tość (bajty) 14 N Opis Numer portu wyjściowego urzą- dzenia. Domyślnie N=2 IPV4_NEXT_HOP 15 4 Adres IPv4 kolejnego routera na trasie pakietu. SRC_AS 16 N Numer źródłowego systemu autonomicznego BGP. Domyślnie N=2, może być też N=4. DST_AS 17 N Numer docelowego systemu autonomicznego BGP. Domyślnie N=2, może być też N=4. BGP_IPV4_NEXT_HOP 18 4 Adres IPv4 kolejnego routera na trasie pakietu w domenie BGP. MUL_DST_PKTS 19 N Licznik wychodzących pakietów Multicast. Domyślnie N=4 MUL_DST_BYTES 20 N Licznik wychodzących (oktetów) Multicast. bajtów Domyślnie N=4 LAST_SWITCHED 21 4 Parametr sysUptime (w milisekundach) w którym ostatni pakiet w ramach danego przepływu został przełączony. FIRST_SWITCHED 22 4 Parametr sysUptime milisekundach) w (w którym pierwszy pakiet w ramach danego przepływu został przełączony. OUT_BYTES 23 N Licznik bajtów wychodzących do przepływu. pakietów wychodzących należących Domyślnie N=4. OUT_PKTS 24 N Licznik należących do przepływu. Do- myślnie N=4. IPV6_SRC_ADDR 27 16 Adres źródłowy IPv6 IPV6_DST_ADDR 28 16 Adres docelowy IPv6 IPV6_SRC_MASK 29 1 Długość maski podsieci źródłowej. IPV6_DST_MASK 30 1 Długość maski podsieci docelowej. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 71 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Typ pola IPV6_FLOW_LABEL War- Długość tość (bajty) 31 3 Opis Etykieta przepływu protokołu IPv6 (RFC2460) ICMP_TYPE 32 2 Typ pakietu ICMP MUL_IGMP_TYPE 33 1 Typ pakietu IGMP SAMPLING_INTERVAL 34 4 Gdy wykorzystywane jest próbkowanie pole pakietów to określa realizowana co ile jest ta operacja. SAMPLING_ALGORITHM 35 1 Gdy wykorzystywane jest próbkowanie określa zastosowany algorytm:0x01 – deterministyczne, FLOW_ACTIVE_TIMEOUT 36 2 0x02 - Czas (w sekundach) traktowania przepływu jako aktywny. FLOW_INACTIVE_ 37 2 _TIMEOUT ENGINE_TYPE Czas (w sekundach) traktowania przepływu jako nieaktywny. 38 1 Typ urządzenia przełączającego przepływy (np. procesor routera) ENGINE_ID 39 1 Identyfikator urządzenia prze- łączającego. TOTAL_BYTES_EXP 40 N Licznik bajtów wyeksportowanych przez daną domenę obserwacji. Domyślnie N=4. TOTAL_PKTS_EXP 41 N Licznik pakietów wyeksportowanych domenę TOTAL_FLOWS_EXP 42 N obserwacji. Licznik domenę 46 1 MPLS_TOP_LABEL_ 47 4 _IP_ADDR Samodzielny Zakład Sieci Komputerowych PŁ, daną Domyślnie przepływów wyeksportowanych MPLS_TOP_LABEL_TYPE przez przez obserwacji. daną Domyślnie 0x00 UNKNOWN 0x01 TE-MIDPT 0x02 ATOM 0x03 VPN 0x04 BGP 0x05 LDP Parameter Forwarding Equivalent Class MPLS. grudzień 07 Łukasz Witaszek 72 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Typ pola FLOW_SAMPLER_ID War- Długość tość (bajty) 48 1 Opis Identyfikator zwracany przez polecenie “show flow-sampler” FLOW_SAMPLER_MODE 49 1 Typ algorytmu używanego do próbkowania danych: 0x02 losowe FLOW_SAMPLER_ 50 4 _RANDOM_INTERVAL Skojarzony z powyższym: odstęp (mierzony ramkami) pomiędzy próbkowaniem. DST_TOS 55 1 Bajt TOS pakietu na wyjściu z urządzenia. SRC_MAC 56 6 Źródłowy adres MAC. DST_MAC 57 6 Docelowy adres MAC. SRC_VLAN 58 2 Identyfikator VLAN związany z związany z portem wejściowym. DST_VLAN 59 2 Identyfikator VLAN portem wyjściowym. IP_PROTOCOL_VERSION 60 1 Wersja protokołu IP:IPv4-4, IPv6-6, jeżeli nie występuje we wzorcu, zakłada się 4. DIRECTION 61 1 Kierunek przepływu:0-we,1-wy IPV6_NEXT_HOP 62 16 Adres IPv6 kolejnego routera na trasie BGP_IPV6_NEXT_HOP 63 16 Adres IPv6 kolejnego routera na trasie w domenie BGP IPV6_OPTION_HEADERS 64 4 Bitowa reprezentacja pola opcji w nagłówku IPv6. MPLS_LABEL_1 70 3 Etykieta MPLS na pozycji 1. w stosie. MPLS_LABEL_2 71 3 Etykieta MPLS na pozycji 2. w stosie. MPLS_LABEL_3 72 3 Etykieta MPLS na pozycji 3. w stosie. MPLS_LABEL_4 73 3 Etykieta MPLS na pozycji 4. w stosie. MPLS_LABEL_5 74 3 Etykieta MPLS na pozycji 5. w stosie. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 73 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Typ pola MPLS_LABEL_6 War- Długość tość (bajty) 75 3 Opis Etykieta MPLS na pozycji 6. w stosie. MPLS_LABEL_7 76 3 Etykieta MPLS na pozycji 7. w stosie. MPLS_LABEL_8 77 3 Etykieta MPLS na pozycji 8. w stosie. MPLS_LABEL_9 78 3 Etykieta MPLS na pozycji 9. w stosie. MPLS_LABEL_10 79 3 Etykieta MPLS na pozycji 10. w stosie. Tabela 6.2 Tabela typów pól (26) Można zauważyć nieciągłość w wartościach typu pola, która wynika z faktu rezerwacji następujących wartości:25, 26, 43 do 45, 51 do 54 oraz 65 do 69. Mogą one zostać wykorzystane w procesie udoskonalania protokołu. W przypadkach, gdzie nie dokonano jednoznacznie określenia rozmiaru pola kierowano się dużą zmiennością charakteryzowanych parametrów, co mogłoby prowadzić do nieoptymalnego wykorzystania pasma i pamięci operacyjnej. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 74 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.1.10 Proces kolektora Proces zbierający otrzymuje wzorce rekordów od eksportera, zwykle przed otrzymaniem zbiorów rekordów danych (opcji). Taka kolejność gwarantuje prawidłowe zdekodowanie informacji przekazanej za pomocą rekordów danych lub opcji. Jeżeli rekordy wzorca dotrą do procesu kolektora z opóźnieniem, powinien on mieć możliwość przechowania otrzymanych wcześniej rekordów danych, aby w momencie otrzymania szablonów dokonać ich przetworzenia i zapisać wyniki obserwacji. Implementując proces kolektora nie można założyć, że zbiory rekordów danych i odpowiadające im zbiory rekordów wzorca są przesyłane w tym samym pakiecie eksportowym, podobnie jak nie można zakładać, iż w takim pakiecie znajduje się tylko jeden zbiór rekordów wzorca. Okres ważności wzorca jest ograniczony do ustalonego, odświeżalnego przedziału czasu, po upływie którego wzorzec uznawany jest za nieaktualny i nie będzie wykorzystywany do interpretacji nadchodzących rekordów danych. W każdej chwili proces zbierający powinien utrzymywać najświeższe wartości następujących parametrów rekordów wzorca danych i rekordów wzorca opcji: oznaczenie procesu eksportera, domeny obserwacji, identyfikatora wzorca (unikalnego w ramach procesu eksportera i domeny obserwacji), definicji wzorca oraz wskazanie ostatnio otrzymanego rekordu. Proces kolektora musi natychmiast po otrzymaniu nowego wzorca o tym samym identyfikatorze nadpisać poprzedni i wykorzystywać nowo otrzymany szablon. Proces kolektora musi też właściwie interpretować pola dopełnienia występujące w przesyłanych zbiorach rekordów. 6.1.11 Zagadnienia bezpieczeństwa Twórcy protokołu NetFlow założyli, że proces monitorująco-eksportujący oraz proces(y) kolektora znajdują się w obrębie jednej prywatnej (a co za tym idzie bezpiecznej) sieci. Jednakże protokół może być wykorzystywany do komunikacji w środowisku Internetu, dlatego też należy zwrócić uwagę na mogące się pojawić zagrożenia. Ich szczegółowy opis został przedstawiony przy opisie zaleceń IPFIX dotyczących bezpieczeństwa (podrozdział 5.4.10 – Zagadnienia bezpieczeństwa). Specyfikacja Cisco nie rozszerza tego opisu, jak również nie implementuje metod bezpieczeństwa, ze względu na wcześniej wspomniane założenie wykorzystania technologii w bezpiecznych sieciach. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 75 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 6.2 Przykład Opis mechanizmu wzorców, wprowadzonego w 9. wersji protokołu, jest skomplikowany, dlatego też w specyfikacji zamieszczony został przykład obrazujący współdziałanie wzorców i zbiorów rekordów (26 str. 29 i następne). Oto jak wyglądają zbiory rekordów i zbiory wzorców tychże rekordów, których zadaniem jest dostarczenie następujących informacji: − źródłowy adres IP (IPv4) − docelowy adres IP (IPv4) − adres IP (IPv4) następnego węzła (routera) − liczba bajtów w przepływie − liczba pakietów w przepływie Aby przesyłać rekordy danych przepływów niosących wymienione informacje konieczne jest uprzednie przesłanie do procesu eksportera szablonu opisującego strukturę tych informacji. Szablon wygląda następująco: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = 0 | Length = 28 bytes | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | Template ID 256 | Field Count = 5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP_SRC_ADDR = 8 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP_DST_ADDR = 12 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IP_NEXT_HOP = 15 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IN_PKTS = 2 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | IN_BYTES = 1 | Field Length = 4 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Rysunek 6.12 Przykład zbioru rekordów wzorca (26) Dane umieszczone w rekordzie są zaczerpnięte m. in. z tabeli określającej typy pól. Załóżmy, że dla potrzeb przykładu chcemy przesłać informacje o trzech przepływach, przedstawionych poniżej: Źródłowy | Docelowy | Adres IP na| Liczba | Liczba adres IP | adres IP | stępnego węzła | pakietów | bajtów -----------------------------------------------------------------198.168.1.12 | 10.5.12.254 | 192.168.1.1 | 5009 | 5344385 192.168.1.27 | 10.5.12.23 | 192.168.1.1 | 748 | 388934 192.168.1.56 | 10.5.12.65 | 192.168.1.1 | 5 | 6534 Tabela 6.3 Przykładowe przepływy (26) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 76 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Gdy proces sformatuje rekordy danych przepływów opisujące powyższe dane z wykorzystaniem przedstawionego wcześniej szablonu, otrzymamy następujący zbiór rekordów danych przepływu: 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | FlowSet ID = 256 | Length = 64 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 198.168.1.12 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 10.5.12.254 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 192.168.1.1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 5009 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 5344385 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 192.168.1.27 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 10.5.12.23 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 192.168.1.1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 748 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 388934 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 192.168.1.56 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 10.5.12.65 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 192.168.1.1 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 5 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 6534 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ Tabela 6.4 Przykładowy zbiór rekordów danych przepływów (26) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 77 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 7 NetFlow N tFlow w praktyce pr ktyce – wskazów ws azówkii imp implemen lementacy cyjne W poprzednich rozdziałach pracy zostały przedstawione argumenty, które doprodopr wadziły do powstania nowych metod zarządzania i monitorowania. Opis implementacji nowych standardów pozwolił zrozumieć sposoby zbierania i przesyłania infor informacji macji o rur chu sieciowym. Poniżej przedstawionych zostanie kilka kluczowych aspektów związanych z implementacją NetFlow, przeanalizowanych na podstawie dokumentacji i praktycznych doświadczeń inżynierów sieci korporacyjnej firmy Cisco. 7.1 Właściwa architektura systemu Aby monitorować z wykorzystaniem NetFlow konieczne konieczn jest przygotowanie (jed(je nej lub kilku) stacji zarządzania, z zainstalowanym właściwym oprogramowaniem. Dla poprawnej implementacji monitorowania opartego na analizowaniu przepływów ważne jest również również właściwe rozmieszczenie elementów architektury – sond, kolektorów i stacji zarządzania, w monitorowanej sieci. Aspekty te zostaną krótko omówione w poniższych zarządzania, podrozdziałach. 7.1.1 Oprogramowanie stacji zarządzania Opis architektury w poprzednich rozdziałach koncentrował się głównie na końcokońc wych elementach: sondach, procesach eksportujących oraz kolektorach. Rysunek 7..1 Podział architektury NetFlow (30) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 78 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow W praktycznych zastosowaniach najważniejszy jest jednak wynik obserwacji prowadzonych przez sondy. Zbieranie danych oraz ich wizualizacja jest zadaniem oprogramowania raportującego. W zależności od wielkości nadzorowanej sieci wykorzystywane są różne rozwiązania, które integrują w sobie różne elementy architektury. Najpopularniejsze rozwiązania implementowane w małych i średnich sieciach wykorzystują zgrupowanie w jednym pakiecie procesu (programu) kolektora, obszaru przechowywania danych oraz aplikacji raportującej: Rysunek 7.2 Komponenty stacji zarządzania NetFlow W przypadku dużych sieci, w których jest wiele rozproszonych punktów obserwacji generujących duże ilości rekordów przepływu stosuje się zwielokrotnianie procesów kolektora oraz powiązanych z nim obszarów przechowywania danych o przepływach, z których dane są pobierane przez stację zarządzania. Oczywistą zaletą takiego rozwiązania (poza zmniejszeniem obciążenia sieci wynikającej z transportu informacji o przepływach) jest większa odporność na awarie (np. brak przestrzeni na magazynowanie uniemożliwi monitorowanie tylko fragmentu sieci). Łatwo też wprowadzić redundancję stacji nadzorujących, co wynika z niezależności od źródła danych. W dokumencie przedstawiającym technologię NetFlow Cisco sugeruje, aby przy wyborze właściwego oprogramowania dla stacji zarządzania kierować się następującymi kryteriami (18): • jakie będzie główne zastosowanie NetFlow (zagadnienia bezpieczeństwa, planowania sieci i inżynierii ruchu, monitoring i rozliczanie wykorzystania usług)? • czy ważne jest kontrolowanie w czasie rzeczywistym czy też analiza danych historycznych? Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 79 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow • pod kontrolą jakiego systemu operacyjnego będzie pracowała aplikacja zarządzania? • czy NetFlow będzie wykorzystywany w dużej sieci czy też w niewielkiej, jakie są perspektywy rozwoju? • ile można zapłacić za oprogramowanie stacji zarządzania? • czy są już wdrożone jakieś inne mechanizmy monitorowania? Jeżeli tak to czy można je rozszerzyć o moduł obsługujący NetFlow? Analiza powyższych punktów może ułatwić podjęcie trafnej decyzji, która zagwarantuje sprawny system monitorowania, spełniający wymagania eksploatacyjne oraz pozwoli na zachowanie właściwego stosunku oferowanej funkcjonalności i ceny wybranego oprogramowania. Koszt oprogramowania i jego wdrożenia w przypadku wielu rozwiązań może odgrywać znaczącą rolę, ponieważ opłaty za program zwykle liczone są one w dziesiątkach, a czasami nawet setkach tysięcy dolarów. Warto też wziąć pod uwagę, iż większość rozwiązań przygotowywanych jest na platformy Unixowe/Linuxowe, choć w ostatnim czasie przybywa rozwiązań uruchamianych pod kontrolą systemów operacyjnych Windows. Poniżej znajduje się lista oprogramowania służącego analizowaniu ruchu z wykorzystaniem NetFlow, gdzie Cisco umieściło listę produktów komercyjnych swoich partnerów. Wspomniany wcześniej aspekt finansowy przedstawiony jest w formie przedziałów cenowych: niski <$7500, średni <$25000 oraz wysoki >$25000. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 80 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Nazwa produktu Główne zastosowa- Główny odbiorca System / producenta nie rozwiązania operacyjny Cisco NetFlow Analiza ruchu przedział cenowy Linux, Solaris Średni Linux Średni Windows Niski usług Collector Cisco CS-Mars Korporacje, dostawcy Początkowy Monitoring bezpieczeń- Korporacje, małe i stwa średnie przedsiębiorstwa AdventNet – Net- Analiza ruchu średnie przedsiębior- Flow Analyzer Netusage - Apo- Korporacje, małe i stwa Analiza ruchu Korporacje Linux Średni Analiza ruchu/monitoring Korporacje, dostawcy BSD Wysoki bezpieczeństwa usług Analiza ruchu/monitoring Korporacje, dostawcy Linux Średni bezpieczeństwa usług Analiza ruchu Korporacje, małe i Windows Średni apsis Arbor Networks Caligare średnie przedsiębior- Fluke Networks stwa HP (OpenView) IBM Aurora IdeaData InfoVista IsarNet Lancope NetQoS Valencia Systems Analiza ruchu Korporacje, ISP Linux, Solaris Wysoki Analiza ruchu / monito- Korporacje, dostawcy Linux Średni ring bezpieczeństwa usług Analiza ruchu Korporacje Win / Linux Średni Analiza ruchu Korporacje, dostawcy Windows Wysoki Linux Średni Linux Wysoki Windows Wysoki usług Analiza ruchu Korporacje, dostawcy usług Analiza ruchu / monito- Korporacje, dostawcy ring bezpieczeństwa usług Analiza ruchu Korporacje, dostawcy usług Analiza ruchu Korporacje Windows Wysoki Analiza ruchu Korporacje, małe i Windows Niski Windows Wysoki średnie przedsiębior- Solarwinds stwa WiredCity Analiza ruchu Korporacje Tabela 7.1 Komercyjne oprogramowanie stacji zarządzania (16) Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 81 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Uzupełnieniem powyższej listy produktów jest zbiór rozwiązań bezpłatnych, tworzonych w większości zgodnie z ideologią Otwartego Oprogramowania (ang. Open Source). Najczęściej nie są to rozwiązania które można stosować w organizacjach o rozległej infrastrukturze, raczej sprawdzą się w przypadku małych sieci lokalnych do monitorowania niezbyt intensywnego ruchu sieciowego. Cisco proponuje zaznajomienie się z następującymi rozwiązaniami: Nazwa produktu / producenta Główne zastosowanie System opera- Komentarz cyjny Flow-tools Program kolektora Skalowalne Unix Flowd Program kolektora Obsługuje V9 BSD, Linux Program raportujący współpracująFlowScan IPFlow NetFlow Guide Unix cy z pakietem Flow-Tools Analiza ruchu Obsługuje V9, oraz IPv6, MPLS Program raportujący IPv4 Linux, FreeBSD, Solaris BSD, Linux Analiza ruchu Obsługuje V9 Linux Program kolektora, sonda progra- Obsługuje V9 Unix NetFlow Monitor NTOP mowa Monitoring bezpieczeństwa Unix Program raportujący współpracują- Unix Panoptis Stager cy z pakietem Flow-Tools Tabela 7.2 Bezpłatne oprogramowanie stacji zarządzania (16) 7.1.2 Rozmieszczenie sond protokołu NetFlow Bez wątpienia kluczowym zadaniem przy konstruowaniu systemu monitorowania opartego o analizę przepływów jest właściwe rozmieszczenie procesów monitorujących (sond) w topologii sieci. Kluczowymi punktami w strukturze sieci IP są routery, które realizują założenia logicznego podziału infrastruktury na podsieci. Dlatego też Cisco wyposaża system operacyjny tychże urządzeń w funkcje sondy z szerokim zakresem konfiguracji. W związku z tym budowanie sieci w oparciu o sprzęt tego producenta gwarantuje szybkie i łatwe wdrożenie monitorowania NetFlow. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 82 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow W rozległych środowiskach, gdzie ilość routerów jest znacząca, gromadzenie i przesyłanie informacji poszczególnych przepływach obserwowanych na każdym urządzeniu prowadziłoby do gromadzenia zbyt dużej do przeanalizowania ilości danych. Ponadto przesyłanie takiej ilości danych zużywałoby zasoby sieci. Stąd warto wybrać punkty znaczące dla obsługi naszej sieci ze względu na następujące kryteria: • monitorowania dostępności ważnych usług • wykrywania zagrożeń bezpieczeństwa • rozliczania wykorzystania usług Firma Cisco, która wykorzystuje w zarządzaniu własną siecią korporacyjną protokół NetFlow, analizuje za jego pomocą ruch pochodzący z około 1900 interfejsów do sieci WAN, którymi jest połączona z globalną siecią. Dlatego też wartościowe może być przeanalizowanie wskazówek inżynierów sieciowych odpowiedzialnych za prawidłowe funkcjonowanie infrastruktury. Doświadczenie zdobyte w nadzorowaniu tak rozległej sieci zaowocowało powstaniem poniższej tabeli, przedstawiającej rozlokowanie i funkcjonalność różnych elementów architektury NetFlow (29): Lokalizacja w topologii sieci Oprogramowanie Cel monitorowania analizujące Bramy Internetowe połączone z Arbor Networks Peak- Analizowanie ruchu w rozbiciu na wyko- łączami dostawców usług siecio- flow Traffic rzystywane aplikacje. wych (ang. ISP) Arbor Networks Peak- Weryfikacja poprawności konfiguracji flow DoS protokołów routingu (np. BGP). Wykrywanie anomalii. Routery sieci wewnętrznej obsłu- Arbor Networks Peak- gujące publicznie dostępne zasoby flow DoS Wykrywanie anomalii. firmy. Routery szkieletowe NetQoS Reporter Analy- Analizowanie ruchu w rozbiciu na wyko- zer rzystywane aplikacje – planowanie rozwoju sieci Routery szkieletowe obsługujące OSU flow-tools from Zbieranie danych historycznych, wykorzy- sieci dostępne publicznie splintered.net stywanych przy przewidywaniu trendów i diagnostyce. Bramy NAT (ang. Network Ad- OSU flow-tools from Audytowanie realizowania polityki adresa- dress Translation Gateway) splintered.net cji oraz udostępniania usług. Tabela 7.3 Lokalizacje sond i zadania monitorowania - sieć korporacji Cisco Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 83 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 7.2 Przykład wykorzystania NetFlow - ochrona przed atakiem złośliwego oprogramowania Aby potwierdzić praktyczną skuteczność protokołu NetFlow i narzędzi monitorujących firma Cisco opisuje kilka przykładów z obszaru własnej sieci. Jeden z nich dotyczy wykorzystania monitorowania przepływów do zabezpieczenia się przed atakiem robaka o nazwie SQL Slammer Worm. Robak pojawił się w Internecie w styczniu 2003 roku i charakteryzował się olbrzymią szybkością propagacji – zainfekował w ciągu 10 minut 90% komputerów, które były na niego podatne (30). Obciążenie sieci spowodowane propagacją wywołało swego rodzaju reakcję łańcuchową: robak rozsyłał się generując duże obciążenie sieci niektóre routery przeciążone dużą ilością pakietów wyłączały się routery sąsiadujące aktualizowały tablice routingu (usuwały trasy prowadzące przez wyłączające się routery) i przesyłały je do innych routerów generowały dodatkowe obciążenie część administratorów zdecydowała się zrestartować urządzenia aby przywrócić im normalne funkcjonowanie zainicjowana została kolejna operacja wymiany tablic routingu dodatkowa porcja obciążenia zwalania sieć. Co ciekawe, robak rozprzestrzeniał się za pomocą pakietu o rozmiarze 376 bajtów, co sprawiało, iż był przekazywany pomimo dużego obciążenia. Wiele organizacji przygotowało się na odparcie ataku blokując odpowiednio ruch na bramach internetowych swoich organizacji, podczas gdy robak dotarł do wnętrza sieci wykorzystując stacje mobilne przełączane pomiędzy różnymi (w tym niezabezpieczonymi) sieciami oraz poprzez połączenia VPN – twierdzi Roland Dobbins, inżynier sieciowy w firmie Cisco (29). Dzięki NetFlow osoby zarządzające siecią w korporacji mogły na bieżąco monitorować i wykrywać pojawiające się przepływy charakterystyczne dla robaka (duży objętościowo ruch wykorzystujący port nr 1434 protokołu UDP) i odpowiednio reagować. Szczególnie ważne w procesie odpierania ataku było wyśledzenie źródeł (szczególnie stacji mobilnych i połączeń zdalnych), z których rozprzestrzeniał się robak, co z wykorzystaniem NetFlow (zaprojektowanego do śledzenia komunikacji) było szczególnie łatwe. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 84 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8 Monitorowanie z wykorzystaniem NetFlow Praktyczne aspekty wykorzystania omawianej w tej pracy metody monitorowania zostaną przedstawione na przykładzie monitorowania dwóch sieci, z czego jedna będzie miała w czasie prowadzenia badań zmienioną topologię i zostanie rozbudowana o nowe urządzenia. 8.1 Program analizujący przepływy W każdym z badań, które zostaną opisane w kolejnych podrozdziałach wykorzystywany był ten sam program do analizy przepływów. Jest to jeden z produktów wymienionych w tabeli 7.1 (przedstawiające komercyjne aplikacje rekomendowane przez Cisco), a mianowicie ManageEngine NetFlow Analyzer 6, stworzony przez firmę AdventNet, Inc. ze Stanów Zjednoczonych. Firma ta zajmuje się od 1996 roku przygotowywaniem oprogramowania wspomagającego administratorów usług sieciowych. Dokładne informacje o firmie i jej produktach można znaleźć na stronie Internetowej firmy: www.adventnet.com Wybór tego programu do przeprowadzenia badań zdeterminowały takie czynniki jak: łatwa i szybka implementacja, dystrybucja pracująca w systemie operacyjnym Windows XP oraz dostępna pełna wersja próbna programu, ograniczona czasowo do 30 dni. Oto główne cechy charakterystyczne programu (31): 1. Program jest przeznaczony do realizowania ogólnych zasad monitorowania. Z tego względu program nie jest skomplikowany w konfiguracji i może zostać szybko uruchomiony w dowolnym środowisku. Program wykorzystuje szeroki zakres technologii monitorowania: NetFlow®, sFlow®, cflowd®, J-Flow®, IPFIX®, NetStream® and Cisco NBAR®. 2. Program jest stworzony do pracy w systemie operacyjnym Windows oraz Linux RedHat i wymaga do pracy zainstalowanego środowiska Java. Ilość monitorowanych interfejsów wyznacza wersję programu, z której należy korzystać: poniżej 600 – wtedy odpowiednia jest wersja Professional (od $795), natomiast powyżej 600 rekomendowana jest wersja Enterprise (od $9995). W przypadku prezentowanego eksperymentu została wykorzystana wersja Professional zainstalowana w darmowej, 30-dniowej wersji próbnej (trial), która ma pełną funkcjonalność wersji płatnej. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 85 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 3. Program ma zintegrowany mechanizm kolektora oraz własną bazę danych, w której przechowuje informacje przesyłane przez sondy. Interfejs realizowany jest poprzez przeglądarkę internetową, która łączy się z serwerem WWW będącym częścią pakietu instalacyjnego. Wymagania sprzętowe programu przedstawia poniższa tabela: Pamięć operacyjna Przestrzeń dyskowa 2.6 GHz P-D/ 3.0 GHz P4 HT lub równoważny 512 MB 20 GB 11 – 25 2.8 GHz P-D lub równoważny 1 GB 40 GB 26 – 50 2.6 GHz Core 2 Duo lub równoważny 1 GB 60 GB 51 – 100 3.0 GHz Core 2 Duo / 2.4 GHz dual core Xeon 3000 lub równoważny 2 GB 75 GB 101 – 300 2.6 GHz dual core 3000 Xeon lub równoważny 4 GB 225 GB 301 – 600 2.6 GHz quad core 3000 Xeon lub równoważny 4 GB 450 GB Ilość interfejsów Procesor Poniżej 10 Tabela 8.1 Wymagania sprzętowe programu NetFlow Analyzer 4. Program ma zaimplementowane mechanizmy regularnego tworzenia i przesyłania raportów jak również umożliwia definiowanie alarmów w oparciu o wartości wybranych parametrów, dzięki czemu administrator jest informowany na bieżąco o wszystkich zmianach zachodzących w sieci. Szczegółowy opis funkcji programu zostanie przedstawiony w kolejnych częściach pracy. Dla potrzeb przeprowadzenia opisywanych badań program został zainstalowany na komputerze klasy PC (laptopie) – Dell Inspiron 510m, wyposażonym w procesor Intel® Celeron® M 1,49 MHz , 512 MB pamięci operacyjnej i 80 GB dysk twardy. Komputer pracuje pod kontrolą systemu operacyjnego Windows XP Proffesional z Service Pack 2, zainstalowane jest środowisko uruchomieniowe Java w wersji 1.4. Stacja była także wyposażona w kartę sieci bezprzewodowej zgodnej ze standardem 802.11b. Do obsługi interfejsu programu monitorującego wykorzystywana była przeglądarka Internet Explorer w wersjach 6 i 7 oraz Mozilla Firefox w wersji 2.0 (różnorodność przeglądarek wynika z faktu, iż interfejs programu jest uruchomiony jako serwis WWW, dlatego też po odpowiednim skonfigurowaniu można uzyskać do niego dostęp z innych komputerów, a nawet Internetu). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 86 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Po zalogowaniu do programu wyświetlone zostaje główne okno aplikacji: 4 1 3 2 Rysunek 8.1 Główne okno aplikacji NetFlow Analyzer W głównym oknie wyróżniłem cztery obszary, które prezentują najważniejsze informacje i pozwalają na zmianę ustawień programu: 1. W tej części prezentowane są urządzenia (Device Group), które eksportują lub eks- portowały przepływy do tego programu. Program daje możliwość grupowania urządzeń, pozwalając np. odwzorowywać fizyczne rozmieszczenie routerów. W tym samym miejscu prezentowane są również grupy adresowe (IP Group), za pomocą których można przedstawić logiczną strukturę sieci. 2. Obszar konfiguracji, pozwalający na dokonywanie zmian w działaniu programu. 3. Widok główny – tu prezentowane są dane o stanie monitorowanych interfejsów z ostatniej godziny. Pozwala to na bieżąco śledzić zmian parametrów pracy nadzorowanych elementów sieci. Dodatkowo korzystając z odnośników można szybko poznać szczegółową charakterystykę wybranego obszaru. 4. Numer portu, na którym nasłuchuje proces kolektora zbierając informacje z sond – informacja niezbędna przy konfigurowaniu procesów eksportujących. Do zarządzania urządzeniami sieciowymi wykorzystywanymi w czasie badań zastosowano protokół telnet i program Putty. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 87 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.2 Monitorowanie sieci domowej – topologia prosta 8.2.1 Opis topologii Badania środowiska małej sieci (trzy stacje robocze i jedno urządzenie sieciowe) zostało zrealizowane z wykorzystaniem następującej topologii: Rysunek 8.2 Topologia prostej sieci domowej Stacja zarządzania została opisana powyżej, pozostałe dwa komputery to stacje przenośne z zainstalowanym systemem operacyjnym Windows XP Professional, z czego stacja PC1 była wyposażona w kartę sieci bezprzewodowej zgodnej ze standardem 802.11g. Rolę urządzenia dostępowego pełnił router bezprzewodowy Linksys WRT54GL, składający się z trzech modułów funkcjonalnych: − Routera − Punktu dostępowego sieci 802.11b/g − Przełącznika sieciowego wyposażonego w cztery porty Dodatkowo na routerze był uruchomiony serwer DHCP, przydzielający adresy z podsieci 192.168.1.0/29, przy czym router w sieci LAN miał adres 192.168.1.1. Komputery PC1 oraz PC2 miały adresację konfigurowaną dynamicznie przez serwer, natomiast stacja zarządzania miała ręcznie ustawione parametry IP (z adresem 192.168.1.4). 8.2.2 Konfiguracja routera Linksys WRT54GL Na routerze dla potrzeb przeprowadzenia badania należało uruchomić sondę i proces eksportera NetFlow , co wiązało się z koniecznością zmiany oprogramowania sterującego pracą routera. Było to niezbędne, ponieważ system operacyjny dostarczany przez producenta nie został wyposażony w funkcjonalność monitorowania z wykorzystaniem NetFlow. Zdecydowałem się na wykorzystanie pakietu DD WRT (w wersji 23.) przygotoSamodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 88 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow wywanego w ramach projektu o tej samej nazwie przez firmę NewMedia-NET GmbH. Dodatkowe informacje dostępne są na stronach internetowych: www.dd-wrt.com oraz www.dd-wrt.com/wiki (zawierającej dokumentację). Nie jest to jedyne rozwiązanie, ponieważ produkty firmy Linksys serii WRT są przedmiotem zainteresowania wielu programistów tworzących wolne oprogramowanie, przez co dostępny jest szeroki wybór alternatywnych systemów operacyjnych dla tych urządzeń (więcej informacji można odnaleźć na stronach: http://openwrt.org/ - ang, oraz http://www.openlinksys.info/ - pl). O wyborze DD WRT zdecydowała zawarta w tym pakiecie oprogramowania zintegrowana z procesem eksportującym sonda NetFlow – program rflow. Informacje o autorze oraz opis konfiguracji i uruchamiania przedstawia informacja wbudowana w program: Rysunek 8.3 Ekran pomocy dla programu rflow Dostępne opcje konfiguracyjne nie umożliwiają stosowania wyrafinowanej konfiguracji (np. nie pozwalają określić szczegółów dotyczących monitorowania). Kolejnym ograniczeniem programu jest obsługa jedynie NetFlow w wersji 5. Te ograniczenia wydają się jednak uzasadnione możliwościami obliczeniowymi urządzenia, dla których program został stworzony. Stosowanie skomplikowanych reguł filtrowania przepływów oraz ich eksport w formie zdefiniowanej w standardzie NetFlow v9 mogłoby doprowadzić do obciążenia procesora w stopniu uniemożliwiającym routerowi realizowanie jego głównego zadania, czyli przesyłania pakietów. Aby poprawnie uruchomić sondę na urządzeniu konieczne jest ustalenie, które interfejsy mają być monitorowane. Bardzo istotna jest przy tym jedna istotna cecha NetFlow: analizie podlega ruch przychodzący na interfejs, dlatego dla uzyskania pełnej wiedzy o przepływach w sieci ważne jest aby uruchamiać monitorowanie na właściwych interfejsach. W przypadku, gdy router ma tylko dwa interfejsy (takie przykłady będą występowały Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 89 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow w kolejnych topologiach) uruchomiony zostaje monitoring na obu, co pozwala śledzić przepływy w obu kierunkach. Jednakże w przypadku omawianego routera z wbudowanym punktem dostępowym wybór właściwych punktów obserwacji nie jest trywialny. Można oczywiście włączyć monitorowanie wszystkich interfejsów (w tym przypadku na: br0 – interfejs mostkowy łączący w sobie połączenia bezprzewodowe i interfejsy przełącznika; eth1 – reprezentującym połączenia bezprzewodowe; vlan1 – reprezentującym połączenie WAN). Okazało się jednak, że monitorowanie interfejsu mostkowego br0 powodowało niestabilną pracę urządzenia, odcinając całe środowisko od Internetu. W związku z tym zdecydowałem się na monitorowanie interfejsu vlan1 (połączenie z Internetem) oraz interfejsu eth1 (połączenia bezprzewodowe). Aby uruchomić monitorowanie i eksport informacji z wykorzystaniem protokołu NetFlow należy wydać następujące polecenie: ~ # rflow -i vlan1 -i eth1 -F 192.168.1.3:9996 -A 600 -I 120 gdzie znaczenie poszczególnych parametrów jest następujące: rflow -i vlan1 -i eth1 – uruchomienie program monitorującego i wskazanie in- terfejsów, które mają być monitorowane -F 192.168.1.3:9996 – wskazanie procesu kolektora (tu wskazanie na stację, na której jest uruchomiony program NetFlow Analyzer) i portu, na którym nasłuchuje (ustawienie tego parametru wyświetlane jest w głównym oknie programu i można je zmienić w ustawieniach konfiguracyjnych: Product Settings Server Settings Net- Flow Listener Port). -A 600 -I 120 – określenie czasów przeterminowania dla rekordów przepływu przechowywanych w pamięci podręcznej procesu monitorującego: aktywne przepływy będą eksportowane co 10 minut (600s.), natomiast nieaktywne po 2 minutach (120 s.) Uruchomienie monitorowania na wybranych interfejsach z wykorzystaniem opisanego polecenia przedstawia poniższa ilustracja: Rysunek 8.4 Uruchomienie monitorowania – rflow Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 90 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Od tego momentu rozpoczyna się eksport informacji o przepływach z wykorzystaniem protokołu NetFlow v5. 8.2.3 Prezentacja i analiza przepływów W oparciu o materiał zebrany w czasie kilkudniowego monitorowania przepływów pomiędzy siecią domową a Internetem zaprezentuję zastosowanie NetFlow jako narzędzia, które pozwala prześledzić wykorzystanie dostępnego pasma przez aplikacje oraz poszczególne komputery. Przedstawienie wszystkich dostępnych w programie statystyk nie jest możliwe ze względu na ich objętość, dlatego przedstawione zostaną tyko wybrane charakterystyki. Sposób wygenerowania określonej statystyki będzie opisany w formie ścieżki poleceń prowadzącej od okna głównego programu NetFlow Analyzer (opisanego wcześniej w pracy). Pełna dokumentacja jest dostępna na załączonym nośniku oraz na stornie internetowej producenta (http://www.adventnet.com/). Dane prezentowane w tym rozdziale zostały zgromadzone w okresie od 27.11.2007 do 01.12.2007. Jak wspomniałem wcześniej uruchomienie monitorowania na wszystkich interfejsach urządzenia nie było możliwe, dlatego też raporty z monitorowania na routerze firmy Linksys dotyczą tylko ruchu wychodzącego. Statystyka typu „Szybki podgląd” (ang. Quick View) W oknie głównym programu prezentowane są statystki z okresu ostatniej godziny. Aby w szybki sposób przejść do bardziej szczegółowego raportu dla danego interfejsu należy kliknąć ikonę „Quick View” zlokalizowaną w ostatniej kolumnie wiersza repre- zentującego port urządzenia. Zostanie uruchomione nowe okno, w którym zobaczymy główną charakterystykę portu w określonym (w górnej części okna można ustawić zakres czasowy prezentowanych danych) przedziale czasu. Dostępne są trzy perspektywy: objętości – volume, wykorzystania łącza – utilization oraz domyślna, przedstawiona poniżej szybkości – speed: Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 91 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Category Max Total IN 1 min Hourly 1 min 1.97 GB 2.09 Mbps 334.12 Kbps 0.00 0.00 0.00 0.00 0.00 OUT Min Hourly Avg 95th Percentile 2.6 Kbps 45.14 Kbps 220.88 Kbps 0.00 0.00 - Rysunek 8.5 Router Linksys - charakterystyka charakterystyka Quick View #1: interfejs WAN W tym samym oknie przestawione będą informacje o: - dziesięciu najbardziej aktywnych aplikacjach ApplicationI [1.97 GB] ApplicationIN Application Traffic Traffic Percentage TCP_App http edonkey2000 UDP_App Internet Radio (Winamp) icmp netbios-dgm netbios-ns dccm domain Others 1.05 GB 434.14 MB 138.13 MB 117.41 MB 102.59 MB 27.24 MB 23.69 69 MB 16.69 MB 12.93 MB 9.58 MB 28.45 MB 54% 22% 7% 6% 5% 1% 1% 1% 1% <1% 1% Tabela 8.2 Router Linksys - charakterystyka harakterystyka Quick View #2: interfejs WAN - dziesięciu ciu najaktywniejszych źródłach ruchu SourceIN [1.97 GB] Source Traffic Traffic Percentage 172.16.19.226 331.87 MB 17% 83.204.103.129 67.18 MB 3% 213.251.136.138 61.16 MB 3% 213.113.1.198 57.88 MB 3% 217.195.203.52 54.53 MB B 3% 140.116.110.5 53.12 MB 3% 172.16.6.1 47.6 MB 2% 213.251.129.27 39.54 MB 2% 213.251.139.82 32.99 MB 2% 200.161.78.31 29.64 MB 2% Others 1.19 GB 61% Tabela 8.3 Router Linksys - charakterystyka harakterystyka Quick View #3:: interfejs WAN Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 92 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow - dziesięciu najaktywniejszych odbiorcach ruchu DestinationIN [1.97 GB] Destination 172.16.19.226 172.16.6.239 172.16.6.184 172.16.6.182 82.246.76.192 172.16.6.167 172.16.6.154 172.16.6.249 84.120.236.189 201.254.122.66 Others Traffic 877.8 MB 319.21 MB 65.69 MB 31.2 MB 29.79 MB 24.71 MB 20.06 MB 19.84 MB 19.05 MB 18.98 MB 543.98 MB Traffic Percentage 45% 16% 3% 2% 2% 1% 1% 1% 1% 1% 28% Tabela 8.4 Router Linksys - charakterystyka Quick View #4: interfejs WAN Program raportujący pozwala na wydruk każdego z wygenerowanych raportów oraz jego konwersję dokumentu w formacie PDF. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 93 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Charakterystyki szczegółowe dla interfejsu WAN Aby dokładnie przeanalizować wymianę wymianę informacji realizowaną z wykorzystaniem określonego interfejsu należy w oknie głównym aplikacji uruchomić łącze (link) z nazwą wybranego portu. portu. Wtedy udostępnione zostaną szczegółowe raporty, informujące o: • ruchu – traffic,, który można analizować w czterech perspektywach: objętości (vo( lume), ), szybkości (speed (speed), ), wykorzystania łącza (utilization (utilization)) oraz liczby pakietów (packets); ); • aplikacjach – application, applic , który prezentuje udział poszczególnych aplikacji w genegen rowaniu ruchu. Przypisywanie aplikacji jest realizowane z wykorzystaniem mapy portów, którą można edytować w obszarze konfiguracji programu. Dla wybranego przedziału czasu prezentuje się to następująco: następująco: Rysunek 8.6 Router Linksys - udział aplikacji w wykorzystaniu łacza WAN • źródłach – source,, przedstawiający główne źródła pakietów; pakietów • odbiorcach – destination, destination, wskazujący odbiorców danych; danych • konwersacjach konwersacj – conversation, conversation, który dostarcza informacji o tym które pary hostów najczęściej się komunikują. Ten raport jest źródłem wielu ciekawych informacji ważnych dla kształtowania ruchu. Prezentuje informacje wg kryteriów źródła, odo biorcy oraz wykorzystywanej aplikacji; aplikacji Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 94 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Rysunek 8.7 Router Linksys - aplikacje wykorzystywane w konwersacjach Rysunek 8.8 Router Linksys - odbiorcy konwersacji Rysunek 8.9 Router Linksys - źródła konwersacji • dostępne są również raporty NBAR (opisanego w końcowym rozdziale pracy), jednakże można je uzyskać tylko wykorzystując urządzenia Cisco. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 95 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Zaplanowane raporty (Schedule Reports): program ma wbudowaną funkcjonalność, która pozwala na stworzenie planu automatycznego generowania raportów i przekazywania ich za pomocą poczty elektronicznej do wskazanych odbiorców. Mechanizm ten pozwala na bieżąco śledzić stan sieci bez konieczności samodzielnego generowania raportów z wykorzystaniem interfejsu programu. W czasie tworzenia raportu określane są kryteria jego tworzenia: interfejsy, które mają być ujęte w raporcie; typ raportu; schemat generowania raportu (dzienny, tygodniowy, miesięczny, jednorazowy); adres e-mail gdzie ma zostać przesłany raport. Warto w tym miejscu zwrócić uwagę, iż generowane raporty (format PDF) mają duży rozmiar – ok. 13 MB, co sprawia, iż wykorzystane do ich przesyłania konta pocztowe muszą zezwalać na przesyłanie wiadomości o takim rozmiarze. Przykład automatycznie wygenerowanego raportu znajduje się na załączonej do pracy płycie CD. Alarmy (Alerts): jeszcze innym rodzajem dostępnych raportów są alarmy - przekazywane mailowo krótkie informacje o określonym zdarzeniu. Zdarzenia wyzwalające wygenerowanie raportu można w dowolny sposób definiować, nadając również różny priorytet poszczególnym zdarzeniom i generując odpowiednio ostrzeżenia, alarmy główne oraz alarmy krytyczne. Przykład wiadomości alarmowej znajduje się na załączonej do pracy płycie CD. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 96 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.3 Monitorowanie sieci domowej – topologia rozbudowana Topologia wykorzystywana w tym badaniu zostaje rozbudowana w porównaniu do poprzedniej o nowe urządzenia sieciowe Cisco. 8.3.1 Opis topologii Badania środowiska rozbudowanej sieci (trzy stacje robocze i trzy urządzenia sieciowe) zostało zrealizowane z wykorzystaniem następującej topologii: Tatrz_Cisco 2651 Catalyst 2960 Rysunek 8.10 Topologia rozbudowanej sieci domowej Nowa topologia powstała poprzez włączenie do topologii przedstawionej wcześniej dodatkowych urządzeń: przełącznika Cisco serii Catalyst 2960 oraz routera Cisco 2651. Wykorzystując router stworzono dodatkową sieć (zaznaczoną na powyższym rysunku) i dołączono ją do już istniejącej, przenosząc stacje PC1 i PC2 do nowej sieci. W ten sposób jeden z interfejsów routera (adresie IP:192.168.1.2/29) znajduje się w sieci tworzącej starą topologię, natomiast drugi (o adresie IP:192.168.2.1/29) jest domyślną bramą dla PC1 i PC2. Komputery adresowane są dynamicznie przez serwer DHCP uruchomiony na routerze Cisco. Konfiguracja przełącznika to konfiguracja domyślna, a konfiguracja routera Linksys jest taka sama (z jednym wyjątkiem – ponieważ zmienił się adres IP stacji zarządzania przepływy kierowane są na adres IP: 192.168.1.3) jak wykorzystywana w poprzednim badaniu. 8.3.2 Konfiguracja routera Cisco 2651 Celem zmiany (rozszerzenia) wykorzystywanej topologii było umieszczenie w niej urządzenia Cisco, w którego system operacyjny (oznaczany w nomenklaturze sieciowej Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 97 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow jako IOS) wbudowane są funkcje monitorowania z wykorzystaniem NetFlow. Wykorzystałem urządzenie serii 2651, z zainstalowanym IOS w wersji 12.3(22). Niestety urządzenia z tej serii odstają parametrami od obecnie wykorzystywanych, dlatego też wersja oprogramowania również nie jest najnowsza, niemniej jednak ma zaimplementowaną obsługę protokołu NetFlow w wersji 9. Szczegółowe informacje o urządzeniu przedstawione są poniżej: Rysunek 8.11 Ekran informacyjny - router Cisco 2651 W odniesieniu do poprzedniej konfiguracji stacja nadzorująca ma inny adres IP: 192.168.1.3 (wcześniej 192.168.1.4), co musiało zostać uwzględnione przy parametryzacji procesu eksportująceg. Router jest wyposażony w dwa porty FastEthernet, na których uruchomione zostaje monitorowanie, z analogicznie jak w poprzednim przypadku ustawionymi progami czasowymi: rekordy informujące o przepływach aktywnych będą przesyłane co 10 minut, natomiast przepływy nieaktywne będą zgłaszane po 120 sekundach. Konfiguracja routera na potrzeby monitorowania została przeprowadzona zgodnie ze wskazówkami przygotowanymi przez firmę Cisco (30) i przebiegała dwuetapowo (wszystkie czynności konfiguracyjne były wykonywane w uprzywilejowanym trybie (ang. privileged EXEC) pracy użytkownika urządzenia: Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 98 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 1. W pierwszym etapie głównym zadaniem było uruchomienie procesu gromadzenia informacji o przepływach na urządzeniu Rysunek 8.12 Uruchomienie monitorowania na Cisco 2651 #1 Następnie należało wskazać, które interfejsy mają podlegać monitorowaniu. Rysunek 8.13 Uruchomienie monitorowania na Cisco 2651 #2 2. Kolejnym krokiem było uruchomienie procesu eksportującego z parametrami: Rysunek 8.14 Uruchomienie monitorowania na Cisco 2651 #3 Ważne jest, aby pamiętać, że czasy przeterminowania pakietów aktywnych wyrażane są w minutach, natomiast nieaktywnych w sekundach. Po wykonaniu powyższych kroków router rozpoczyna gromadzenie i przesyłanie informacji o przepływach do wskazanej stacji zarządzania (IP: 192.168.1.3), na której uruchomiony jest proces kolektora nasłuchujący na porcie 9996. 8.3.3 Prezentacja i analiza przepływów W poprzednim badaniu, wykorzystującym topologię bez urządzenia firmy Cisco, do prezentacji wyników obserwacji wykorzystałem domyślne szablony raportów. Aby szerzej ukazać możliwości, jakie daje wykorzystanie NetFlow w połączeniu z rozbudowaną aplikacją stacji zarządzania, przedstawię analizę przepływów obserwowanych na routerze Cisco 2651 w okresie do 01.12.2007 do 04.12.2007. Na urządzeniu uruchomiono monitorowanie na wszystkich (w tym przypadku na dwóch) interfejsach, stąd program NetFlow Analyzer generuje zarówno statystykę ruchu przychodzącego jak i wychodzącego z danego potu. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 99 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Analiza przypadku – specyficzne wykorzystanie łącza w pierwszych godzinach monitorowania w dniu 01.12.2007 Gdy wybierzemy z okna głównego aplikacji link prowadzący do szczegółowych informacji o interfejsie IfIndex1 urządzenia Tatrz_Cisco 2651 (192.168.1.2) i zmienimy perspektywę raportu na informacje o objętości (volume) zaprezentowany zostanie wykres: Rysunek 8.15 Router Cisco 2651 - raport Traffic, perspektywa volume To co zwraca uwagę na tym wykresie, to duża ilość informacji przesłana przez urządzenie w ciągu pierwszych sześciu godzin monitorowania. Aby uzyskać dokładniejsze informacje zmieniłem skalę osi czasu, ograniczając ją do okresu wzmożonego ruchu (godz. 20-01nd): Rysunek 8.16 Router Cisco 2651 - raport Traffic, perspektywa volume [20:00-01:00 następnego dnia] Jak widać ruch w tym okresie czasu miał specyficzną charakterystykę, z wieloma regularnymi impulsami, krótkotrwałymi lecz przenoszącymi duże ilości danych (taki rozkład przypomina złożenie wielu funkcji impulsowych, tzw. Delty Diraca). Gdy zmienimy perspektywę na prezentującą liczbę przesyłanych pakietów: Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 100 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Rysunek 8.17 Router Cisco 2651 - raport Traffic, perspektywa packets [20:00-01:00 następnego dnia] zauważymy, że ilość wysyłanych pakietów jest zbliżona do ilość otrzymywanych, oraz co ważniejsze – rozkład czasowy jest taki sam. Na tej podstawie można wysunąć tezę, iż obserwujemy ruch, w którym największy udział ma transmisja z wykorzystaniem protokołu TCP, w którym mechanizm potwierdzania wymaga przesłania pakietu z właściwym numerem sekwencyjnym. Ostateczną odpowiedź na pytanie jaki ruch był w tym czasie obserwowany uzyskamy z raportu dotyczącego konwersacji – converstaion: Rysunek 8.18 Router Cisco 2651 - raport Conversation, perspektywa application [20:00-01:00 następnego dnia] Widzimy, że większość ruchu to komunikacja z wykorzystaniem protokołu http. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 101 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Aby sprawdzić, skąd pochodziło tak wiele danych skorzystamy z wykresu perspektywy Skurce, zaznaczając wcześniej, aby adresy IP zostały zamienione na nazwy DNS: Rysunek 8.19 Cisco 2651 - raport Conversation, perspektywa source [20:00-01:00 następnego dnia] Okazuje się, że głównym źródłem ruchu jest komputer ftp.citylink.co.nz, w którego zasobach znajdują się obrazy płyt instalacyjnych systemu operacyjnego Linux, który był w tym czasie pobierany z sieci na jeden z komputerów sieci lokalnej. Wnioski Przedstawiony wyżej przykład opisuje, jak za pomocą kilku prostych operacji można, wykorzystując dane o przepływach, zweryfikować pozornie nienaturalną transmisję. Jej charakter wynikał z ograniczeń szerokości pasma dostępnego dla komunikacji, która regularnie przekraczała dopuszczalne dla danego łącza wartości, po czym była tłumiona i cykl rozpoczynał się od nowa. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 102 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.4 Monitorowanie sieci w korporacji Ostatnie badanie zostało przeprowadzone z wykorzystaniem sieci produkcyjnej jednego z departamentów BRE Banku S.A. w Łodzi. Ze względów na obowiązującą mnie zasadę zachowania tajemnicy służbowej zmienione zostały adresacje prezentowane w dokumencie względem wykorzystywanych w rzeczywistości. Wykluczone zostały też z monitorowania wszystkie przepływy występujące pomiędzy adresami wewnętrznymi w banku. Badanie zostało wykonane w krótkim okresie czasu na tylko jednej podsieci, dlatego też mimo umieszczenia w sieci kilkudziesięciu komputerów materiał zebrany do badań nie jest zbyt obszerny. Konieczność utrzymania ciągłości pracy infrastruktury i możliwość jej zakłócenia, uruchamianie dodatkowych procesów (np. uruchomienie monitorowania przepływów) sprawiły, że przeprowadzenie badań na szerszą skalę okazało się niemożliwe. 8.4.1 Opis topologii Topologię sieci w departamencie banku można przedstawić następująco: Rysunek 8.20 Topologia sieci departamentu w BRE Banku Topologia tej sieci to prosta sieć z routerem Cisco 2621XM, przełącznikiem Cisco serii 2960 oraz liczbą około 25 komputerów (w sieci znajdowały się także laptopy, których liczbę ze względu na mobilność pracowników trudno było dokładnie ustalić. Podobnie jak w poprzednich przykładach na routerze został uruchomiony serwer DHCP przyznający adresy (klasy C, z puli adresowej 192.168.10.10-255) stacjom roboczym z wykluczeniem statycznie zaadresowanej stacji zarządzania (192.168.10.5) i samego routera (o adresie IP:192.168.10.1). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 103 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.4.2 Konfiguracja routera Cisco 2621XM Podobnie jak w przypadku urządzenia Cisco 2651 konfiguracja NetFlow została wykonana z wykorzystaniem poleceń IOS przy uwzględnieniu specyfiki badanego środowiska. W ustawieniach procesu eksportującego uwzględniono zmieniony adres IP stacji zarządzania: 192.168.10.5. 8.4.3 Prezentacja i analiza przepływów Badanie w sieci korporacyjnej zostało przeprowadzone w dniu 02.12.2007, w godzinach od 8:00 do 14:00. Analiza przypadku – duża ilość ruchu wychodzącego do Internetu Podobnie jak w poprzednich przypadkach, rozpoczniemy analizowanie ruchu od ogólnej charakterystyki portu WAN routera. Rysunek 8.21 Cisco 2621 XM- raport Traffic, perspektywa volume [8:00-14:00] Analizując ruch w tej sieci warto pamiętać o tym, iż jest to niewielka infrastruktura jednego z departamentów, którego głównym zadaniem jest analizowanie marketingu internetowego. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 104 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Dlatego też uwagę zwraca duża ilość ruchu wychodzącego (w godzinach od 9:15 do 10:33): Rysunek 8.22 Cisco 2621 XM- raport Traffic, perspektywa volume [9:15-10:33] Gdy zaczniemy analizować raport application dla ruchu wychodzącego, łatwo zauważymy niepokojące (biorąc pod uwagę środowisko korporacyjne) zjawisko: Rysunek 8.23 Cisco 2621 XM- raport Conversation, ruch wychodzący, perspektywa application [9:15-10:33] Widzimy, iż w ruchu wychodzącym do Internetu występują protokoły wykorzystywane przez programy wykorzystywane do wymiany plików: gnutella oraz eDonkey. Znacząca ilość nierozpoznanego ruchu – TCP_App, który reprezentuje wykorzystanie portów nie przypisanych do aplikacji w mapie portów, pozwala przypuszczać, że również część tej komunikacji służy do wymiany plików. Oczywiście samo wykorzystywanie aplikacji do współdzielenia plików nie jest nielegalne, ale obowiązująca w środowisku korporacyjnym polityka bezpieczeństwa zabrania uruchamiania tego typu programów. Dlatego też wskazane jest odszukanie komputera, na którym tego typu oprogramowanie jest uruchomione. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 105 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Wykorzystując raport Converstation i perspektywę source odpowiedź poznajemy natychmiast: Rysunek 8.24 Cisco 2621 XM- raport Conversation, ruch wychodzący, perspektywa source [9:15-10:33] Wnioski Podobnie jak w poprzednich przykładach program NetFlow Analyzer dowodzi swojej skuteczności jako narzędzie do szybkiej analizy bieżącej sytuacji w sieci. Korzystając z narzędzia monitorowania udało się wykryć lukę w zabezpieczeniach, która pozwala naruszać politykę bezpieczeństwa firmy. Częściowym wytłumaczeniem może być fakt, iż departament zajmujący się marketingiem w Internecie często korzysta z różnego rodzaju materiałów promocyjnych, dostarczanych w najróżniejszej formie: prezentacji, filmów, audycji Internetowych. Mogło to doprowadzić do rezygnacji z polityki „wszystko zablokowane, odblokowanie na uzasadniony wniosek użytkownika”, gdyż liczba wniosków o odblokowanie była zbyt duża. Okazuje się jednak, że takie odstępstwa od ogólnie przyjętych zasad mogą szybko doprowadzić do nadużyć i stwarzać zagrożenie dla bezpieczeństwa systemu. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 106 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 8.5 Wnioski Przedstawione badania, mimo iż przeprowadzone w bardzo małych sieciach komputerowych, pozwoliły zebrać wiele uwag i wskazówek dotyczących zastosowania protokołu NetFlow do realizowania zadań monitorowania sieci komputerowych. Aby w pełni korzystać z dobrodziejstw tego rozwiązania koniecznie trzeba rozważyć kilka ważnych aspektów implementacyjnych. 1. Wybór właściwego oprogramowania dla stacji zarządzania. Jest to ważna kwestia, głównie ze względu na koszty oprogramowania komercyjnego, które liczone jest w dziesiątkach tysięcy dolarów. Właściwe określenie potrzeb oraz środowiska, w jakim oprogramowanie będzie wykorzystywane znacznie ułatwi podjęcie trafnej decyzji. Ciekawą propozycją, biorąc pod uwagę kryterium ceny i oferowanych możliwości, jest wykorzystywany przeze mnie pakiet NetFlow Analyzer. 2. Właściwe rozmieszczenie punktów obserwacji. Odpowiednie umieszczenie lokalizacji sond NetFlow jest ważne ze względu na to, że nawet najdoskonalsze programy monitorujące, zasilane danymi o nieistotnych przepływach, nie spełnią swojego zadania. Warto tu mieć na uwadze fakt, iż NetFlow monitoruje przepływy przychodzące (choć nie jest to już dogmatem – możliwość ustawienia w Cisco IOS raportowania typu egrees). Zadanie poprawnego rozmieszczenia procesów monitorujących staje się trudniejsze wraz z rozrastaniem się topologii, lecz czas poświęcony temu zagadnieniu zwróci się wielokrotnie np. w sytuacji awarii. 3. Dostosowanie procesu eksportującego. W przypadku niewielkich sieci sposób zbierania i przesyłania informacji o przepływach ustawiony z domyślnymi opcjami konfiguracji nie jest błędem. W przypadku dużej topologii, wykorzystującej szybkie łącza, nieodpowiednio ustawiony proces eksportowy może doprowadzić do powstawania dodatkowego obciążenia protokołem NetFlow. Dlatego warto rozważyć stosowanie agregacji i filtrowania w procesie monitorowania. Pozwala to odciążyć zasoby urządzenia oraz zmniejszyć zapotrzebowanie protokołu na pasmo. Zmniejsza to również ilość informacji, która jest zbędna w określonych zadaniach monitorowania. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 107 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 4. Odwzorowanie polityki bezpieczeństwa w ustawieniach programu monitorującego. Możliwości klasyfikowania ruchu w oparciu o wykorzystywane aplikacje okazuje się bardzo przydatne w szybkiej ocenie stanu pracy sieci. Równie użyteczna jest możliwość identyfikacji urządzeń w sieci w oparciu o adresy IP. W celu uzyskania prawidłowych informacji, konieczne jest wdrożenie w danej sieci polityki w zakresie adresacji oraz dostępnych usług. Na podstawie dokumentacji tego typu można właściwie skonfigurować serwery DHCP tak, aby adresy mimo dynamicznego przydzielania pozwalały na jednoznaczną identyfikację na poziomie jednostki organizacyjnej przedsiębiorstwa (np. przynależność komputera do określonego departamentu). Należy pamiętać, iż konieczne jest wprowadzenie tych ustaleń do konfiguracji programu monitorującego oraz uaktualnianie tych danych na bieżąco. Podsumowując można stwierdzić, że NetFlow i współpracujące z nim narzędzia programowe ułatwią administratorom sieci zarządzanie infrastrukturą w obliczu wymagań stawianych przez nowoczesne aplikacje i usługi sieciowe. Jednak, jak każde inne narzędzie, wymaga konserwacji i dostosowywania do wykonywanych działań. Stawia też wymagania osobom, które się nim posługują, ponieważ tylko prawidłowa interpretacja przedstawianych parametrów czyni NetFlow użytecznym. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 108 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 9 Dalszy rozwój metod monitorowania Czy przedstawiona w poprzednich rozdziałach metoda monitorowania sieci to najnowsze z proponowanych rozwiązań? Czy stanowi pełne źródło informacji o sytuacji w sieci, czy też wskazane są dodatkowe rozwiązania wspomagające? 9.1 sFlow Wydaje się, że metoda polegająca na obserwowaniu przepływów była krokiem w tym samym kierunku, w którym ewoluują sieci i aplikacje, które je wykorzystują. Okazuje się jednak, że podobnie jak w wielu innych przypadkach rzeczywistość wyprzedza modele teoretyczne i standardy przemysłowe. Rozwój technologiczny pozwala na zwiększenie przepustowości (szybkości) sieci – dziś naturalne jest wykorzystywanie sieci gigabitowych w infrastrukturze średniej wielkości przedsiębiorstwa. Ponadto zmniejszające się koszty instalacji światłowodowej sprzyjają upowszechnianiu się sieci 10gigabitowych. Być może w niedalekiej przyszłości media miedziane Cat-7 będzie można wykorzystać do transmisji o szybkości 100 Gb/s (33). Niezaprzeczalnie będziemy świadkami szybkiego rozwoju sieci o dużej przepustowości, co staje się kolejnym wyzwaniem dla systemów monitorowania. Okazuje się, że NetFlow napotyka w przypadku obserwowania sieci w szczególnie obciążonych węzłów sieci na ograniczenia w szybkości wymiany i zapisywania informacji – procesy eksportera i kolektora nie nadążają z przesyłaniem rekordów przepływów generowanych przez sondy. Ten problem został dostrzeżony wcześniej niż powstała ostatnia wersja NetFlow, bo już w 2001r. pojawił się protokół sFlow. Jeżeli chodzi o wyrafinowanie metody zbierania i przesyłania informacji, to jest to rozwiązanie archaiczne – proces sondy nie wykonuje żadnych skomplikowanych obliczeń, nie są też wykorzystywane żadne metody pozwalające na dostosowanie przesyłanych informacji – przechwycone pakiety są po prostu przesyłane dalej, do procesu zajmującego się ich analizą i przechowywaniem wyników. Główną zaletą tego rozwiązania jest przeprowadzanie próbkowania – jeden z N pakietów podlega analizie i przesłaniu do procesu kolektora. Względnie łatwo jest zbudować mechanizm sprzętowy wspierający taką operację. Dzięki temu jest ona o wiele bardziej wydajna niż analiza NetFlow (nawet przy wykorzystaniu implementowanego programowego próbkowania). Dodatkowymi zaletami są (34): przesyłanie pełnych pakietów – można na nich przeprowadzać dowolne obliczenia pozwalające określić bardzo dokładnie cha- Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 109 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow rakter przepływu (jak również monitorować różne protokoły warstwy sieciowej), niskie koszty implementacji sondy, wysoka wydajność pozwalająca na zbieranie w jednym kolektorze danych z wielu procesów eksportujących. Dodatkowe informacje znajdują się w opisie standardu RFC3176 oraz na stronie www.sflow.org Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 110 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 9.2 Flexible NetFlow Doświadczenia zdobyte przy tworzeniu i eksploatacji rozwiązań wykorzystujących NetFlow pozwoliły dostosowywać produkt do nowych wymagań i warunków pracy. W wyniku tych prac protokół NetFlow ewoluował by dać podstawy do stworzenia Flexible NetFlow – określanego przez Cisco jako kolejną generację technologii przepływów (ang. The Next Generation In Flow Technology) (28). Główne cechy charakterystyczne nowego rozwiązania wg producenta to: • elastyczność, skalowalność i agregowanie przepływów w znacznie większym stopniu niż to było możliwe w zwykłym NetFlow; • możliwość monitorowania szerszego zakresu informacji o pakietach, co pozwala na zbieranie dodatkowych danych o pracy sieci; • lepsze wsparcie dla wykrywania anomalii i zagrożeń bezpieczeństwa; • rozbudowany mechanizm identyfikowania przepływów i możliwość jeszcze precyzyjniejszego separowania istotnego dla administratora ruchu; • łączenie różnych technik rozliczania w jeden mechanizm (ang. accounting mechanism). Architektura nowego rozwiązania pozwala na równoległe śledzenie wielu przepływów: administrator może konfigurować sondy do monitorowania tych samych przepływów lecz z uwzględnieniem różnych zastosowań, np. jeden dla analizy ruchu a kolejny dla wykrywania zagrożeń. Dobrze ilustruje to poniższy rysunek, zaczerpnięty z dokumentacji producenta (35): Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 111 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Rysunek 9.1 Flexible NetFlow - wiele monitorów tego samego przepływu Przez router przepływa strumień pakietów, które są analizowane i przypisywane do przepływów przez dwie sondy, z czego każda przy klasyfikacji kieruje się innym zbiorem parametrów. Dzięki temu można uniknąć przesyłania nadmiaru danych oraz zmniejszyć zapotrzebowanie na moc obliczeniową przy ich analizie. Dodatkowe możliwości wykrywania nieprawidłowości oraz zagrożeń wypływają z znacznie rozszerzonego sposobu określania zbioru informacji o przepływie, który można zdefiniować w nowym protokole. Możliwe będzie śledzenie informacji na poziomach prawie wszystkich warstw modelu OSI – od warstwy łącza danych aż po warstwę aplikacji. Poniższy rysunek przedstawia nową architekturę. Warto zwrócić uwagę na wprowadzenie zróżnicowanych typów informacji o przepływach (białe prostokąty na rysunku) – typy te odpowiadają różnym zagadnieniom monitorowania, które można realizować za pomocą Flexible NetFlow. Widzimy tu przepływy służące monitorowaniu: aplikacji (Application Flows), ruchu mulitkastowego (Multicast Flows), bezpieczeństwa (Security Flows), ruchu IP (IP Flows), komunikacji peer to peer (Peering Flows). Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 112 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Rysunek 9.2 Archtektura Flexible NetFlow Szczegółowy opis nowej technologii wzbogacony przykładami zastosowań można znaleźć na stronach internetowych producenta: www.cisco.com Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 113 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 9.3 Cisco NBAR – rozpoznawanie aplikacji Zarówno NetFlow, Flexible NetFlow oraz wiele innych aplikacji zarządzania oferuje mechanizmy rozpoznawania aplikacji, które są uruchamiane w sieci. Jest to bardzo ważna informacja, pozwalająca administratorom dostosowywać infrastrukturę i planować jej przyszły rozwój. Głównym (praktycznie jedynym) źródłem informacji o uruchomionych aplikacjach jest analiza parametrów warstwy transportowej – numerów portów TCP lub UDP wykorzystywanych do komunikacji. Wybrany ze zbioru parametrów pakietów numer portu jest porównywany z listą portów i przypisanych im aplikacji, która jest zarządzana przez wspomnianą już w niniejszym dokumencie organizację IANA. Lista ta jest podległa wyłącznemu zarządzaniu organizacji w zakresie portów 0-1023, pozostałe porty mogą być wykorzystywane przez twórców oprogramowania praktycznie dowolnie, należy jednak pamiętać o zakresie tzw. portów zarejestrowanych (ang. Registered Ports): 1024-49151. Fragment listy portów wygląda następująco: Port Assignments: Keyword ------[…] ftp-data # ftp-data # # # ftp ftp # ftp # # # ssh ssh # ssh # # # telnet telnet Decimal ------0/tcp 0/udp 20/udp 20/sctp 21/tcp 21/udp 21/sctp 22/tcp 22/udp 22/sctp 23/tcp 23/udp Description ----------Reserved Reserved References ---------- File Transfer [Default Data] Jon Postel <postel&isi.edu> FTP IETF TSVWG Randall Stewart <rrs&cisco.com> [RFC4960] File Transfer [Control] File Transfer [Control] Jon Postel <postel&isi.edu> FTP IETF TSVWG Randall Stewart <rrs&cisco.com> [RFC4960] SSH Remote Login Protocol SSH Remote Login Protocol Tatu Ylonen <ylo&cs.hut.fi> SSH IETF TSVWG Randall Stewart <rrs&cisco.com> [RFC4960] Telnet Telnet Tabela 9.1 IANA tabela portów Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 114 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow Okazuje się jednak, że nowe aplikacje wymykają się klasyfikacji. Do głównych obszarów, w których najczęściej spotykane są odstępstwa zaliczyć można programy wymieniające pliki (w systemie P2P) oraz komunikatory internetowe. Powodów, dla których twórcy tych programów wyposażają je w funkcje umożliwiające wybór wykorzystywanego portu (w tym przede wszystkim z zakresu objętego wyłączną administracją IANA – 01023) jest kilka. W przypadku komunikatorów najczęściej stosuje się to do ominięcia zapór sieciowych, które skonfigurowane zgodnie z polityką bezpieczeństwa, blokują znane porty programów komunikacyjnych. Programy wymieniające pliki napotykają więcej przeszkód. Z racji nagminnego ich wykorzystywania do pobierania treści chronionych prawem autorskim są one blokowane nie tylko w sieciach korporacyjnych ale również przez dostawców Internetu. Dodatkowo niechęć providerów powodowana jest nieuporządkowanym sposobem wykorzystania łącza – otwieranych jest wiele połączeń między różnymi komputerami, które często zawłaszczają całe dostępne pasmo. Wszystko to sprawia, że na drodze tego typu ruchu sieciowego pojawia się wiele przeszkód. To z kolei prowadzi do podszywania się aplikacji pod inne usługi, które nie są blokowane (np. http, smtp i inne). Takie praktyki utrudniają poprawną analizę wykorzystania łącza przez aplikacje – zawyżają pomiary dla pewnych aplikacji i ukrywają istnienie innych. Aby usprawnić rozpoznawanie wykorzystywanych programów Cisco wprowadziło produkt Network-Based Application Recognition (NBAR) (36) – Sieciowe Rozpoznawanie Aplikacji. Mechanizm wykorzystywany w tym rozwiązaniu pozwala na rozpoznawanie wielu typów aplikacji, w tym grupy aplikacji, które dynamicznie dokonują wyboru wykorzystywanych portów. NBAR wykorzystuje mechanizmy analizy zawartości przesyłanych pakietów w warstwach powyżej warstwy transportowej. Wyszukuje określonych wzorców, analizuje typy MIME (dla aplikacji wykorzystujących protokół http), może też rozszerzać swoją konfigurację przez dołączane pliki Packet Description Language Module (PDLM) – pliki Języka Opisu Pakietów. Pliki są dostarczane przez firmę Cisco i są profilowane do wykrywania określonych typów aplikacji. Dodatkowe informacje na temat tego rozwiązana można znaleźć na stronie producenta: www.cisco.com Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 115 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 10 Bibliografia 1. Wikipedia.org. System informatyczny. [Online] http://pl.wikipedia.org/wiki/System_informatyczny. 2. —. Administrator (informatyka). [Online] http://pl.wikipedia.org/wiki/Administrator_%28informatyka%29. 3. Stallings, Wiliam. Protokoły SNMP i RMON, vademecum profesjonalisty. Gliwice : Helion, 2003. 4. Cisco Systems, Inc. Network Management System: Best Practices. [Document ID: 15114] 5. —. NetFlow Case Study. [Online] http://www.cisco.com/application/pdf/en/us/guest/products/ps6601/c1042/cdccont _0900aecd80311fc2.pdf. 6. Deri, Luca. Network Monitoring in Practice. [Online] 2007. http://luca.ntop.org/Teaching/tm2007.pdf. 7. Wikipedia.org. Przepustowość. [Online] http://pl.wikipedia.org/wiki/Przepustowo%C5%9B%C4%87. 8. IANA.org. PORT NUMBERS. [Online] http://www.iana.org/assignments/port-numbers. 9. IETF. A Simple Network Management Protocol (SNMP) - RFC1157. [Online] http://www.faqs.org/rfcs/rfc1157.html. 10. DPS Telecom. SNMP Tutorial. [Online] http://www.dpstele.com/layers/l2/snmp_l2_art_7_key.php. 11. Oetiker, Tobie. [Online] [Zacytowano: 2007 paodziernika 15.] www.mrtg.org. 12. Maciejewski, Grzegorz. [Online] http://r.ehion.com. 13. Wikipedia.org. RMON. [Online] http://pl.wikipedia.org/wiki/RMON. 14. Technical University of Lisbon. [Online] https://ciist.ist.utl.pt/cacti/graph_view.php?action=tree&tree_id=4&leaf_id=25. 15. Hewlett-Packard Development Company, L.P. HP Network Management Center . [Online] https://h10078.www1.hp.com/cda/hpms/display/main/hpms_content.jsp?zn=bto&c p=1-11-15-119_4000_100__. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 116 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 16. Cisco Systems, Inc. Introduction to Cisco IOS® NetFlow. [Online] http://www.cisco.com/en/US/products/ps6601/products_white_paper0900aecd804 06232.shtml. 17. Garvey, Martin J. InformationWeek. Going With The Flow. [Online] 28 listopad 2005. http://www.informationweek.com/story/showArticle.jhtml?articleID=174401412. 18. Hickey, Andrew R. Tech Target ANZ. NetFlow network monitoring tools go with the 'flow'. [Online] 14 czerwiec 2007. http://searchnetworking.techtarget.com.au/topics/article.asp?DocID=6100563. 19. Caligare s.r.o. What is Netflow? [Online] http://netflow.caligare.com/netflow_format.htm. 20. Wikipedia.org. IETF. [Online] http://pl.wikipedia.org/wiki/IETF. 21. The Internet Engineering Task Force. IP Flow Information Export (ipfix). [Online] czerwiec 2007. http://www.ietf.org/html.charters/ipfio-charter.html. 22. IETF IPFIX Workgroup. Requirements for IP Flow Information Export (IPFIX) - RFC 3917. [Online] wrzesień 2004. http://www.ietf.org/rfc/rfc3917.tot. 23. Wikipedia.org. IP Flow Information Export. [Online] http://en.wikipedia.org/wiki/IP_Flow_Information_Eoport. 24. The Internet Engineering Task Force. Cisco Systems NetFlow Services Export Eersion 9 (RFC3954). [Online] paodziernik 2004. http://www.ietf.org/rfc/rfc3954.tot. 25. Cisco Systems, Inc. Introduction to Cisco IOS NetFlow - A Technical Overview. [Online] http://www.cisco.com/en/US/products/ps6601/products_white_paper0900aecd804 06232.shtml. 26. —. Cisco IOS Flexible NetFlow Technology White Paper. [Online] http://www.cisco.com/en/US/products/ps6601/products_white_paper0900aecd804 be1cc.shtml. 27. —. Case Study - NetFlow gives network managers a detailed view of application flows on the network. 28. Wikipedia.org. SQL Slammer. [Online] http://en.wikipedia.org/wiki/SQL_slammer_(computer_worm). 29. AdventNet, Inc. ManageEngine ® NetFlow Analyzer. [Online] http://manageengine.adventnet.com/products/netflow/indeo.html. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07 Łukasz Witaszek 117 Nowoczesne sposoby zarządzania sieciami – protokół NetFlow 30. Cisco Systems, Inc. Configuring NetFlow to Capture and Export Network Traffic Data. [Dokument PDF] 2005. 31. Chustecki, Janusz. NetWorld. Aktualności - Ethernet 100 Gb/s na okablowaniu UTP. [Online] 16 listopad 2007. http://www.networld.pl/news/131125.html. 32. sFlow.org. Traffic Monitoring using sFlow®. [Online] 2003. http://www.sflow.org/sFlowOverview.pdf. 33. Cisco Systems, Inc. Cisco IOS Flexible NetFlow Technology White Paper. [Online] http://www.cisco.com/en/US/products/ps6601/products_white_paper0900aecd804 be1cc.shtml. 34. —. Network Based Application Recognition (NBAR). [Online] http://www.cisco.com/en/US/products/ps6616/products_ios_protocol_group_home .html. 35. —. Using NetFlow Filtering or Sampling to Select the Network Traffic to Track. [Dokument PDF] 2005. 36. Wikipedia.org. RMON. [Online] http://en.wikipedia.org/wiki/RMON. 37. —. RMON. [Online] http://en.wikipedia.org/wiki/. Samodzielny Zakład Sieci Komputerowych PŁ, grudzień 07