Vyšlo v příloze Softwarových novin, v lednu 2001
Vytištěno z adresy: http://www.earchiv.cz/b01/b0100025.php3

Proxy brány

Aplikační brána, neboli firewall fungující na úrovni aplikační vrstvy (přesněji: rozhodující se podle údajů příslušných aplikační vrstvě), může mít opět dva poněkud odlišné způsoby fungování. První z nich odpovídá principu paketového filtru a jedinou odlišností skutečně je to, že rozhodování se odehrává s využitím informací příslušných aplikační vrstvě. V praxi to znamená, že takovýto uzel se podobně jako paketový filtr navenek chová jako směrovač (zajišťuje směrování na úrovni síťové vrstvy), a pouze interně při svém rozhodování "zasahuje" až úroveň aplikační vrstvy. V praxi bývají takovéto druhy firewallů označovány také jako tzv. obsahové filtry (content filters).

Častější je ale v praxi druhé řešení, využívající tzv. proxy bran (tj. jde o aplikační firewall na principu proxy brány). Pro popis podstaty tohoto řešení se vrátíme k již použité analogii se středověkým hradem, padacím mostem a hlídačem ve vstupní bráně, a budeme si představovat situaci, kdy si obyvatel hradu (uživatel chráněné privátní sítě) objednal nějaké zboží od dodavatele mimo hrad (např. si vyžádal nějakou WWW stránku z veřejného Internetu). U všech dosavadních řešení jsem předpokládali, že padací most a vstup do hradu je v zásadě průchozí pro každého "dodavatele" (každý datový paket), samozřejmě s tím že hlídač musí posoudit jeho oprávněnost ke vstupu - buď na úrovni síťové vrstvy (podle toho, komu něco nese), nebo na úrovni vrstvy aplikační (podle toho co nese). Nyní, u aplikačních firewallů využívajících proxy brány, je situace jiná: zde v naší analogii se středověkým hradem neexistuje, aby kdokoli z obyvatel vnějšího světa vstoupil do hradu, či dokonce jen tušil, kdo uvnitř hradu je (ale totéž platí i pro obyvatele hradu, ani oni nesmějí ven). Když pak někdo z obyvatel hradu požaduje něco z vnějšího světa, například kus chleba, svůj požadavek předá hlídači na bráně. Tento hlídač si pak požadované zboží objedná sám svým vlastním jménem (což může, neboť on sám již je "vidět" pro vnější svět), a dodavatel z vnějšího světa pak objednané zboží doručí přímo tomuto hlídači (aniž má možnost poznat, pro koho je fakticky určeno - z jeho pohledem je objednavatelem hlídač). Hlídač na bráně pak následně předá dodané zboží tomu obyvateli hradu, který si jej původně objednal.

Role, kterou jsme až dosud přisuzovali hlídači, se při takovémto způsobu fungování mění spíše na roli prostředníka, resp. zprostředkovatele. V rámci naší analogie si lze dokonce představit, že na bráně existuje jeden velmi nekompromisní blokující hlídač, který nikoho nepustí skrz (tj. dává pozor na to, aby se nikdo zevnitř hradu nedostal ven, a naopak nikdo z vně hradu nemohl dovnitř). Vedle něj pak existuje jeden nebo několik specializovaných prostředníků (zprostředkovatelů), kteří realizují výše popsané zprostředkování "obchodního styku" - s tím že každý z nich bývá specializován na určitou komoditu, tak aby mohl posoudit korektnost a nezávadnost příslušného transferu. Vrátíme-li se zpět od naší analogie do reálného světa firewallů, pak nekompromisnímu blokujícímu hlídači odpovídá apriorní zákaz jakéhokoli přenosu (prostupu) síťových paketů z jedné sítě do druhé. Jelikož nejčastěji je dnes na úrovni síťové vrstvy používán protokol IP, je zakázán tzv. IP forwarding (doslova: předávání IP paketů).

Velmi zajímavá a důležitá je samozřejmě role "zprostředkovatele", kterému v reálném světě odpovídá již avizovaná proxy brána. Proxy bránu si lze představit jako kombinaci klienta a serveru v jednom společném provedení, navíc se specializací na jednu konkrétní službu (například elektronickou poštu, WWW, FTP atd.). Uzel chráněné privátní sítě, který požaduje něco z vnější sítě (například WWW stránku), nemůže svůj požadavek vznést přímo do vnější sítě, protože by skrz aplikační firewall tohoto typu vůbec neprošel. Místo toho adresuje svůj požadavek proxy bráně. Ta jej přijme, a následně sama vygeneruje jako svůj vlastní požadavek do vnější sítě. Když pak obdrží výsledek (v našem příkladu WWW stránku), následně jej zašle původnímu zájemci.

Představa fungování firewallu využívajícího proxy brány

Právě popsané fungování proxy bran i celých firewallů využívajících tyto proxy brány přináší jednu významnou odlišnost oproti řešením, která proxy brány nepoužívají. Jde o to, že existence proxy bran již nemůže být transparentní, resp. nemůže zůstat utajena koncovým uzlům chráněné sítě a aplikacím, které zde jsou provozovány. například právě WWW browser, jehož uživatel si klikne na nějaký hypertextový odkaz, by správně měl poslat příslušný požadavek přímo tomu serveru, který je v odkazu obsažen. Místo toho ale WWW browser musí zaslat tento požadavek proxy bráně, která pak teprve zajistí vše potřebné. V praxi se toto řeší nastavením konfigurace WWW browseru, kterému se řekne že musí spolupracovat s příslušnou proxy bránou. Snad nejdůležitější je ale to, že takovéto nastavení může zůstat skryto před uživatelem - tj. stačí když jej provede správce sítě, zatímco uživatel o tom nemusí mít ani potuchy a svůj browser používá přesně stejně jako bez firewallu a proxy bran.