Munkaszakasz 2.3: Flow alapú hálózat monitoring rendszer tesztelése és vizsgálata

TableOfContents

Bevezető

A flow alapú forgalom monitorozásról általában

A flow alapú hálózati forgalom monitorozás kiemelkedő fontossággal bír nagy kiterjedesű hálózatok üzemeltetésében, hiszen lehetővé teszi, hogy a hálózati forgalmat továbbító aktív eszközökből részletes információt nyerjünk az átmenő forgalmat alkotó folyamokról (flow).

A flow alapú monitorozás általános felhasználási területei:

A nagy forgalmat bonyolító számítógépek megtalálása és kiszűrése/korlátozása nagyban csökkentheti intézményünk hálózati forgalmát, amely más, esetenként lényegesebb, szintén hálózaton kommunikáló alkalmazások gyorsulásához vezethet.

A mai hálózati viszonyoknak megfelelően számítógépeink állandó támadásnak ill. vírus/spyware fertőzésnek vannak kitéve. A támadások azonosításában, lokalizálásában ill. a fertőzött számítógépek megtalálásában különösen fontos szerepet játszik a flow alapú hálózati forgalom monitorozás, amelyet ma már jónéhány felsőoktatási ill. akadémiai intézményben sikerrel alkalmaznak a fenti problémák kezelésében. A flow alapú monitorozással a következő gyanús, biztonsági kockázatot valószínűsítő hálózati forgalmak azonosíthatóak gyorsan és egyszerűen:

A fentiek természetesen mind az IPv6, mind pedig az IPv4 protokollra egyformán érvényesek.

A NetFlow

A NetFlow protokollt eredetileg a Cisco Systems dolgozta ki 1996-ban, hogy lehetővé tegye flow információk exportálását hálózati eszközeiből. A NetFlow protokoll több verziót is megélt (1, 5, 7, 8 és 9). A legszélesebb körben az 5-ös verzió használt, de természetesen a preferált, IPv6 képes verzió a 9-es. A Cisco Systems által gyártott hálózati kapcsolók és router-ek jelentős része képés NetFlow információk exportálására.

A NetFlow működési modelje az alábbi ábrán látható. A NetFlow képes hálózati eszköz folyamatosan gyűjti a rajta átmenő IP flow-k információt egy ún. NetFlow cache gyorsítótárba. Amikor ez a tár megtelik, sor került a megfelelő rekordok exportálására a NetFlow Collector Engine felé, amely általában egy szokványos kiszolgáló, lehetőleg minél nagyobb tárhellyel, hiszen a visszamenőleg tárolt flow információk nagy forgalom mellett óriásira duzzadhatnak.

attachment:netflow_model.jpg

A NetFlow az UDP protokollt használja, az exportálás jellege egyirányú, azaz kizárólag a hálózati eszköz felől érkeznek információk, a kollektor számítógép csak rögzíti és feldolgozza ezeket. A hálózati adminisztrátorok a kollektor által összegyűjtött információkat egy grafikus felületen tudják lekérdezni, ahol megfelelő feltételek megadásával képesek finomítani a lekérdezést. A lekérdezés a leggyakrabban a HTTP protokoll segítségével történik és megjelenítés értelemszerűen egy böngészővel. A megjelenítés általában grafikonos formában vagy nyers - pontosítás céljával - NetFlow rekordként történik.

A hálózati eszközök által export-ált rekordok több alapvető paramétert alkalmaznak az egyes flow-k leirásához:

A NetFlow v9 alapvető jellemzői:

Az IETF (Internet Engineering Task Force) IP Information Export (IPFIX) és Pack Sampling (PSAMP) munkacsoportjai 2003-ban a Cisco IOS NetFlow v9 protokollt választották IP flow-ok leírásához és exportálásához, eltekintve néhány apróbb változtatástól. Az IPFIX munkacsoport azért alakult, hogy egy adatmodellt illetve egy kapcsolódó protokollt definiáljon. A hamarosan megjelenő IPFIX szabvány egyébként kötelezőként írja elő az SCTP alapú adatszállítás megvalósítását az IPFIX protokoll alkalmazásakor.

