Size: 112
Comment:
|
Size: 10874
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
Munkaszakasz 2.3: Flow alapú hálózat monitoring rendszer tesztelése és vizsgálata | = Munkaszakasz 2.3: Flow alapú hálózat monitoring rendszer tesztelése és vizsgálata = |
Line 4: | Line 4: |
== 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: http://nfdump.sourceforge.net 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 működése: ==== NfSen ==== http://nfsen.sourceforge.net/ === 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ő: * 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. === samplicator === |
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 működése:
NfSen
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.