Size: 16335
Comment:
|
Size: 16660
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 177: | Line 177: |
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 ===== |
Munkaszakasz 2.3: Flow alapú hálózat monitoring rendszer tesztelése és vizsgálata
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:
- Nagy forgalmat bonyolító számítógépek megtalálása. Forgalom alapú számlázás.
- Hálózati támadások felderítése, jellegük megfigyelése.
- Hálózati forgalmat generáló vírussal, spyware-el fertőzött számítógépek lokalizálása.
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:
Szokatlan nagyságú ICMP forgalom: támadásra utal.
TCP SYN flood: Denial of Service (DoS) támadások a megtámadott számítógép/kiszolgáló erőforrásainak lekötéséhez.
Szokatlanul nagy mennyiségű TCP vagy UDP flow: az adott számítógép rendellenes viselkedésére utalhat. Pl. spyware fertőzött (más számítógépeket támad vagy kommunikál saját példányaival, nem kívánt tartalmat forgalmaz, stb.).
Egy specifikus TCP/UDP portra menő szokatlan nagyságú forgalom egyetlen számítógépről: általában ez szintén spyware vagy vírus jelenlétét valószínűsíti. Amikor egy-egy ilyen nem kívánt alkalmazást a megfelelő biztonsági csoport azonosít, megjelenik az adott spyware/vírus pontos leírása. Ezekből a leírásokból egyszerűen azonosíthatóak a megfelelő spyware-ek/vírusok ill. a fertőzött számítógép.
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:
- Forrás IP cím
- Cél IP cím
- Forrás port
- Cél port
- Layer 3 protokoll típus
- Type of Service mező (ToS v. DSCP érték)
- Input és output interfész
- Csomagméret
- Flow kezdési és befejezési időbélyeg
- TCP flag-ek, felsőbb szintű protokoll
- Routing információ: next-hop cím, forrás AS (Autonomous System) azonosító, cél AS azonosító, forrás prefix maszk, cél prefix maszk
A NetFlow v9 alapvető jellemzői:
- IPv4, IPv6, multicast és Multiprotocol Label Switching (MPLS) támogatás (többek között).
Template-ek: lehetőség van NetFlow v9 template-ek definiálására a router oldalán. Ez annyit jelent, hogy összeállítható egy azonosítóval ellátott template a router konfigurációjában, amelynek segítségével meghatározható, hogy pontosan milyen paramétereket exportáljon a router a collector felé. Néhány megjegyzés:
A template-ek leírását (mezők és jelentésük) a router időnként propagálja a collector alkalmazás felé, hogy azok formátumát értelmezni tudja a feldolgozó szoftver. Ilymódon biztosítható, hogy a rekord-formátumot a feldolgozó alkalmazás általános szinten kezelje és a formátum változásakor (ld. korábbi NetFlow verzióváltások) ne kelljen újraírni az alkalmazásokat.
- A template-ek segítségével ezen túl a felhasználó által összeállított template-ekben kizárólag a felhasználó számára releváns információk kerülnek átvitelre.
- A template-ek segítségével újabb protokollok és paramétereik egyszerűen, nagyobb változtatás nélkül exportálhatóak.
- Jelenleg a Cisco IOS szoftverek nem támogatják a template-ek létrehozását, ezt későbbre ígérik. Így a template-ek tesztelésére nem kerülhetett sor.
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:
Az nfdump fontosabb eszközei:
nfcapd: NetFlow információ gyüjtő daemon. Fogadja a hálózati eszközök által küldött NetFlow rekordokat és adatfile-okban tárolja ezeket. Az adatfile-ok időnként rotálódnak (tipikusan 5 percenként). NetFlow stream-enként (tipikusan hálózati eszközönként) egy nfcapd futtatására van szükség. Az nfcapd v5, v7 és v9 verziójú NetFlow-t protokollt és rekordformátumot támogat.
nfdump: NetFlow rekord megjelentítő eszköz. Beolvassa és megjeleníti a file-ok formájában tárolt NetFlow rekordokat. Többféle megjelenítési, rendezési formát támogat (pl. legtöbbet forgalmazó host-ok listázása, különféle rendezése a rendelkezésre álló paraméterek alapján).
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:
Az nfsen a következő funkcionalitást biztosítja:
NetFlow adatok megjelenítése az RRD (Round Robin Database) segítségével.
Egyszerű navigáció a nagymennyiségű NetFlow adat között.
NetFlow adat feldolgozása, megjelenítése egy specifikált időintervallumon belül.
- Profilok létrehozása: a teljes forgalmat magába foglaló profilokon kívül (nfsen terminológiában: live) lehetőség van bizonyos szűrési feltételek megadására, amelyek egy specifikus forgalom megfigyelését teszi lehetővé (pl. HTTP, SMTP, SSH, stb. forgalom).
- Saját plugin-ek implementálásának lehetősége.
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
Network Emergency Responder & Detector (NERD)
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ő:
- A felhasználó szűrési feltételeket, kritériumokat definiálhat a forrás-, célcím és portok megadásával ill. egyéb forgalmi kritériumokkal.
- A szűrési feltételek egy MySQL adatbázisban tárolódnak.
- A bejövő flow információkat a NERD folyamatosan figyeli és összeveti az SQL adatbázisban tárolt kritériumokkal. Amennyiben az egyes kritériumokat a forgalom túllépi, akkor a NERD risztást generál.
- Az egyes riasztások egy web-es felületen listázhatóak, a hozzájuk tartozó részletekkel együtt.
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.