fbpx

Nfsen i Nfdump – monitoring sieci – Netflow

utworzone przez sty 24, 2019HowTo, laboratoria

Na początek mam pytania do Ciebie.

 

Czy monitorujesz sieć?

Oczywiście, że monitorujesz sieć. Odpytujesz urządzenia o stan portów, ilość sesji na firewallu, stan peerów BGP i wiele innych parametrów.

Czy wiesz ile masz “ruchu” na porcie TCP 53?

Ok, dosyć tych pytań, przechodzimy do meritum. Dzisiaj będzie o monitoringu sieci z wykorzystaniem Netflow.

 

Co to jest Netflow?

Jest to protokół opracowanym przez Cisco System (Ci od routerów) i służy do zbierania informacji o ruchu w sieci. Korzystając z Netflow dostaniesz informacje np.: o adresach IP (źródłowym i docelowym) jak i o portach. Dowiesz się ile ruchu masz do pojedynczych ASN.

Netflow został opracowany przez Cisco. Czy tylko urządzenia Cisco wspierają Netflow?

Nie, Netflow jest wspierany na urządzeniach Juniper Networks, Nokia, Huawei i kilku innych.

Podobnym protokołem do Netflow jest sFlow. Listę urządzeń wspierających sFlow znajdziesz na: https://sflow.org/products/network.php

 

Zalety stosowanie Netflow.

Dzięki zbieraniu flow z sieci możesz dowiedzieć się nie tylko, w jakim stopniu są obciążone interface-y, ale też jakie usługi sieciowe i hosty wysycają łącza.

Uzyskasz informację o wolumenie ruchu jaki masz do konkretnych systemów autonomicznych. Dzięki tej informacji możesz świadomie dobierać dostawców łącz i kształtować politykę routingu BGP.

W przypadku ataku DDoS zobaczysz, na jakie adresy atak jest skierowany.

Dobrze, dosyć teorii. Przejdźmy do działania.

Zainstalujemy Nfdump który jest kolektorem Netflow i Nfsen, który jest interfacem graficznym dla Nfdump.

Nfsen i Nfdump założenia przed instalacją

Nfdump i Nfsen będą instalowane na dedykowanym serwerze z systemem operacyjnym Ubuntu 16.04-server. System nie świadczy żadnych usług i jest dedykowanym systemem dla zbierania flow z sieci.

Przed instalacją na systemie, który już działa i świadczy jakieś usługi, należy zachować dużą ostrożność w implementacji poniższych poleceń. Niektóre polecenie mogą spowodować zmiany w istniejącej konfiguracji, co może być przyczyną niedostępności usług.

Instalacja

Przed instalacją Nfsen i Nfdump musisz zainstalować aplikacja potrzebne do działania.

apt install make gcc flex rrdtool librrd-dev libpcap-dev php librrds-perl libsocket6-perl apache2 libapache2-mod-php7.0 libtool autoconf pkg-config libbz2-1.0 libbz2-dev libbz2-ocaml libbz2-ocaml-dev bison doxygen

Instalacja Nfdump

Po instalacji zależności pobierz Nfdump. Od jakiegoś czasu Nfdump jest dostępny na github.

Wchodzimy do katalogu nfdump i wydajemy polecenie:

./autogen.sh

Gdy skrypt autogen.sh zakończy działanie sukcesem, możesz przejść do następnego punktu.

Aby móc wykorzystać pełne możliwości Nfdump musisz dodać parametry do skryptu configure.

–enable-nselkompilacja Nfdump, masz możliwość przetwarzania i czytania danych NSEL/NEL

–enable-nfprofile – dodanie nfprofile, aplikacji wymaganej przez Nfsen. Nprofile “czyta” dane z plików utworzonych przez nfcapd. Pozwala również na filtrowanie danych i zachowywania ich w plikach.

–enable-sflow – dodany zostaje sfcapd, który jest kolektorem sflow

–enable-readpcap – opcja pozwala na dodanie do nfcapd opcji czytania danych z plików pcap (opcja deweloperska)

–enable-nfpcapd – dodanie kolektora nfpcapd, który pozwala na przetwarzanie danych zebranych z interface-ów i plików pcap na postać netflow (opcja deweloperska)

Pełne polecenie wygląda tak:

./configure –enable-nsel –enable-nfprofile –enable-sflow –enable-readpcap –enable-nfpcapd

