Mi az a Zorp?

Tömören fogalmazva a Zorp egy nyílt forrású mély protokollelemző proxy tűzfal, ami roppant tudományosan hangzik, bár talán elsőre kevéssé érthető. A definíció egyes elemeinek kifejtése itt olvasható.

Hozzászólások

A Zorp egy ATOMFEGYVER :-) Amit nem lehet Zorppal megcsinálni, azt nem lehet tűzfallal megcsinálni.

Amit meg tudsz oldani:

* parancs szinten logolni mondjuk az FTP forgalmat, ami hasznos lehet audit szempontból
* csatolni külső eszközöket (vírus szűrő, smap szűrő) a forgalom elemzésére
* változtatni a kliens és a szerver közötti kommunikáción
* meghamisítani a User-Agent értékét a HTTP forgalomba
* kivenni a STARTTLS feature-t az SMTP-ben
* kikényszeríteni read-only FTP-t, ahol a kliens csak letölthet szerverekről
* féloldalas SSL-t, ahol a csak a kliens, vagy csak a szerver használ SSL-t

Ez persze csak néhány (egyszerűbb) példa a sok közül. Ha megírod mit szeretnél Te megoldani, akkor meglátjuk azt meg lehet-e.

Néhány bonyolultabb példa is:

* protokollfüggetlenül bizonyos párhuzamos kapcsolatszám felett a célszerver helyett máshova csatlakozik (túlterhelésvédelem)
* SMTP-ben forrás- vagy céldomain ellenőrzés, kivéve, ha a szerver visszaigazolt bármilyen sikeres authentikációt (internet felől bejövő levelezés és authentikált SMTP küldés ugyanazon a porton)
* HTTP User-Agent alapján sávszélesség szabályozás (IE6-ot visszacsapod 10k/s-re ;))

Lassan 8 eve bejovos a cucc nalam :).

Valaki használja magas rendelkezésállású klaszterben összesen két hardveren?
Az áteresztőképessége milyen egy átlagos quad kiszolgálón?
Mennyire használható tipikus scrip bug attack ellen?
A szabályok létrehozása mennyire körülményes?

"Valaki használja magas rendelkezésállású klaszterben összesen két hardveren?"
Igen, plain old heartbeat-tel használom, de a GPL-t gyakorlatilag tetszőleges klaszter suite-al tudod HA-sítani. Az egyetlen dolog, amit meg kell oldani, az az IP/MAC címek mozgatása a node-ok között, illetve a járulékos szoftverek billegtetése (pl. bind, ntp, openvpn). Az állapotszinkronizáció nincs megoldva, tehát kapcsolatszakadással jár az átállás. Közös tárterületre csak SSL keybridge használata esetén van szükség.

"Az áteresztőképessége milyen egy átlagos quad kiszolgálón?"
Alkalmazásszintű proxyról lévén szó, ez nagyon függ a forgalom jellegétől. A "legköltségesebb" a proxy indulás, így a másodpercenként kiépített kapcsolatok száma az, ami az egyik fontos tényező, illetve ha valamilyen vírusszűrést alkalmazol, akkor az tud csúnya terhelést produkálni. Azt is figyelembe kell venni, hogy az SSL bontásánál a handshake a legdrágább, ez is abba az irányba mutat, hogy a conn/sec az egyik fontos szempont a méretezésnél. Emellett még az interfészenkénti softinterrupok kúszhatnak fel, ha _tényleg nagy_ forgalmad van. Nagyon nagy általánosságban azt lehet mondani, hogy egy kisebb méretű webszerver farmot vagy egy közepes-nagy irodai környezetet elvisz egy átlag quad-core-os gép.

"Mennyire használható tipikus scrip bug attack ellen?"
Alapvetően a Zorp csak az RFC megfelelőséget garantálja, ha van egy olyan weboldalad, amit védeni szeretnél vele, akkor két lehetőséged van. Vagy összeintegrálod valamilyen kész pattern gyűjteménnyel, mint pl. az apache mod_security mintaadatbázisa, vagy ha tudod, hogy pontosan mi ellen akarsz védekezni, akkor akár teljes form validációt is tudsz csinálni. Viszont ezt kézzel kell lekódolni, nincs egy kész adatbázis, amit ha beleejtesz a konfigba, akkor out-of-the-box működik.

"A szabályok létrehozása mennyire körülményes?"
3.1-esen és 3.3-on ez még elég körülményes volt, de a 3.9-es verzióban jelentősen egyszerűsödött a konfiguráció, viszont ehhez a Balabit-es (kzorp-os) kernelt kell használnod. A GPL-hez nincs GUI támogatás, tehát értened kell a konfig fájl felépítését, ami alapvetően egy python script.

A mély protokoll elemzőnek van köze a mélykonzolhoz? :-D

"Jegyezze fel a vádhoz - utasította Metcalf őrnagy a tizedest, aki tudott gyorsírni. - Tiszteletlenül beszélt a feljebbvalójával, amikor nem pofázott közbe."