NetFlow v9 IPv6 konfiguráció Cisco eszközökön

A dokumentáció [:netflow_cisco_config:ide] kattintva érhető el.

Az SCTP szállítási szintű protokoll

A Stream Control Transmission Protocol (SCTP) egy szállítási szintű protokoll, amelyet 2000-ben definiált az IETF Signaling Transport (SIGTRAN) munkacsoportja. A protokoll leírása megtalálható az RFC 2960 ill. az RFC 3286 dokumentumokban. Mint szállítási protokoll az SCTP ekvivalens mind a TCP-vel, mind pedig az UDP-vel és mégis több annál. Az alábbi linkeken egy magyar nyelvű SCTP protokoll leírás ill. alapszintű SCTP socket programozási dokumentáció található:

1. [:SCTP tutorial: Magyar nyelvű SCTP leírás]

2. [:SCTP socket: SCTP socket programozás]

3. [:SCTP cisco config: NetFlow v9 és SCTP konfiguráció Cisco eszközökön]

Netflow v9 monitorozó eszközök

A jelenleg rendelkezésre álló NetFlow eszközök egy közel teljes gyűjteménye megtalálható a SWITCH (svájci kutatói hálózat) honlapján, az alább URL-en:

http://www.switch.ch/tf-tant/floma/software.html

NfDump és NfSen (Netflow Sensor)

Az NfDump és az NfSen talán a legnépszerűbb flow collector és megjelenítő eszköz-csomag, amely ingyenesen és szabadon hozzáférhető a BSD license feltételeinek megfelelően. A szoftver a SWITCH (Swiss Education and & Research Network) fejleszti.

nfdump

Az nfdump egy számos eszközt tartalmazó szoftver-csomag, amely elérhető az alábbi URL-en:

http://nfdump.sourceforge.net

Az nfdump fontosabb eszközei:

Az nfdump csomag:

Az alábbi ábrán az nfcapd és az nfdump működését szemléltetjük (forrás: nfdump leírás):

attachment:nfdump_model.jpg

A hálózati eszközök felöl érkező flow exportokat egy-egy nfcapd példány rögzíti a diszken. Az egyes példányok használhatnak külön-külön, de akár közös diszk-területet is. A visszakereshető adat mennyiségét kizárólag a rendelkezésre álló diszkek szabad területe korlátozza. Egy megfelelően nagy hálózat, több száz router-ének teljes NetFlow adatmennyisége akár napi több 10Gb-ra is tehető.

Az nfcapd által file formájában rögzített flow információt az nfdump programmal listázhatjuk ki. Egy példa:

nfdump  -R /usr/local/var/nfsen/profiles/live/cntrl/nfcapd.200608231735:nfcapd.200608241010 -n 100 -s record/bps 
Aggregated flows 329185
Top 100 flows ordered by bps:
Date flow start          Duration Proto      Src IP Addr:Port          Dst IP Addr:Port   Packets    Bytes Flows
2006-08-23 18:55:37.304     1.496 TCP   2001:73..:402::2.22    -> 2001:73..a4:ba0a.49865     3607    5.1 M     1
2006-08-23 22:14:45.632     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.56587       41    51023     1
2006-08-24 02:14:45.612     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.53880       41    51023     1
2006-08-24 07:08:45.556     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.56535       41    51023     1
2006-08-23 22:29:45.612     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.55317       41    51023     1
2006-08-24 01:11:45.612     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.58933       41    51023     1
2006-08-24 09:23:45.524     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.57417       41    51023     1
2006-08-23 20:17:45.808     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.58006       41    51023     1
2006-08-23 21:32:45.616     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.60263       41    51023     1
2006-08-23 20:59:45.680     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.63252       41    51023     1
2006-08-23 22:38:45.656     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.53850       41    51023     1
2006-08-24 05:53:45.512     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.51965       41    51023     1
2006-08-23 17:53:45.764     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.62553       41    51023     1
2006-08-24 01:38:45.564     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.53650       41    51023     1
2006-08-23 23:23:45.592     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.61628       41    51023     1
2006-08-24 01:23:45.556     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.57478       41    51023     1
2006-08-24 04:47:45.540     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.55844       41    51023     1
2006-08-23 20:56:45.820     0.016 TCP   2001:73..efe:774.80    -> 2001:73..1c:d58c.62561       41    51023     1

