R. Tomczak, Metody analizy ruchu sieciowego

Transkrypt

R. Tomczak, Metody analizy ruchu sieciowego
Metody analizy ruchu sieciowego
Robert Tomczak
Wydział Inżynierii Mechanicznej i Informatyki
Kierunek informatyka, Rok III
Politechnika Częstochowska
[email protected]
1
Streszczenie
Celem niniejszej pracy jest przedstawienie metod analizy ruchu sieciowego,
W oparciu o statystyki generowane przez urządzenia IP (routery, przełączniki
warstwy 3).
W tym celu powstały standardy takie jak NetFlow, JFlow, SFlow. Wszystkie te
rozwiązania bazują na gromadzeniu informacji o przepływających przez urządzenie
sieciowe pakietach.
Poprzez analizę tych informacji możliwe jest m.in. monitorowanie pracy sieci
komputerowej, rozwiązywanie problemów.
W tym artykule zostały zaprezentowane przykładowe narzędzia służące
do gromadzenia informacji NetFlow jak i narzędzia służące do analizowania
zgromadzonych informacji.
1 Wstęp
NetFlow jest to protokół sieciowy stworzony przez Cisco Systems Inc
w celu zbierania informacji na temat ruchu IP w sieci. Przy użyciu kolektora
zbierane są informacje z routerów lub przełączników warstwy 3. Obsługa
NetFlow została zaimplementowana w niemal każdym routerze Cisco, który jest
obsługiwany przez IOS (ang. Internetwork Operating System).
Pakiety NetFlow zawierają wszystkie niezbędne informacje odnośnie
pakietów przepływających przez urządzenie IP, np. takie jak adres źródłowy
pakietu, adres docelowy, next hop czy też rozmiar. Analiza pojedynczego flow
nie daje zbyt wiele możliwości. Z pomocą przychodzą jednak analizatory
NetFlow, umożliwiając nam analizę większej ilości Flow. Za pomocą tych
narzędzi możemy przeanalizować zebrane pakiety pod kątem:
- użytych protokołów
- adresów oraz numerów portów docelowych jak i źródłowych
- obciążenia interfejsów
- możliwe jest dokładne przeanalizowanie wielkości ruchu sieciowego
- diagnostyki sieci.
1
2 Historia NetFlow
NetFlow w wersji v1 został zaprezentowany w 1990 roku. Pierwsza
implementacja w IOS 11, dla routerów Cisco 7000,7200,7500. Najnowszą
wersją jest v10.
Wersja
NetFlow
V1
V2,V3,V4
V5
Opis
Wersja pierwsza, ograniczona do IPv4
Nigdy nieopublikowana
Najbardziej popularna, ograniczona do IPv4 jednak w stosunku do V1
wspiera maski IP oraz numery AS
V6
Niewspierany
V7
NetFlow v5 z dodatkowym polem ‘source router’ przeznaczony dla
switchy Cisco Catalyst
V8
Inny sposób prezentacji V5
V9
Wsparcie IPv6, MPLS, BPG nexthop
V10
Inaczej IPFIX, najnowszy standard w zasadzie V9 z dodatkowymi
definiowalnymi polami.
Powyższa tabela przedstawia zmiany, które zaszły w poszczególnych wersjach
NetFlow.
Pogrubione zostały obecnie najpopularniejsze standardy.
Standardy te nie są wspieranie tylko przez Cisco Systems, na ich
implementacje zdecydowali się również producenci tacy jak NetFlow v5
(Huawei, Juniper, Packeteer, Riverbed), NetFlow v9 (EnteraSys).
3 Budowa pakietów NetFlow v5 oraz NetFlow v9
Fundamentalną różnicą pomiędzy NetFlow v5 oraz v9 jest to, iż NetFlow v5
w przeciwieństwie do v9 ma stały format struktury danych:
Budowa rekordu NetFlow v5
Adres źródłowy (IP)
Adres docelowy (IP)
Next hop(IP)
Znacznik interfejsu wejściowego
Znacznik interfejsu wyjściowego
Liczba pakietów
Liczba bajtów
Czas rozpoczęcia Flow
Czas zakończenia Flow
Port źródłowy
Padding
Flagi TCP
TCP/UDP
Źródłowy AS
Długość maski (źródło)
Długość maski (docelowo)
2
Port docelowy
Type of Service
Docelowy AS
padding
Budowa rekordu NetFlow v9
NetFlow v9 natomiast jest dużo bardziej elastyczny w porównaniu do v5.
Budowa rekordu definiowana jest w tzw. Template flow-set.
Rekord ten poprzedza właściwy rekord zawierający informacje NetFlow
definiując jednocześnie jego strukturę. Konfigurując NetFlow v9 na
urządzeniach Cisco można wybrać spośród następujących pól:
Umożliwia to elastyczne dopasowanie exportowanego Flow do konkretnych
potrzeb.
4 Konfiguracja routera
Topologia testowa
R2(config)#interface fastEthernet 1/1
R2(config-if)#ip route-cache flow
R2(config)#ip flow-export destination 192.168.2.2 9001
R2(config)#ip flow-export version 5
Po wprowadzeniu takiej konfiguracji, ruch występujący pomiędzy hostami
zostanie zapisany w cache NetFlow v5, następnie po jego przepełnieniu
przesłany do kolektora znajdującego się pod adresem 192.168.2.2 na porcie
9001.
3
5 Kolektor
Przykładowym kolektorem jest nfcapd zawarty w NFdump.
Nfdump jest zestawem narzędzi do zbierania oraz przetwarzania NetFlow.
- Wspiera NetFlow w wersji v1,v5,v7,v9 oraz IPFix.
- Napisany w c – szybkość (kolektor musi być szybki) np. 25 gb/dzień
- Obsługiwany z poziomu linii komend
-p (port, na który przesyłany jest NetFlow)
-l (folder do zapisu NetFlow)
-w (parametr określający czas rotacji w minutach)
-D (uruchamianie, jako deamon)
6 Analiza zgromadzone NetFlow
W zestawie Nfdump znajduje się również narzędzie do prostej analizy
zgromadzonego przy pomocy nfcapd NetFlow.
Po wykonaniu polecenia nfdump z podanym katalogiem, w którym znajdują się
nasze NetFlow, uzyskujemy czytelne statystyki przedstawiające informacje na
temat:
- czasu rozpoczęcia jak i zakończenia flow
- adresu źródłowego
- adresu docelowego
- portu źródłowego
- portu docelowego
- ilości przesłanych danych.
Przy pomocy nfdump możliwe jest również proste filtrowanie zgromadzonego
NetFlow.
Ponieważ nfdump jako argument przyjmuje filtry zgodnie z pcap, możliwe jest
ograniczenie wyświetlonych rezultatów na przykład do danego source ip:
4
7 Graficzne analizatory
Przykładowym graficznym analizatorem NetFlow, jest Nfsen.
NFsen jest aplikacją webową przeznaczoną do analizy danych zebranych
przypomocy nfcapd. Aplikacja ta składa się z dwóch części:
- programu napisanego w Perl działającego w tle Nfsend uruchamiającego
nfcapd oraz graficznego interfejsu napisanego w PHP.
Instalacja oraz podstawowa konfiguracja sprowadza się tylko do modyfikacji
pliki konfiguracyjnego. Niezbędne jest podanie urządzeń, z których chcemy
zbierać netflow. Przy czym określamy nazwę urządzenia, port, na którym
prowadzony będzie nasłuch oraz typ zbieranego flow.
Możliwe jest jednoczesne zbieranie informacji z wielu urządzeń.
Fragment pliku konfiguracyjnego:
%sources = (
'Urzadzenie'
=> { 'port' => '9995', 'col' => '#ff0000',
'type' => 'netflow' },);
Interfejs graficzny nfsen umożliwia wygodną interpretacje ruchu sieciowego
z nadzorowanych urządzeń. Udostępniając przy tym wszystkie niezbędne
narzędzia do przeszukiwania, filtrowania zgromadzonego flow.
5
8 Podsumowanie
W powyższym artykule zostały zaprezentowane przykładowe narzędzia
służące do zbierania oraz analizy danych o strumieniach przepływających
przez urządzenia sieciowe określane jako NetFlow.
Wszystkie przedstawione narzędzia są narzędziami udostępnianymi na
licencji Freeware. Zapewniają one podstawowe funkcjonalności oraz
niezbędną wydajność do podstawowej analizy ruchu sieciowego. Istnieją
również komercyjne rozwiązania takie jak np. „NetFlow Traffic Analyzer”
firmy SolarWinds udostępniające możliwość bardziej wnikliwej analizy oraz
lepszej prezentacji ruchu sieciowego.
9 Bibliografia
[1] http://en.wikipedia.org/wiki/NetFlow
[2] http://www.cisco.com/c/en/us/products/collateral/ios-nx-os-software/iosnetflow/prod_white_paper0900aecd80406232.html
[3] http://www.lancope.com/blog/netflow-v5-vs-netflow-v9/
[4] http://nfsen.sourceforge.net/
[5] http://www.manageengine.com/products/netflow/help/cisco-netflow/cisco-ios-netflow.html
[6] http://en.wikipedia.org/wiki/NetFlow
[7] http://nfdump.sourceforge.net/
6

Podobne dokumenty