Co má firewall společného s Internetem?

Co to je za hloupou otázku, řeknete si možná. Přece firewall si pořizujeme právě kvůli připojení do Internetu... Je...


Co to je za hloupou otázku, řeknete si možná. Přece firewall si pořizujeme
právě kvůli připojení do Internetu... Jenže firewall není žádné zařízení, které
by se tu objevilo ze dne na den. Technologie používané v těchto "protipožárních
zdech" nebo alespoň některé z nich tu jsou už dávno. Jako součásti zařízení,
kterým se neříkalo firewall a přesto mohla některé jeho funkce vykonávat.
Ale začněme pěkně po pořádku. Možná, že jste si o tom četli už stokrát. Stále
dokola vás všichni upozorňují, že Internet se v podstatě v celé své historii
zaměřoval na zcela jiné oblasti, než na komerci. Vznikal poměrně neorganizovaně
a rozhodně nebylo cílem jeho vzniku poskytovat jakoukoli bezpečnost datům,
která po něm putují. Pouze malá část jeho historie se váže ke komerčním
aktivitám jde o posledních pár (téměř doslova) let.
Internet tedy sám o sobě rozhodně není bezpečný miliony v podstatě anonymních
uživate-lů, kterým nic nebrání vydávat se za kohokoli a jeho jménem měnit
procházející data, rozesílat různé informace nebo odposlouchávat informace
určené někomu jinému. Samozřejmě ne každý uživatel takhle rozsáhlé možnosti má
a umí je využít. Ale tím se nelze utěšovat, potenciálních útočníků je i tak
nespočetně.
Naznačená nebezpečí s sebou v době komerčního využívání Internetu přinášejí
nutnost ochrany ovšem celý Internet tak, jak je vystavěn, zabezpečit v současné
době nelze. Proto se musí opevnit každý jeho uživatel sám. Podle toho, jak
velká je hrozba útoku, případně jaké poskytuje služby a jak si cení svých dat.
Zabezpečení sítě před průniky zvenčí pochopitelně úzce souvisí se způsobem,
jakým je vaše síť k Internetu připojena, případně s vašimi požadavky na
dostupnost vnitřních informací zvenčí. Ne-jen pro vaše zákazníky, ale třeba též
pro mobilní zaměstnance nebo vzdálená pracoviště. Protože onen průnik vlastně
neznamená nic jiného než skutečnost, že jakási data (myšleno obecně mohou to
být i nežádoucí příkazy) proniknou tam, kam nemají, musíme se nejprve podívat,
jakým způsobem vlastně data po Internetu putují a jak se dostanou k vám.
Jazyky Internetu
K tomu, aby se počítače na Internetu spolu domluvily, slouží předpisy pro
přenos dat nazývané protokoly. Požijeme-li srovnání s běžným životem, pak
protokolem je v něm třeba abeceda s definicí, jak se čte které písmeno. Jiným
protokolem může být jazyk množina použitelných slov s definovanými významy.
Protokolem se ovšem stává i definice určitých slovních spojení např. pod pojmem
český jazyk můžeme za určitých okolností rozumět nikoli dorozumívací řeč, ale
školní předmět. Máme-li potom někomu sdělit informaci tohoto typu, musíme mít
dohodnuty vlastně tři protokoly abecedu, slova a slovní spojení. Kromě toho se
dohodneme na fyzické reprezentaci bude-li ona informace přenesena dopisem,
faxem apod.
Na Internetu (a vlastně v libovolné síti) je to podobné. Zatímco ve fyzickém
světě jsme si přenos rozčlenili do čtyř vrstev médium, abeceda, slova, slovní
spojení, obecné sítě mají vrstev 7 (viz tabulku s názvem Referenční model ISO
OSI) a na Internetu si vystačíme s vrstvami pěti: fyzickou, linkovou, síťovou
(protokol IP), transportní (protokoly TCP nebo UDP) a aplikační (protokoly FTP,
HTTP apod.) viz tabulku Model síťových vrstev Internetu. Vzhledem k úzké
provázanosti protokolů IP a TCP se někdy hovoří také pouze o vrstvách čtyřech a
protokolu TCP/IP.
Podívejme se nyní na vrstvy Internetu podrobněji. Aplikační protokoly vlastně
představují sadu příkazů, které slouží k manipulaci se soubory, identifikaci
uživatele apod. Např. v protokolu HTTP (HyperText Transfer Protocol protokol
používaný např. k přenosu HTML souborů tj. webových stránek) takovým příkazem
může být GET /cesta/soubor, kterým si HTTP klient vyžádá od HTTP serveru soubor
umístěný v cestě cesta. Příkaz list protokolu FTP vypíše zase obsah adresáře.
Pomocí těchto příkazů se tedy domlouvají klienti příslušných služeb (např.
webový prohlížeč) se svými servery.
Transportní protokoly TCP nebo UDP mají za úkol spojit vzájemně procesy
vzdálených počítačů, přičemž se ovšem nestarají o to, jedná-li se např. o HTTP
klienta a server, FTP klienta a server nebo o klienty a servery úplně jiné.
Jinými slovy aplikační úroveň už je mimo jejich vnímání. Informace ve formě
aplikačních protokolů se v této vrstvě rozdělí na pakety a opatří se
identifikací procesu tzv. portem.
Na síťové vrstvě je pak k paketům protokolu TCP, resp. UDP, přidána další
informace a tak vzniknou IP pakety. Protože TCP, resp. UDP, a IP jsou spolu
těsně svázány, hovoří se často o protokolech TCP/IP. TCP/IP paket je plně
vybaven na cestu Internetem, kromě vlastních dat v sobě nese IP-adresu
odesílatele, IP-adresu příjemce, identifikaci protokolu TCP, resp. UDP a port
odesílatele a příjemce.
K čemu že jsou kromě adres příjemce a odesílatele i jejich porty? Na jednom
počítači totiž může ve stejném okamžiku pracovat více klientů, kteří komunikují
přes Internet, např. FTP klient a WWW klient (nebo HTTP klient, chcete--li). A
protože by nebylo jasné, jak se mají o příchozí informaci podělit, když by
obsahovala pouze adresu počítače a nikoli konkrétního klienta, má každý klient
ještě přidělenu dvoubajtovou "podadresu", kterou je právě onen již zmíněný port.
Protokol TCP je spojovaný, což znamená, že odesílatel naváže s příjemcem
spojení a vzájemně si potvrzují přijímané pakety. Pokud při přenosu dojde k
chybě, tj. nějaký paket nedojde, je vyžádáno jeho opakované zaslání. Toto
potvrzování má poměrně velkou časovou režii, proto se nehodí pro nepřerušované
toky dat, jakými jsou např. přenosy zvuku nebo videa v reálném čase. Tam totiž
způsobí menší škodu několik vypadlých paketů, než kolísavý přísun dat. Vhodný
je naopak tam, kde je důležité, aby se cestou žádná informace neztratila a
přitom jistá nepravidelnost přenosu těchto dat nevadí, tj. např. u aplikačních
protokolů FTP, HTTP, Telnet apod.
Protokol UDP je naopak datagramový, což znamená, že jsou odesílány jednotlivé
pakety, aniž by se zjišťovalo, zda dojdou, či nikoli. Při chybě tedy k
opakovanému zasílání nedochází. Tento protokol využívají nejen služby, které
potřebují dosáhnout pravidelného toku dat, jako např. již zmíněné Real Audio,
ale také např. DNS.
A když už jsme na to narazili DNS (Domain Name System, nebo v případě serveru
také Domain Name Server) je aplikace, která zajišťuje překlad jmen domén na IP
adresy. Tj. např. snadno zapamatovatelný textový řetězec, který zadáte do
webového prohlížeče, např. www.firma.cz, přeloží na čtyřbajtovou adresu vhodnou
pro další počítačové zpracování. Důsledkem použití protokolu UDP je, že klient,
který si vyžádá takový překlad adresy a nedostane odpověď, vlastně neví, došla-
li vůbec jeho žádost, příp. byla-li odeslána odpověď. V každém případě je ovšem
jeho reakcí pokus o získání přeložené adresy od dalšího DNS serveru.
Vraťme se ale ještě na chvíli k portům. Jak už bylo řečeno, je program příjemce
paketu na daném počítači jednoznačně identifikován portem. Porty TCP se dělí na
klientské a serverové, přičemž serverové porty mají zpravidla čísla nízká
(např. FTP standardně port 21, WWW port 80) a klienti čísla vysoká, která jsou
jim přidělena správcem volných portů v okamžiku, kdy chtějí začít komunikovat.
Některé protokoly mohou vyžadovat přidělení i většího množství portů.
A teď se pojďme podívat na vrstvy nejnižší. TCP/IP pakety je nutno různě
přenášet po různých médiích. O to se starají protokoly linkové vrstvy, mezi
které patří např. PPP (Point-to-Point Protocol), který pravděpodobně používáte
pro dial-up připojení do Internetu, Ethernet, který se používá v sítích LAN
(Local Area Network), Frame relay pro sítě WAN (Wide Area Network) nebo ATM pro
rychlé páteřní spoje.
O "vlastní přenos" se pak stará poslední fyzická vrstva, což bude pravděpodobně
metalický nebo optický kabel, příp. krátkovlnný nebo optický spoj .
Protože rozdělení do vrstev je nesmírně důležité pro pochopení principů ochrany
sítí, shrňme si je zde všechny do jednoho odstavce. Bez ohledu na fyzickou
vrstvu, se kterou jsou úzce spjaty linkové protokoly, se o přenos dat v síti
Internet ve skutečnosti stará protokol TCP/IP. Tomu na jednu stranu nezáleží,
jakým způsobem je přenesen v síti fyzicky (tj. je-li pod ním protokol ATM, FDDI
nebo Ethernet, příp. jdou-li data rádiovým spojem nebo po optickém kabelu...),
na druhou stranu přenáší jakýkoli aplikační protokol, tedy HTTP (Web), FTP
(File Transfer Protocol), Telnet apod.
Hrozící nebezpečí
Mluvíme-li o bezpečnosti na Internetu, můžeme mít na mysli řadu parciálních
problémů. Když se vrátíme k úvodní poznámce tohoto Tématu týdne ("Jak to
začalo"), prvotní problém vlastně nastává v okamžiku, kdy jsou na vaši síť
připojeni externí uživatelé a mohou pracovat s nějakým serverem v této síti
podobně, jako uživatelé lokální.
Pokud by síť byla dokonale zabezpečená před lokálními uživateli, tj. každý by
měl svůj účet s ochranou, která by byla neprolomitelná, a přístup jen k datům
na své úrovni, nemusela by ani vyvstat potřeba síť chránit nějakým dalším
způsobem. To je ovšem velmi ojedinělý případ.
Častým problémem je, že se spoléhá na "slušnost" lokálních uživatelů, kteří
nemají zájem nějak poškozovat funkčnost sítě a proto nevadí, mají-li více práv,
než by jim příslušelo podle jejich funkčního zařazení ve firmě. Typickým
případem jsou databáze místo aby je spravoval databázový server, jsou umístěny
v souborech na sdíleném disku, ke kterým má každý uživatel práva zápisu i čtení
a tak jedinou bezpečnost ve skutečnosti zajišťuje databázový program,
prostřednictvím kterého uživatelé nad databází pracují. To uvnitř firmy může
stačit, ale jakmile se k takto nechráněným datům dostane někdo zvenku, může
napáchat značné škody, protože se nemusí cítit omezen oním databázovým
programem.
Předpokladem neoprávněné manipulace s daty je přístup k nim zpravidla
prostřednictvím uživatelského konta některého interního uživatele; v případě
obzvláště neopatrných správců je možno využít dokonce nějaké obecné nechráněné
konto, např. HOST (GUEST). TEST, POKUS apod.
Další problémy způsobují uživatelé, kteří si neuvědomují, jaké následky může
mít jejich laxní přístup k bezpečnosti sítě v okamžiku, kdy je tato síť
připojena k nějaké síti veřejné. Nejde jen o volbu hesel pro konta (často
shodná se jménem konta, nebo volená z úzkého okruhu slov), ale třeba také o
nepromyšlené spouštění programů, které jsou jim doručovány poštou z neověřených
zdrojů.
Naznačené důvody zpravidla vedou správce sítí k zabezpečení sítě před přístupem
zvenčí dodatečnými prostředky, pro které se obecně zavedl termín firewally.
Na tomto místě je třeba uvést, že pojem firewall nemá nějaký jednoznačně
definovaný význam, nebo způsob funkce. Obecně se pod ním rozumí prostředek,
který nějakým způsobem chrání síť před nežádoucím přístupem zvenčí, nikde ovšem
není definováno, jakým způsobem to provádí, resp. jakých prostředků k tomu
využívá. V některých případech může některé funkce firewallu převzít i
zařízení, které slouží primárně k jiným účelům, např router.
Další důležitou věcí, kterou je třeba si uvědomit, je fakt, že firewall není
zařízení, které od okamžiku nasazení zabezpečí vaši síť a vy si nadále můžete
být absolutně jisti její bezpečností. Vlastní bezpečnost sítě totiž ovlivňuje
nejen kvalita firewallu jako takového, ale také jeho nastavení a bezpečnostní
politika uvnitř sítě samotné.
Router
Jak už bylo uvedeno, architekturu Internetu je možno rozdělit do pěti vrstev.
Pojďme se podívat na zařízení pracující s jednotlivými vrstvami a s tím
souvisejícími způsoby zabezpečení.
Pokud jde o dvě nejnižší vrstvy, o těch se v souvislosti s firewally nemluví.
Nebezpečí, která na nich hrozí, nesouvisí bezprostředně s Internetem, ale se
sítěmi obecně. V podstatě se jedná především o nebezpečí odposlouchávání,
kterému je možno se bránit zvolením bezpečného fyzického kanálu a na úrovni
linkové vrstvy např. v případě lokální ethernetové sítě přepínaným Ethernetem,
kde se data dostanou jen tam, kam mají, a neprocházejí zbytečně přes další
stanice, kde by takové odposlouchávání mohlo hrozit.
Na třetí vrstvě se setkáváme s routery. To jsou zařízení, která mají obecně
více síťových portů a poté, co obdrží paket, pošlou ho do toho portu, kterým se
nejrychleji dostane k cíli. Pokud si Internet zjednodušeně představíte jako
síť, v jejíž koncových bodech jsou počítače uživatelů a uzly sítě jsou tvořeny
routery, pak každý router je vlastně něco jako výhybka (obr. 1). Ta posílá
paket na požadovanou kolej, po které se dostane k dalšímu routeru výhybce, ta
ho pošle po další koleji zase dál, až nakonec dojde do toho správného cílového
počítače.
Každý router má v sobě tzv. routovací tabulku, kde každý řádek obsahuje nějakou
IP-adresu a cestu k ní tj. IP-adresu následujícího routeru a síťový interface,
kterým se k němu dostane. Kromě těchto informací se v tabulce nacházejí ještě
další, pomocná data, jako např. síťová maska k cílové IP-adrese, metrika
(proto, aby bylo možno najít nejkratší cestu k cíli) a některé další.
Vždy když router obdrží paket, sníží jeho vnitřní čítač, označovaný jako TTL, o
jedničku je-li výsledkem nula, je paket zahozen a odesílateli je zaslána
zpráva, že životnost paketu vypršela. Pokud je výsledek nenulový, router zjistí
adresu příjemce, porovná ji s tabulkou a odešle paket do příslušného síťového
interface. Ukáže-li se, že cílový síťový interface je stejný jako ten, kterým
paket přišel, je paket odeslán zpět s příslušnou poznámkou pro odesílatele.
Nenajde-li router cílovou adresu ve své tabulce, nasměruje paket do směru
určeného položkou default v případě její neexistence paket zahodí a odesílateli
oznámí, že cíl je nedosažitelný.
Obsah routovacích tabulek se aktualizuje prostřednictvím tzv. routovacích
protokolů, kterých existuje několik druhů. Patří mezi ně např. RVP (Routing
Vector Protocol), prostřednictvím kterého routery rozesílají do svého okolí své
routovací tabulky a příjemci si pak podle nich upravují tabulky své, LSP (Link
State Protocol), který naopak zjišťuje, kteří z jeho sousedních routerů jsou
aktivní a pak na ně upozorňuje své další sousedy nebo protokol OSPF, jehož
podstatnou vlastností je schopnost rozdělení sítě na oblasti a proto se hodí i
pro rozsáhlé sítě.
Router jako firewall
Připojení podnikové sítě do Internetu se zpravidla realizuje prostřednictvím
jednoho přístupového routeru. Nastavením jeho filtrů je možno pakety
procházející routerem propouštět selektivně. Na úrovni protokolu IP je možno
určit, z jakých adres, resp. na jaké adresy smějí dojít a které adresy jsou
naopak zakázané. Pokud je router schopen filtrovat pakety i na 4. vrstvě, tedy
protokolu TCP, resp. UDP, pak je možno navíc omezit i druhy aplikací, které
spolu takto smějí komunikovat.
Router tedy představuje síťový prvek, který je schopen zastávat funkci
firewallu. Záleží ovšem samozřejmě vždy na jeho konkrétní realizaci.
Prostřednictvím kombinace filtrů zpravidla lze nastavit, že některé počítače
interní sítě budou mít přístup pouze na určité adresy sítě vnější, případně k
tomu budou moci používat jen některé porty tím se jim omezí i druhy
dosažitelných aplikací. Jiné počítače mohou mít naopak přístup do externí sítě
neomezen.
Pomocí takové filtrace je možno též zařídit, aby se směrem do vnitřní sítě
komunikovalo pouze na vysokých číslech portů (tj. aby u odesílaného paketu
odesílatel a u přijímaného příjemce měl vysoké číslo portu), což, pokud si
vzpomínáte, znamená, že uvnitř sítě se bude komunikovat pouze s klienty,
protože servery mají nízká čísla portů. Z toho jinými slovy vyplývá, že
uživatelé vnitřní sítě budou mít přístup ke službám Internetu, ale nikoli
naopak. Toto řešení s sebou ovšem nese také problémy, např. v případě
elektronické pošty, kde se obousměrně komunikuje na nízkém portu. Zde je třeba
zvolit odpovídající řešení, např. uvolnit právě tento jeden nízký port pro
příjem.
Uvedené řešení prostřednictvím filtrace nízkých portů není vhodné v případě, že
ostatním účastníkům Internetu nějaké informace poskytovat chcete. Tehdy se
často používá rozdělení vnitřní sítě na dvě části na chráněnou síť, kde jsou
vaši uživatelé a na tzv. demilitarizovanou zónu (označovanou též DMZ), ve které
se nacházejí servery, které poskytují vaše informace směrem do Internetu. V
praxi to znamená, že přístupový router má směrem do vaší sítě dvě rozhraní, z
nichž na první, které vede do chráněné zóny, jsou aplikovány již zmíněné přísné
filtry a na druhém jsou pravidla liberálnější to pak vede do demilitarizované
zóny.
Filtraci paketů na úrovni IP a TCP, resp. UDP nabízí většina standardních
firewallů, ovšem tato zařízení, pro která je právě filtrace paketů de facto
primárním úkolem (nebo jedním z primárních úkolů), nabízejí v této oblasti více
možností než routery, pro které je tato činnost (je-li jejím cílem zabezpečení
sítě) čímsi navíc. Firewally kromě bohatých možností nastavení filtrů poskytují
zpravidla také přesné informace o odmítnutých paketech, případně analýzy těchto
paketů z hlediska odesílatelů, adresátů, požadovaných služeb apod.
Proxy
Jestliže třetí (případně čtvrtou) vrstvu síťového schématu Interne-tu okupují
routery, potom na páté vrstvě se (mimo vlastních aplikací) potkáme především s
proxy (obr. 2). Proxy je zařízení (spíše ovšem program), které jednou svou
částí požadavky na služby přijímá a druhou částí si tyto služby vyžádá od
jejich skutečného poskytovatele (nebo další proxy). Protože pracuje s
aplikačními protokoly, říká se mu také někdy "aplikační brána".
Vezměme si následující příklad. Váš WWW klient požádá o stránku na adrese
www.firma.cz. Server s touto adresou už ovšem není na vaší vnitřní podnikové
síti, ale kdesi v síti vnější na Internetu. Mezi oběma sítěmi stojí proxy. Na
tu se tedy obrátí váš WWW klient. Proxy pak o příslušné informace požádá
skutečný server www.firma.cz a poté, co je dostane, je poskytne vašemu WWW
klientovi. Z hlediska vašeho klienta se tedy proxy chová jako server, z
hlediska serveru www.firma.cz jako klient.
Pokud by proxy fungovala pouze tak, jak bylo naznačeno v předcházejícím
případě, byla by vlastně zbytečná. To by si totiž klient mohl rovnou říci o
data skutečnému serveru a ten by je mohl poskytnout zase přímo jemu. Proxy jsou
ovšem kromě pouhého předání informací schopny plnit ještě řadu dalších funkcí,
podle toho, k čemu jsou určeny.
Typické je použití např. proxy--cache, kdy je o data cílový server požádán
jedině tehdy, pokud už nejsou načtena ve vnitřní vyrovnávací paměti. Proxy může
fungovat též jako filtr, který je schopen nejen omezit servery, nebo jejich
části, ze kterých uživatelé mohou získávat data, ale třeba také příkazy
nějakého protokolu. Tak lze např. zakázat upload dat na nějaký server příkazem
put, ale nikoli jejich stahování příkazem get.
Výše zmíněné filtrační funkce a případně další filtry, o kterých bude ještě
zmínka dále, umožňují stvořit firewall na principu proxy, to znamená na 5.
úrovni síťového schématu (Internetu, pokud bychom se bavili o klasickém OSI
modelu, pak by šlo samozřejmě o 7. aplikační vrstvu).
Druhy proxy
Nasazení proxy může být problematické v případě, že ji nepodporuje klient
protokolu, kterému má umožnit průchod. Protože sám protokol HTTP s proxy
počítá, lze v jeho klientech (např. webových prohlížečích) nastavit přístup
přes proxy potom je v příkazech posílána celá URL (Universal Resource Location
adresa serveru a cesta k datovému souboru). Proxy z ní vybere jméno serveru, se
kterým následně naváže spojení a předá mu zbytek cesty. Starší klienti řady
protokolů ovšem proxy nepodporují. Podívejme se, jak se tento problém dá v
jejich případě řešit.
Za tímto účelem si protokoly rozdělíme do dvou skupin. Do první skupiny patří
ty, které "něco jako proxy" musejí používat už ze svého principu, jakkoli se to
dříve proxy nenazývalo. Takovým protokolem je např. SMTP (Simple Mail Transfer
Protocol) pro poštu. Tady není co řešit, protože poštu došlou z vnější sítě
zpracuje poštovní server, který se tedy vlastně chová jako proxy.
Druhou skupinu tvoří protokoly, které nedisponují samy o sobě prostředky ke
komunikaci s proxy a ani ji v žádné jiné formě dosud neužívaly. Mezi takové
patří např. FTP nebo Telnet. U nich vyvstává problém, jak přenést na proxy
adresu serveru, na který má být směrován požadavek. Řešením může být generická
proxy, která očekává požadavky na konkrétním portu a pak naváže spojení s
jedním pevně určeným serverem. Jinými slovy pro každý server, se kterým se
předpokládá navázání spojení, musí existovat jedna proxy nakonfigurovaná na
určitý port.
Toto zdánlivě nešikovné řešení (vždyť kolik je v Internetu serverů!) se používá
typicky pro mail (jakkoli jsme si před chvílí řekli, že u něj "něco jako proxy"
tvoří poštovní server ale jeho funkce nám nemusí vždy stačit). Představte si,
že máte mezi vnitřní sítí a Internetem nakonfigurován filtr na velikost portu
tak, aby vnitřní uživatelé mohli do Internetu, ale nikoli naopak, jak jsme o
tom už mluvili u routerů. Zmíněný problém v případě pošty, kde je komunikace
obousměrná a proto na ni takový filtr aplikovat nelze, je možno vyřešit
použitím filtru v podobě proxy. Protože s ní běžní klienti protokolu POP
neumějí pracovat, použijeme generickou proxy, kde klientům pevně přiřadíme
jeden port, na kterém od nich bude proxy přijímat požadavky a cílovým serverem
bude napevno stanoven náš poštovní server.
Druhým obecně používaným řešením v případě protokolů, které nejsou vybaveny pro
komunikaci s proxy, je tzv. transparentní proxy. Její funkce je prostá: klient,
který se obrací na vnější internetový server, zjistí jeho IP adresu a obrátí se
přímo na něj. Jeho požadavek je ovšem routery vnitřní sítě nasměrován
prostřednictvím jejich default položky v routovací tabulce na proxy, která
stojí mezi vnitřní sítí a Internetem. Ta se tváří, jako by byla cílovým
serverem, přijme požadavek (jehož součástí je samozřejmě i adresa cílového
serveru a v něm cesta k datům) a vzápětí se s tímto požadavkem obrátí na
skutečný internetový server s danou adresou. Poté, co data obdrží, předá je
klientovi tak, jak by to udělal dotazovaný server.
Proxy jako firewall
Jak už bylo uvedeno, proxy v sobě může obsahovat řadu kritérií, prostřednictvím
kterých je možno průchod dat skrz ni různě omezovat. Řada firewallů může
pracovat právě tímto způsobem, je však třeba si uvědomit, že jde obecně o
náročnější postup, než při filtrování paketů prostřednictvím IP adres nebo
portů, protože kontrola může být podstatně komplexnější. Výhodou je naopak
potenciální účinnost dobře napsané aplikační brány firewallu. Vzhledem k faktu,
že rozumí filtrovanému aplikačnímu protokolu, může se zaměřit na jeho slabá
místa; často si poradí i s nebezpečnými Java applety, prvky ActiveX, skripty
Visual Basicu, zavirovanými dodatky pošty apod.
Druhou stranou mince jsou problémy, které nastanou v okamžiku, kdy se objeví
nový protokol (a tedy služba uživatelům), nebo se prostě jen chce začít
využívat protokol, o kterém se zatím neuvažovalo, a firewall na něj není
připraven.
V takovém případě je zpravidla možno nadefinovat obecnou tzv. plug-in proxy pro
tuto službu. Plug-in proxy však nebývají vybaveny takovým stupněm zabezpečení
jako standardní proxy a proto je ani výrobci firewallů nedoporučují používat.
Je otázkou, jak vyřeší správce na jedné straně oprávněné požadavky uživatelů a
na straně druhé nutnost zabezpečení sítě.
Někdy se v souvislosti s proxy hovoří i o tzv. socks firewallu. Socks je
služba, jejímž prostřednictvím je umožněno využití proxy i pro nespojové služby
přenášené UDP, např. již zmiňované real audio. V počátcích jejího nasazení se
vyžadovala úprava v kódu klienta, nyní je její použití již transparentní.
Další vlastnosti firewallů
Kromě filtrování na úrovni TCP/IP a využití proxy používají firewally i řadu
dalších způsobů zabezpečení vnitřní sítě a dat v ní uchovávaných. Mezi
používané techniky patří např. překlad adres (NAT Network Addres Translation),
který způsobuje, že adresy počítačů ve vnitřní síti nejsou vidět zvenku.
Všechny jsou ukryty pod jedinou adresou, nebo jsou rozděleny do skupin. Tím se
případnému útočníkovi pochopitelně velmi ztěžuje průnik, protože nezná
skutečnou strukturu vnitřní sítě.
Až dosud jsme řešili problém, jak zabránit komukoli zvenčí proniknout k našim
počítačům. V praxi je ovšem občas třeba komunikaci s nimi někomu povolit.
Typicky pracovníkům na cestách. Pokud se rozhodnete jim umožnit přístup
prostřednictvím Internetu (což není nezbytně nutné je možno je nechat
přistupovat do sítě i přes běžnou telefonní síť ovšem i zde je pochopitelně
třeba dodržovat přísná bezpečnostní pravidla, v řadě případů shodná s těmi,
která je nutno aplikovat při přístupu přes Internet), je pochopitelně nezbytné
zajistit bezpečnou autentizaci uživatele. Kromě ověření prostřednictvím hesla
(nejlépe hesla určeného pouze pro jedno použití, generovaného speciální kartou,
nebo softwarem) je pak vhodné provádět celou komunikaci šifrovaně.
Šifrovaná komunikace je nezbytná též v případě propojení dvou nebo více
privátních sítí prostřednictvím Internetu (nebo jiné veřejné sítě). Šifrovanému
kanálu, prostřednictvím kterého je vytvořena taková virtuální privátní síť (VPN
Virtual Private Network), se někdy také říká tunel. Tento termín je ovšem v
síťové terminologii používán i v jiných souvislostech, např. se jím rozumí
nefiltrovaný port ve firewallu.
Kromě autentizace a šifrovaného komunikačního kanálu veřejnou sítí
(označovaného často právě jako funkce VPN) dokáží aktivní firewally kontrolovat
též změny v systémových souborech, analyzovat podezřelé akce z vnějšku a
především na ně adekvátně reagovat upozorněním správce, uzavřením postižené
služby, odmítnutím poskytnutí dalších služeb útočníkovi, příp. zakázáním
jakéhokoli dalšího přístupu do vnitřní sítě.
Je ovšem třeba si uvědomit, že takové krajní řešení může způsobit společnosti
značnou škodu a dokonce může být i cílem celého útoku, takže je nutno s ním
zacházet velmi opatrně.
Zapojení firewallu
Zatím jsme vlastně stále uvažovali především firewall jako principy ochrany.
Jak je to ale fyzicky? Především firewall může být jednopočítačový, ale i
vícepočítačový.
Jednopočítačový firewall má typicky 2 až 3 síťová rozhraní, přičemž jedno vede
do Internetu, tedy do nechráněné sítě, druhé do vnitřní chráněné sítě a
případné třetí většinou do demilitarizované zóny tak, jak už jsme se o tom
zmiňovali u routerů (obr. 3).
Výsledkem tohoto uspořádání je mj. skutečnost, že firewall bezpečně ví, který
paket přišel z vnitřní a který z vnější sítě, takže případnému útočníkovi
nepomůže, když se bude vydávat za účastníka z vnitřní sítě. Navíc se tím
samozřejmě okamžitě prozradí.
Firewall by měl být vždy dedikovaný (vyhrazený). Pokud na počítači, který
slouží jako firewall, běží ještě další aplikace, vždy se zvyšuje riziko průniku
do sítě, protože aplikace zpravidla obsahují chyby, které mohou útočníkovi
umožnit vzdálený přístup k tomuto počítači, případně mu mohou pomoci počítač
zablokovat.
V případě, kdy jeden firewall výkonově nestačí požadavkům vnitřní sítě (je
těžké nějak specifikovat, kdy se tak může stát záleží spíše na náročnosti než
počtu uživatelů, na počtu aplikací a pochopitelně také na funkcích, kterými je
firewall pověřen), je třeba použít vícepočítačové řešení. Jakkoli může více
firewallů vykonávat v podstatě stejné funkce, bývá zvykem rozdělit jim
"kompetence". Jeden může např. sloužit pouze jako filtr (na úrovni protokolu
TCP/IP), další jako aplikační brána, třetí pro překlad adres (NAT) atd.
Vzhledem k počtu funkcí, které mohou firewally v rámci ochrany sítě zastávat,
tak jak o tom bylo psáno výše, lze úkoly celkem efektivně rozdělit. Složitější
aplikační brány navíc mohou samy delegovat některé své funkce,
např. antivirovou kontrolu, na zvláštní počítače.
Zatímco filtr bude vždy umístěn na rozhraní veřejné a chráněné sítě, proxy nebo
NAT mohou stát i vně, podle toho, jaké konkrétní funkce plní. Naopak firewall
chránící poštovní přístup, bude zpravidla umístěn uvnitř chráněné sítě.
Jak vybírat
V okamžiku, kdy se rozhodujete, jaký firewall pořídit, musíte zvážit několik
kritérií. Vždy je nutno vzít v úvahu, jakou síť bude firewall chránit. Pokud
např. předpokládáte, že vaše síť bude mít vždy počet počítačů v řádu desítek,
dá se předpokládat, že by vám mohl stačit jednopočítačový firewall na bázi PC.
Dále bude třeba vybrat vhodný software. Protože množství nabízených firewallů
se počítá v desítkách, nepůjde zřejmě o jednoduchý úkol. Prvotním kritériem
bude nepochybně skutečnost, zda firewall nabízí funkce, které od něj očekáváte.
Můžete chtít firewall na principu filtru paketů, ale také s funkcí aplikační
brány (a podporou pro vámi používané aplikační protokoly!), překladem adres,
podporou VPN apod.
Po tomto hrubém dělení je dále třeba zvážit technickou podporu, kterou
poskytuje výrobce. Týká se to nejen aplikačních bran, kde by měla být záruka,
že s příchodem nových aplikačních protokolů bude k dispozici příslušná proxy,
ale též ostatních funkcí firewallu obzvláště s ohledem na fakt, že v každém
produktu může být dříve nebo později nalezena nějaká bezpečnostní skulina.
Někteří výrobci firewallů poskytují své produkty k volnému vyzkoušení to nelze
než doporučit. Při testu můžete nejen zjistit, zda firewall skutečně disponuje
všemi funkcemi, které jeho výrobce nabízí, ale také vyzkoušet jeho výkonnost,
snadnost obsluhy, komplexnost jeho zápisů o událostech týkajících se
bezpečnosti sítě a jeho reakce na klíčové události. Podle doby, po kterou je
taková testovací verze schopna funkce, je možno ji podrobit i některým testům,
tj. pokusit se zahrát si na hackera.
V neposlední řadě je možno zjistit, jak snadno se firewall instaluje a jak
příjemné je jeho uživatelské rozhraní. To by samozřejmě nemělo hrát ve vašich
úvahách hlavní roli, ale faktem je, že přehledné rozhraní usnadňuje bezchybné
nastavení.
O dalším důležitém kritériu, kterým je cena, není zřejmě třeba se obšírněji
zmiňovat. Některé firmy za účelem prodejní podpory svého firewallu vypisují čas
od času na Internetu soutěže, kde nabízejí úspěšným hackerům různé odměny za
průnik do svého systému. Jakkoli to vypadá lákavě, je třeba vzít v úvahu, že
takto uměle nastavený firewall může velmi podstatně omezovat uživatele ve
vnitřní síti, příp. může spoléhat na dobré zabezpečení uvnitř chráněné sítě.
Je ovšem možno zvážit, zda se tímto přístupem nenechat inspirovat při uvedení
koupeného firewallu do zkušebního provozu. Jeho slabiny vám tak za třeba i
relativně nízkou sumu mohou pomoci odhalit stovky "odborníků", které byste
jinak těžko zaplatili. Na druhou stranu se ovšem z dlouhodobého hlediska takové
přilákání pozornosti nemusí vyplatit.
Pokud je pro vás pořízení firewallu aktuální, možná se necháte inspirovat naší
tabulkou, ve které můžete najít reprezentativní vzorek u nás dostupných
programů tohoto typu i s jejich základním popisem. Protože funkce jednotlivých
firewallů se často liší podle platformy, pro kterou jsou určeny, berte prosím
poznámky pouze jako informativní. Podobně je tomu s cenami, které jsou různé
podle počtu uživatelů, požadovaných služeb apod. K dispozici bývají také
dodatkové produkty s řadou funkcí navíc, např. antivirovou ochranou, blokací
určitých URL apod. Přesná data jsou na uvedených webových stranách.
8 0022 / pen









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.