A példában 2006.08.23 17:35-től 2006.08.24 10:10-ig listázzuk a legnagyobb 100 forgalmazót, bps mértékegységben kijelezve a forgalom nagyságát. Például a -6 -o extended opciók hozzáadásával bővebb output is kérhető az IPv6-os flow-król.

A nfdump további leírásához és kezelésének elsajátításához olvassuk el a http://nfdump.sourceforge.net URL-en található leírást.

NfSen

Az nfsen a nfdump csomaghoz szervesen kötődő, a NetFlow információk web alapú megjelenítését támogató szoftver, amely az alábbi URL-en érhető el:

http://nfsen.sourceforge.net

Az nfsen a következő funkcionalitást biztosítja:

Megjelenítés

Az alábbi ábrán az nfsen grafikus megjelenítése figyelhető meg. A grafikonon különböző színekben látható az egyes forrásokhoz tartozó forgalomat alkotó flow-k száma. Látható, hogy az ábrán a sötét ill. világoskék színnel jelzett források forgalma dominál.

attachment:nfsen1.jpg

A központi ábra felett a TCP, UDP és ICMP ill. egyéb forgalom nagysága kísérhető figyelemmel. Az egyes források forgalma külön-külön ill. bármely kombinációban megjeleníthető az ábra alatti forrás-lista megfelelő bejegyzéseinek kiválasztásával:

attachment:nfsen2.jpg

Az nfsen lehetővé teszi, hogy kijelöljünk egy korlátos időtartomány az ábrán látható módon (zölddel színezett tartomány) és fókuszált módon csak ezzel foglalkozzunk a részletes flow információk lekérdezésekor.

Amennyiben valamilyen forgalmi rendellenességet tapasztalunk a grafikonokon, akkor elsőként keressük meg azt/azokat a hálózati eszközöket, amelyeken ez a forgalom keresztülment. Jelöljük ki a gyanús időtartományt, majd kérjünk részletes flow adatokat az alábbi ábrán látható módon:

attachment:nfsen3.jpg

A részletes flow adatok kijelzése teljes mértékben megegyezik az nfdump-nál ismertetett formával, sőt mi több az nfsen ki is jelzi, hogy milyen paraméterekkel hajtotta végre az nfdump parancsot. A kimenetet pedig egy az egyben az oldal aljára másolja.

nfsen profilok létrehozása

Ahogy korábban említésre került, az nfsen támogatja ún. profilok létrehozását, amelyek gyakorlatilag az élő forgalmon végrehajtott speciális szűrési feltétel eredményét (azaz a forgalom egy részét) jelzi ki számunkra. Ez nagyon hasznos lehet a következő specifikus forgalmak megfigyelésében:

A szűrési feltételek tetszés szerint variálhatóak és a profil létrehozásakor kell őket megadni. Egy új profil létrehozásához a jobb felső sarokban látható "Selected profile" listából válasszuk ki a "New profile..." opciót. Ezt követően az alábbi képernyőt kapjuk:

attachment:nfsen4.jpg

Network Emergency Responder & Detector (NERD)

http://www.nerdd.org

Network Emergency Responder & Detector (NERD) egy biztonsági monitoring eszköz, amely NetFlow adatokat gyűjt és elemez. Képes DoS támadások felismerésére és megfelelő riasztások generálására. A NERD képes továbbá a meglévő NetFlow adatok utólagos biztonsági és forgalmi elemzésére. A NERD eszközt a SURFnet B.V. és TNO Information and Communication Technology készíti.

A NERD működése nagy vonalakban a következő:

Az ígéretes NERD eszköz fejlesztését a jelek szerint egy évvel ezelőtt befejezték, így félkész állapotban van. Használata nem ajánlott.

A specifikálható szabályok túl merevek (pl. adott IP címek között, adott portok között menő UDP forgalom, ha túllép egy szintet, akkor riaszt) és alapszintűek (pl. port tartomány nem adható meg), stb.

samplicator