Szilard@BalaBit

Mi az a Zorp?

kedd, január 24, 2012 @ 02:01 DU. Author: Pfeiffer Szilárd

Tömören fogalmazva a Zorp egy nyílt forrású mély protokollelemző proxy tűzfal, ami roppant tudományosan hangzik. Vegyük sorra a mágikus kifejezés kulcsszavait és próbáljuk meg értelmezni őket!

Protokoll elemzés

Funkciójukból fakadóan a tűzfal alkalmazás mindegyike képes a hálózati forgalom bizonyos mérvű elemzésére, lévén ennek hiányában nem tudnánk a forgalom szabályozására vonatkozó feltételeket megadni. Ez a Zorp esetén sincs másképp. A különbség az egyes szoftverek között az elemzés mélységében mutatkozik meg. Míg például az Netfilter esetén az oly sokat emlegetett ISO/OSI modell negyedik – azaz szállítási – rétegén túli elemeket nemigen használhatjuk fel a hálózati forgalom szabályozásánál, addig a Zorp esetén akár a legfelső – azaz az alkalmazási – réteget górcső alá véve is hozhatunk döntéseket. A döntés vonatkozhat a szolgáltatás egészére, vagyis tilthatjuk, vagy engedélyezhetjük például egy FTP szerver teljes elérését a felhasználó egy csoportja számára, de lehet szó arról is, hogy letölteni engedünk, feltölteni viszont már nem és a előbbit is csak akkor, hogy ha a letöltendők vírusmentesnek bizonyultak.

Proxy tűzfal

Csaknem minden ami ezen kifejezésről eszünkbe juthat, igaz a Zorp kapcsán is. Elsőként mindenképpen a proxy szerverek azon sajátossága, hogy beékelődnek a kliens és a szerver közé elszeparálva ezáltal a hálózati kommunikáció két szereplőjét egymástól és minden egyes kérést, illetve választ újrafogalmaznak a két szereplő között. A Zorp ebben a tekintetben annyival több versenytársainál, hogy mindezt applikáció szinten tudja megtenni, a felhasználás különböző módjai (forward proxy, reverse proxy) mellett. Ehhez szükségesek a C nyelven implementált, viszont Python nyelven konfigurálható, bővíthető protokollelemző osztályok (a Zorp terminológiájában proxy), melyekből a nyílt forrású változat esetén kilenc, míg a kereskedelmi verzióban huszonöt áll rendelkezésre.

Modularitás szerkezet

A Zorp kétség kívül legnagyobb előnye a testreszabhatóság, ami a szoftver szerkezetének moduláris felépítése nélkül nem volna lehetséges. A mindennapi használat során ez annyit jelent, hogy ha nincs szükségünk egy adott proxy kapcsán speciális működésre, akkor gyakorlatilag szinte semmit nem kell tennünk azért, hogy élvezhessük a hálózati protokoll applikációs szintig történő elemzését. Ha viszont ennél többre van igényünk, kontrollálni kívánjuk az adott forgalmat, akkor is csak arra kell összpontosítanunk, amit konkrétan elérni szeretnénk (pl: egy HTTP header módosítása), minden egyebet készen kapunk. Ezeken túl viszont arra is van lehetőség, hogy a Zorp csak a hálózati kapcsolatot kezelje és a protokoll teljes elemzését magunk végezzük függetlenül a gyárilag meglévő proxyktól.

A szállítási rétegben megvalósított biztonsági protokollok (SSL/TLS) implementációja egy önálló alrendszert, ha úgy tetszik modult képez, így az ezekhez kapcsolódó beállítások a konkrét applikációs protokolltól függetlenül tehetőek meg, ami lehetőséget biztosít arra is, hogy egy általunk implementált protokollértelmező SSL kapcsolaton belül és kívül egyaránt működhessen. A Zorp alkalmas külső eszközökhöz, modulokhoz való integrációra is, melynek lévén viszonylag könnyen valósíthatóak meg spam-, illetve vírusszűrő megoldások.

Nyílt forrás

A Zorp egy alapvetően nyílt forrású termék, ám néhány kérdést mégis érdemes tisztázni, ha más nem, a licenchuszárok kedvéért. Egyrészről, hogy a szerzői jogi védelem pontosan milyen formájáról van szó, másrészről, hogy kizárólagos-e ez a licencelés. Az első kérdésre kettős válasz adható, lévén a Zorp is két összetevőre oszlik, magára a tűzfal applikációra, illetve egy hozzá kapcsolódó függvénykönyvtárra. Mindkettő az FSF által kiadott licenc – ez előbbi (Zorp) GPL, míg az utóbbi (libzorpll) LGPL – hatálya alatt érhető el. A második kérdésre adott válasz egy kifejezésben foglalható össze; dual-license, vagyis létezik egy nyílt forrású (Zorp/Zorp GPL), illetve egy kereskedelmi (Zorp Professional) változat, a megfelelő licencelési, illetve számos technikai különbséggel, melyekről később még esik szó.

A Zorp kipróbálásához, teszteléséhez “kulcsrakész” virtuális gépek itt érhetőek el.

A hivatalos Zorp GPL oldal itt található.

A blog bejegyzés, illetve a kapcsolódó videó a Creative Commons “Nevezd meg! – Így add tovább!” licenc feltételei mellett terjeszthető.

Be Sociable, Share!

Creative Commons License
The Mi az a Zorp? by Szilard@BalaBit, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.