Network Monitoring


Tagek: Linux, Cisco,
Írta: toshy
Publikálva: 2008-07-31 20:11:37

Ahhoz, hogy audit szempontból megfeleljen egy hálózat a követelményeknek, bizonyos időre visszamenőleg meg kell őrizni a “hálózati forgalmat”, vagy hát annak valamilyen lenyomatát. Itt meg jegyezném, amíg nem voltam rendszergazda, nagyon elítéltem minden fajta nyomkövetést, de azóta rájöttem, hogy ez valamilyen szempontból pont az adott cég biztonságát szolgálja. Gondolom több cégnél is tiltja a szabályzat, a gyűlölet beszéd, a politika, a pedofil, és más erősen pornografikus oldalak, vagy bármilyen másfajta tartalmak letöltését, vagy látogatását. De elképzelhető olyan eset is , hogy valaki megszerzett valamiféle tudást, és ettől rögtön hacker-nek hiszi magát, és mondjuk a cég hálózatáról intézi a különböző támadásokat.

Mindezek kivédésére, fel lettem szólítva, illetve meg lettem kérve, hogy dolgozzak ki egy megoldást telepítsem, és a “log”-okat őrizzem meg ameddig csak lehet, valamint rendszeresen kísérjem figyelemmel a hálózati forgalom tartalmát. Azon túl hogy egy rendszergazdai állás az “bizalmi állás”, és semmilyen következményeket nem vonhatok le a forgalmazott adatok tartalmából, a céges belső szabályzat-ban tiltott tartalmakat mégis szűrni, tiltani, jelenteni kell. Ilyenkor mindig borsódzik a hátam, számomra a jelentés szó mindig az AVH-s időket juttatja eszembe, és hát jó ideje, hogy itt dolgozom de még nem jelentettem senkit. TILTANI viszont tiltottam, vagy felhívtam az illető figyelmét a dologra. Nehéz megtalálni az egyensúlyt a helyes és a helytelen között. Ez közhelynek hangzik, de ha az ember becsületes, és ebbe a helyzetbe kerül, akkor mérlegelni kell, és igyekszik meghozni azt a döntést ami szerinte a legjobb.

Ennyit a filozófiáról, most lássuk a megvalósítást:



Jöjjön a szokásos magyarázata az ábrának:

A redundanciát, gondolom már nem kell megmagyaráznom. Az internet felé az R1 ,és az R2 megy ki. A központi routereink a ML-SW1, és a ML-SW2, ezek multilayer switchek. A Netmonitor nevezetű gép az egy Linux-os RHEL 2 interface-el. Az egyik interface , mondjuk legyen az eth0 bitorol egy sima hétköznapi IP-t, hogy el lehessen érni terminálon, vagy esetleg weben. A másik interface az eth1 az promiscous módban bekapcsolt állapotú IP nélküli interface. A szerver egy sima SW1-es, core switchen keresztül kapcsolódik a hálózathoz.

Az egész auditálásnak a menete nagyon egyszerű, amire vigyázni kellet, hogy az auditálás/monitorozás, semmilyen hatással nem lehet a hálózat minőségére. Magyarul nem lehet az átmenő forgalmat mérni úgy, ahogy az mondjuk kisvállalati környezetben teszik, vagy esetleg az elvetemültebb rendszergazdák otthon teszik, tehát hogy az átmenő forgalmat routolás előt, vagy közben mérni. (Valahogy nem tudom ezt jobban megfogalmazni, remélem értitek)

Az én CISCO-s környezetemben ez úgy van megoldva, hogy a kimenő interface “mirror”-ozva lett egy másik interface re ami viszont a VLAN20 -as tagja. A VLAN20 pedig a trunk, és a VTP-miat mindenhol látszik, tehát vissza van vezetve a kimenő forgalom a Netmonitor szerver eth1-es, promiscous módban lévő portjára.

A konfigurációk a következők:

Az R1 routeren megcsináljuk a mirror-t.

monitor session 1 source interface Gi1/1

monitor session 1 destination interface Fa0/3


Természetesen az Fa0/3 az a VLA20 ban lévő port.
Az SW1 core switch-en pedig a vlan20-at vissza az interface-re.

monitor session 2 destination interface Gi2/2

monitor session 2 source remote vlan 20


Nem jár sok konfigurációval, kicsit olyan huszár vágás feeling-je van. Mivel így mirror-ozva nem jár CPU vagy más költséggel, az eredeti hálózati forgalmat nézve, ez tűnt a legjobb megoldásnak.

A Linuxra többféle megoldással próbálkoztam, például először írtam a C -ben egy kis progit ami fogta a fejléceket tehát IP, TCP, ICMP, ETHERNET, …. stb, és tolta bele egy adatbázisba. Adatbázisnak használtam már hozzá Mysql-t, PostgreSQL-t de sajnos az adatmenyiség akkora volt, hogy a lekérdezés néha 5-10 percet is igénybe vett. Aztán kipróbáltam komolyabb adatbázissal is, mint pl az IBM DB2, hiába. konzultáltam pár adatbázis tuningoló guruval, indexeltünk, csoportosítottunk, de mind hiába. A túl sok adat az túl sok adat akár mit is csinálsz. A megoldás egy IpAudit nevezetű kis GPL-es programocska lett, pont erre találták ki, és a célnak tökéletesen megfelel. Egyébként ez a progi file-ban tárolja az adatokat félórás bontásban, és külön le zippelve. Ezekből rajzol chartot, vagy a web-es felületén egyedi lekérdezés is megadható. Az IPAUDIT letölthető a sourceforge-ról, akit érdekel az keresse meg vagy töltse le innen.

Ismét köszönöm a megtisztelő figyelmet.

Szólj hozzá

Hozzászólások(0)