Gdy skrypt configure zakończy działanie sukcesem możemy wydać polecenie:

make

a następnie

make install

Gdy mamy zainstalowany Nfdump, możemy sprawdzić czy działa. Wydaj polecenie:

nfdump -V

Powyższe polecenie pokazuje wersję Nfdump, którą zainstalowałeś.

Instalacja Nfsen

Musisz pobrać Nfsen. Aktualna i stabilna wersja jest dostępna na https://sourceforge.net/projects/nfsen/files/stable/

Pobrane archiwum rozpakuj, a następnie wejdź do katalogu nfsen.

Nfsen wymaga kilku modułów PERLa. Aby łatwo dodać moduły, musimy zainstalować cpanm:

cpan App::cpanminus

Gdy masz już zainstalowany cpanm, możesz dodać modułu Mail::Header i Mail::Internet

cpanm Mail::Header
cpanm Mail::Internet

Po instalacji możesz przejść do edycji pliku nfsen-dist.conf. Jest on w katalogu etc:

nano etc/nfsen-dist.conf

Plik nfsen-dist.conf jest plikiem konfiguracyjnym dla skryptu install.pl Możemy zmienić domyślne wartości tj.: miejsce instalacji, przechowywania zebranych danych, użytkownika.

Większość wartości możemy pozostawić w konfiguracji domyślnej.

Musimy skonfigurować źródła danych:

%sources = (
     'Nazwa_źródła’        => { 'port’ => '9001′, 'col’ => '#0000FF’, 'IP’ => 'adres_IP’ },

Nazwa_żródła – nazwa hosta lub interface-u, z którego będą zbierane dane. Nazwa źródła nie może zawierać znaków specjalnych.

port – port na jaki host, z którego zbieramy dane będzie się łączył

col – kolor jakim będą prezentowane dane na wykresie. Kolor musi być wyrażony heksadecymalnie.

IP – adres IP źródła

Domyślnie wszystkie dane są analizowane jako Netflow. Możemy zmienić na sFlow, poprzez dodanie type => ‘sflow’

Po zmianach w pliku nfsen-dist.conf, musimy dodać użytkownika. W domyślnej konfiguracji jest to netflow.

useradd -M -s /bin/false -G www-data netflow

Dodajemy również katalog w którym będzie Nfsen

mkdir -p /data/nfsen

Na koniec przechodzimy do instalacji Nfsen. Wydaj polecenie ./install.pl i jako parameter podaj ścieżkę do pliku nfsen-dist.conf

./install.pl ./etc/nfsen-dist.conf

Podczas instalacji może pojawić się błąd, związany z wersją RRDTools. Aby go rozwiązać, musisz zmienić linie w pliku NfSenRRD.pm, który znajduje się w katalogu libexec

if ( $rrd_version >= 1.2 && $rrd_version < 1.5 ) {

zmień na:

if ( $rrd_version >= 1.2 && $rrd_version < 1.6 ) {

Kolejnym błędem, który może pojawić się podczas instalacji jest:

Can’t use string („live”) as a HASH ref while „strict refs” in use at libexec/NfProfile.pm line 1238.

Rozwiązanie znajdziesz na https://github.com/p-alik/nfsen/issues/1. Polega ono na aktualizacji plików.

Gdy wprowadzisz zmiany, musisz jeszcze raz uruchomić skrypt install.pl

./install.pl ./etc/nfsen-dist.conf  

Po instalacji, możesz skonfigurować serwer www, w twoim przypadku apache, aby wskazywał jako domyślną stronę plik nfsen.php.

Musisz zmienić konfigurację pliku 000-default.conf, który znajduje się w /etc/apache2/sites-available

Dodaj do pliku:

DocumentRoot /var/www/nfsen
DirectoryIndex nfsen.php

Gotowe

Po instalacji możemy uruchomić przeglądarkę i połączyć się z adresem serwera.

Powyższa konfiguracja zawiera podstawowe elementy, które są wymagane do działania Nfsen i Nfdump.

Może Cię zainteresować:

Podstawy BGP – co to jest BGP i do czego służy

Stany i wiadomości BGP – jakie wygląda sesja, jakie ma stany i jak jest zestawiana.

Tomasz Mikołajek

Tomasz Mikołajek

Założyciel Showroute.pl

Inżynier sieciowy lubiący dzielić się wiedzą i pomagać innym zrozumieć zawiłości działania sieci i Internetu.

Share This