Jelen fejezetben ismertetjük a ZORP alapkoncepcióját, és adminisztrátorok számára fontos tulajdonságait.
Mielőtt belemennénk a ZORP technikai felépítésébe, architektúrájába, tekintsük át a napjainkban létező és alkalmazott tűzfalak alapkoncepcióját. Vegyünk egy egyszerű példát melyben a tűzfal egy védett alhálózatot véd az internettől, meghatározott szolgáltatásokat átengedve.
Bastion host
A bastion host egy olyan különlegesen védett gazdagép, amely egyszerre van kapcsolatban a védett hálózattal, és az internettel. Közvetlen átjárás a két hálózat között nincs, ha el akarjuk érni az internetet, be kell lépnünk a bastion hostra és onnan kezdeményezni a külső kapcsolatot. Bastion hostokat általában különleges védelmi igények esetén szoktak építeni. Ma már nem elterjedtek, mert építésük, használatuk és karbantartásuk nehézkes, sok szakértelmet igénylő feladat.
Csomagszűrő tűzfal
A csomagszűrő tűzfalak - mint a nevük is mutatja - a hálózati forgalmat a csomagok szintjén szűrik, ami azt jelenti, hogy egy csomag átengedéséről való döntéshez csak azt az információt tudják felhasználni, amely a csomag fejlécében található: forráscím, célcím, alkalmazott protokoll (TCP, UDP, ICMP stb), a protokoll fejléce: forrásport, célport stb. Ez az információ a forgalom biztonságos szabályozásához kevés, hiszen az alkalmazás szintű protokollal (HTTP, SMTP stb) nem foglalkozik. Egyetlen nyitott porton bármilyen forgalom átvihető, akár egy tunnelen keresztül teljes értékű IP kapcsolat alakítható ki.
Napjainkban a csomagszűrőt, proxy tűzfalak kiegészítő elemeként használják.
Állapottartó csomagszűrő
A stateful (állapottartó) csomagszűrő tűzfalat arra fejlesztették ki, hogy a csomagszűrő tűzfalak hátrányait kiküszöböljék. Ezek a tűzfalak nem csak a csomag fejlécinformációjából, hanem az eddig beérkezett csomagok hasonló információiból és a csomagtartalmából próbálnak következtetni az átvitt forgalom értelmére. Az ilyen tűzfalakban a csomagokból összeállítják a magasabb szintű protokoll-folyamot, és a protokoll folyamon végeznek ellenőrzéseket.
A stateful csomagszűrő tűzfal noha nagyon elterjedt, egy fejlődési zsákutcát képvisel. Ennek oka kettős: nem megfelelő mennyiségű információ alapján próbál dönteni, és azt engedi át amit a küldő küldött, nem pedig azt, amit már értelmezett. Ezáltal a magasabb biztonsági igényeket nem tudja kielégíteni.
Proxy tűzfal
A proxy tűzfal hasonló a bastion hosthoz, de nem kell rá bejelentkezni az internetre való kijutáshoz: Ehelyett speciális szerverek, úgynevezett proxyk (tükörfordításban "megbízott") futnak rajta, ezekhez csatlakozva lehet az internet erőforrásait igénybe venni. A proxy tűzfalak a rajtuk átmenő adatfolyamot általában a magasabb protokollszinteken is értelmezik, és minden esetben azt engedik át amit értelmeztek, nem pedig az eredeti csomagokat.
A modern proxy tűzfalak transzparensek, ami azt jelenti, hogy a proxy igénybevétele a felhasználó számára nem látható. A technológia mai szintjét a proxy tűzfalak képviselik. Egy proxy tűzfal kiválasztásánál fontos szempont annak ismerete, hogy az egyes protokollokat milyen szinten és részletességgel elemzi a tűzfal.
Moduláris proxy tűzfal
A mai proxy tűzfalak nagy hátránya, hogy az átmenő forgalmat csak kis részletességgel elemzik (noha sokkal jobban mint a csomagszűrők), és ezért a forgalom szabályozásával kapcsolatos döntési lehetőségeik behatároltak. Probléma az is, hogy az egyre terjedő, kriptografikusan csomagolt, moduláris protokollok szűrésére nem igazán vannak eszközeik, illetve ha egy olyan protokoll átengedésére van igény, amihez nem készült proxy, az adminisztrátornak semmilyen lehetősége nincs, csak szűretlenül átengedni azt.
Ezeknek a problémáknak a hatására alakult ki a moduláris proxy tűzfal koncepciója. A ZORP tűzfalrendszer központi eleme egy ilyen moduláris proxy együttes. A ZORP alapfilozófiája, hogy egy adott protokollal kapcsolatos tudás a protokollhoz készített alacsony szintű proxyban van implementálva. Ezeket az alacsony szintű proxykat viszont a tűzfal adminisztrátora szabadon építheti össze bonyolult protokollok szűrésére.
Az összekötő elem, egyben a tűzfal konfigurációs nyelve Python, ami lehetővé teszi hogy az adminisztrátor tetszőleges feltételek alapján döntsön a forgalom szűréséről. A döntést segíti, hogy a proxyk minden protokollinformációt eljuttatnak a döntési mechanizmus részére. Ha egy adott protokoll szűrésére még nincsen alacsony szintű proxy, az adminisztrátornak lehetősége van akár arra, hogy egy általános célú proxy segítségével valamilyen szinten kordában tartsa a forgalmat, akár arra hogy Python nyelven lekezelje az adott protokollt (sőt mindkettőt teheti egyszerre).
Ezzel egy a mai kor követelményeinek megfelelő, új generációs tűzfalat kapunk.