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:

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 konfiguráció Cisco eszközökön

NetFlow v9 és SCTP konfiguráció Cisco eszközökön

A Cisco első NetFlow v9 SCTP képes implementációja a 12.2(4)6T verziószámú IOS-ben jelent meg. A projekt keretében a teszteléshez felhasznált konfiguráció a következő volt:

Az alábbi konfigurációs példák az SCTP alapú exportálás beállítását mutatják (ld. még előző szakasz a NetFlow konfigurációhoz):

     ipv6 flow-export destination 195.111.98.214 50000 sctp

A fenti parancs a 195.111.98.214 IP címre, az 50000-es SCTP port-ra próbálja meg küldeni a NetFlow rekordokat. A következőkben az SCTP protokollal kapcsolatos show parancsokat tárgyaljuk.

SCTP asszociációk listája:

sctp_test.vh.hbone.hu#show ip sctp association list 

** SCTP Association List **

AssocID: 2712747875,  Instance ID: 0
Current state: ESTABLISHED 
Local port: 51453, Addrs: 195.111.96.110 
Remote port: 50000, Addrs: 195.111.98.214

A parancs segítségével kilistázhatóak a jelenleg érvényes SCTP asszociációk.

SCTP asszociáció részletei/paraméterei:

sctp_test.vh.hbone.hu#show ip sctp association parameters 2712747875

** SCTP Association Parameters **

AssocID: 2712747875  Context: 1  InstanceID: 0
Assoc state: ESTABLISHED  Uptime: 1d01h
Local port: 51453
Peers Adaption layer indication is NOT set
Local addresses: 195.111.96.110 

Remote port: 50000
Primary dest addr: 195.111.98.214
Effective primary dest addr: 195.111.98.214
Destination addresses: 

195.111.98.214:   State:  ACTIVE(CONFIRMED)
  Heartbeats:  Enabled   Timeout: 500 ms
  RTO/RTT/SRTT: 5000/0/0 ms   TOS: 0  MTU: 1500
  cwnd: 3000  ssthresh: 52736  outstand: 0
  Num retrans: 0  Max retrans: 2  Num times failed: 0

Local vertag: A1B13F63  Remote vertag: 90266373
Num inbound streams: 10  outbound streams: 20
Max assoc retrans: 2  Max init retrans: 2  
CumSack timeout: 200 ms  Bundle timeout: 100 ms
Min RTO: 5000 ms  Max RTO: 5000 ms
Max Init RTO (T1): 1000 ms
LocalRwnd: 9000  Low: 9000   RemoteRwnd: 52628  Low: 52628
Congest levels: 0  current level: 0  high mark: 1

Itt szükséges megadnunk azon asszociációt, amelyről az információt le szeretnénk kérni.

SCTP asszociáció statisztikák:

sctp_test.vh.hbone.hu#show ip sctp association statistics 2712747875

** SCTP Association Statistics **

AssocID/InstanceID: A1B13F63/0
Current State: ESTABLISHED 
Control Chunks
  Sent: 17062  Rcvd: 19413
Data Chunks Sent
  Total: 2352  Retransmitted: 0
  Ordered: 2352  Unordered: 0
  Avg bundled: 1  Total Bytes: 319124
Data Chunks Rcvd
  Total: 0  Discarded: 0
  Ordered: 0  Unordered: 0
  Avg bundled: 0  Total Bytes: 0
  Out of Seq TSN: 0
ULP Dgrams
  Sent: 2352  Ready: 0  Rcvd: 0

SCTP-vel kapcsolatos hibák lekérdezése:

sctp_test.vh.hbone.hu#show ip sctp errors 

** SCTP Error Statistics **

No SCTP errors logged.

A routeren aktív SCTP protokoll instanciák lekérdezése:

sctp_test.vh.hbone.hu#show ip sctp instances 

** SCTP Instances **

Instance ID: 0  Local port: 51453  State: available
Local addrs: 195.111.96.110 
Default streams inbound: 20  outbound: 20
Adaption layer indication is not set
  Current associations:  (max allowed: 6)
  AssocID: 2712747875  State: ESTABLISHED  Remote port: 50000
    Dest addrs: 195.111.98.214

SCTP statisztikák:

sctp_test.vh.hbone.hu#show ip sctp statistics 

** SCTP Overall Statistics **

Control Chunks
  Sent: 98491  Rcvd: 110776
Data Chunks Sent
  Total: 12281  Retransmitted: 0
  Ordered: 12281  Unordered: 0
  Total Bytes: 1854500
Data Chunks Rcvd
  Total: 0  Discarded: 0
  Ordered: 0  Unordered: 0
  Total Bytes: 0
  Out of Seq TSN: 0
SCTP Dgrams
  Sent: 110587  Rcvd: 110776
ULP Dgrams
  Sent: 12281  Ready: 0  Rcvd: 0

Additional Stats
  Instances Currently In-use: 1
  Assocs Currently Estab: 1
  Active Estab: 185  Passive Estab: 0
  Aborts: 13580  Shutdowns: 184
  T1 Expired: 0  T2 Expired: 0

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]

Netflowv9 monitorozás