Zabarikádujte se! - Firewally bez tajemství I.

Sdílet

V tomto článku se zaměříme na téma, které je poměrně zajímavé tentokrát budeřeč o firewallech. Někteří z vás jistě tuší, co tento termín znamená, mnozí máte zcela jistě jas...
V tomto článku se zaměříme na téma, které je poměrně zajímavé tentokrát bude
řeč o firewallech. Někteří z vás jistě tuší, co tento termín znamená, mnozí
máte zcela jistě jasnou představu, co firewall je a k čemu slouží, a někteří z
vás slyší možná tento výraz poprvé. Podíváme se tedy na téma firewallů
podrobněji. Vysvětlíme si, co to vlastně firewall je, k čemu slouží, kdy je
vhodné jej používat, jak jej používat a ukážeme si některé produkty, které lze
prakticky využít.

Označení firewall pochází ze stavebnictví. Jde o protipožární přepážku, která
je odolná proti ohni. Můžete se s ní setkat například u automobilů, kde chrání
prostor mezi řidičem a motorem, nebo v budovách, kde má za úkol bránit
rozšíření požáru do okolních místností. A takový je v podstatě i princip
firewallů v souvislosti s výpočetní technikou. Jde o jakousi přepážku či
zábranu, jejímž úkolem je chránit. Chránit lze mnoho věcí, ať již jde o
samostatný počítač, připojený modemem nebo o velkou podnikovou síť. Podle toho,
co chceme chránit, musíme vybrat i typ firewallu a určit přesnou strategii a
taktiku. Naplánování strategie a taktiky je jednou z nejdůležitějších činností
při stavbě firewallu. Pravděpodobně zabere i nejvíce práce a času.

Pokud plánujete používat firewall, musíte si položit několik základních otázek.
První a nejdůležitější otázkou je, co vlastně chcete chránit. Pokud chcete
nainstalovat firewall na svém domácím počítači, který je připojen k síti
modemem, budete postupovat zcela jinak než v případě, kdy budete chtít ochránit
firewallem svou podnikovou síť. Druhá zásadní otázka se týká výběru operačního
systému. Asi by nebylo příliš vhodné používat jako firewall pro podnikovou síť
počítač s operačním systémem Windows 98 s nainstalovaným Zone Alarmem (o tomto
produktu za chvíli), a na druhou stranu nemá cenu přecházet na operační systém
FreeBSD na své pracovní stanici jen z důvodu(!) její ochrany firewallem. Nyní
se tedy zaměřme na případ, kdy chcete firewallem ochránit menší podnikovou nebo
domácí síť. Poté se podíváme na situaci, kdy budete chtít ochránit svůj
počítač. Tématem, jak zabezpečit velkou síť, se zabývat nebudeme, protože je to
činnost velmi náročná a většina běžných uživatelů se k ní nedostane. Pro
případ, že uvažujete o zabezpečení větší sítě, doporučuji prostudovat odbornou
literaturu a vše konzultovat s odborníky.


Zabezpečujeme síť

Rozhodli jste se tedy zabezpečit svou menší podnikovou nebo domácí síť. První
co musíte zvážit je, jaký máte hardware a kolik chcete do firewallu investovat.
Pokud provozujete nějaký veřejnosti určený server, například poštovní nebo
webový, musíte zvážit, zda umístíte tyto servery na počítač, který bude zároveň
sloužit jako firewall, nebo je dáte na samostatný stroj a firewall umístíte
"před", případně ještě "za" tyto servery. Toto druhé řešení je bezpečnější z
několika důvodů, ale zároveň i finančně nákladnější. Prvé řešení, tedy pokud se
rozhodnete umístit nějaké servery společně na firewall, je finančně méně
nákladné, ale nese i svá rizika. Tato rizika lze však vhodnou strategií výrazně
eliminovat. Výběr záleží čistě na vás, ale musíte vzít v potaz, že pokud se
rozhodnete umístit nějaké služby na firewall, budete muset posílit hardware, na
kterém to vše poběží. Samotný systém s firewallem nebude mít takové nároky jako
systém s ještě nainstalovaným poštovním či webovým serverem. V žádném případě
se neodporučuje umisťovat na tento systém data či aplikace, které slouží
uživatelům vnitřní sítě, a které nemají být přístupné veřejnosti.

Nyní před vámi stojí otázka volby operačního systému. Pokud máte dostatek
finančních prostředků a nadprůměrně silný hardware, můžete uvažovat o
produktech vytvořených pro operační systémy firmy Microsoft. Pokud se vám
nechce investovat desítky tisíc jak do softwaru, tak do hardwaru, můžete s
klidem uvažovat o unixovém systému. Unixové systémy mají několik výhod.
Nejvýraznější je jejich cena. Například operační systémy Linux, FreeBSD či
OpenBSD lze pořídit zcela zdarma a jejich výkon si v ničem nezadá s výkonem
komerčních produktů, a v mnohém je dokonce výrazně předčí. Nezanedbatelnou
stránkou věci jsou i nároky na hardware, které nejsou tak vysoké jako u
grafických operačních systémů (samozřejmě záleží na instalaci a konfiguraci).


Typy firewallů

Chceme-li se bavit o firewallech, musíme si říci, jaké vlastně typy firewallů
máme. Základní dělení podle toho, jak firewall pracuje, je dělení na paketové
filtry a aplikační servery. Typickým příkladem paketového filtru je firewall
zabudovaný do jádra většiny unixových systémů. Většina operačních systémů
Windows, s výjimkou Windows XP a 2000, nemá tento druh firewallu implementován.
A i tato implementace zdaleka nedosahuje kvalit unixových filtrů.
Představitelem aplikačních serverů je například unixový proxy server Squid nebo
WinProxy pro operační systémy Windows. Základní odlišnost obou typů je v tom,
jak pracují. Zatímco paketový filtr jednoduše blokuje, zakazuje nebo směruje
pakety podle daných pravidel bez analýzy obsahu, aplikační server se snaží
obsah analyzovat a podle výsledků analýzy i rozhodovat. Může tedy například
analyzovat obsah přenášených webových stránek a blokovat Javascripty. Není
výjimkou, že síť chrání oba druhy těchto firewallů. Mělo by ale platit, že
směrem do vnitřní sítě by měl být paketový filtr na prvním místě a až za ním by
měl být umístěný aplikační server, a to z několika důvodů. Jedním z nich je
snížení zátěže aplikačního serveru, jenž zpracovává jen data, která chceme, aby
byla zpracovávána. Nemusí se tak zabývat pakety, které nechceme vůbec pustit do
naší sítě. Toto obstarává paketový filtr umístěný před aplikačním serverem.


Politika firewallu

Ať již se rozhodnete pro jakýkoliv typ firewallu s jakoukoliv topologií, musíte
zvolit vhodnou politiku pro firewall. Máte dvě možnosti. Za prvé jde o takzvaný
implicitní zákaz. Princip této politiky spočívá v zakázání všech služeb a
protokolů a povolení pouze těch, které chceme. Druhým typem politiky je
implicitní povolení. Princip, jak již jistě tušíte, spočívá v zakázání jen
definovaných služeb a protokolů a povolení všech ostatních. Každá z těchto
politik má svá plus i svá mínus. Povolovací politika je jednodušší na správu a
konfiguraci, na druhou stranu nechává útočníkovi více příležitostí k útoku.
Druhá metoda je o něco bezpečnější, protože máte výhodu v tom, že víte, kde
můžete útočníka čekat. Pozor ale na různá opomenutí, a to u obou druhů politik.
Jakmile přehlédnete nějakou službu nebo protokol, které byste měl zabezpečit, a
neprovedete to, je vám celá bezpečnostní politika k ničemu.


Strategie

Jak již jsme v úvodu řekli, je naplánování vhodné strategie jednou z
nejdůležitějších činností při stavbě firewallu. Při jejím plánování musíme
myslet a brát ohled na spoustu různých věcí. Je dobré si síť nakreslit, vypsat
všechny služby, které provozujeme, a pečlivě zvážit, jak budeme chtít síť
chránit. Je třeba si uvědomit, že funkce firewallu nespočívá v pouhém zabránění
přístupu útočníka do sítě. Jeho smysl je mnohem hlubší. Jde například i o
ochranu dat, která by mohla být zneužita zevnitř sítě, nebo o rozložení zátěže
jednotlivých počítačů. Musíte vzít v potaz také topologii sítě, její technické
podmínky jako je rychlost, operační systémy v síti, fyzické umístění počítačů a
kabelů a běžnou zátěž sítě. Pokud budete brát ohled na všechny tyto věci,
přispějete tím k vytvoření velmi kvalitního a bezproblémového firewallu.


Paketový filtr implementovaný v jádře operačního systému Linux

Nyní se podíváme na to, jak řeší filtrování paketů jádro operačního systému
Linux. Linux je dnes už poměrně rozšířeným operačním systémem, který se nachází
nejen na spoustě serverů, ale dnes už i na velkém množství pracovních stanic,
proto bude jistě zajímavé se na tento systém a jeho řešení daného problému
podívat podrobněji. Pokud chceme pochopit smysl a funkce paketového filtru
zabudovaného do jádra systému, musíme se na chvíli vrátit do historie a podívat
se na to, jak vývoj tohoto filtru probíhal.


Od ipfwadm přes ipchains k iptables

Dnes již historická linuxová jádra řady 1.0 v sobě měla implementován BSD
firewall ipfw. Tak tomu bylo i u jader 2.0, kde však byla implementace BSD
firewallu mnohem propracovanější. Základním nástrojem pro konfiguraci firewallu
je nástroj ipfwadm. V jádrech řady 2.2 už byl nasazen nástroj ipchains,
vytvořený Paulem Russelem a Michaelem Neulingem. Tento nástroj je už poměrně
robustním prostředkem sloužícím k ochraně sítě či počítače a na mnohých
systémech se s ním můžeme setkat ještě dnes. Program oproti původním ipfwadm
obsahuje velké množství pravidel, která mohou při vhodném použití výrazně
zvýšit výkon firewallu. Postupem času však vývojáři dospěli k názoru, že práce
firewallu by měla být výrazně zjednodušena, a že současná implementace
nepracuje dostatečně efektivně. Zjednodušením by se výrazně zvýšila bezpečnost,
ale i výkon systému. Proto byla zahájena práce na implementaci zvané netfilter.
Ta se snaží být co nejjednodušším a zároveň robustním řešením filtrovacích
pravidel. Implementuje v sobě NAT (Network Address Resolution) a IP maškarádu,
které dříve nebyly přímou součásti firewallu. Tím se celý mechanismus
zjednodušil a zároveň tak stoupl i výkon. Nástroj pro správu implementace
netfilter se jmenuje iptables a je součástí jader verze 2.4. Proto se
doporučuje přejít na tyto verze jádra. Přechod z předešlých verzí není vůbec
obtížný, neboť byla zachována zpětná kompatibilita filtrovacích pravidel.
Existují dokonce nástroje, které filtrovací pravidla určená pro ipchains
konvertují do formátu pro iptables. Nyní již k tomu, co linuxový firewall
dokáže.

S linuxovým firewallem dokážeme při správném použití skutečné divy. Umožňuje
nejen například IP maškarádu, která nám poslouží v případě, kdy je naší síti
přidělena jen jedna veřejná IP adresa, ale umožňuje nám bezpečně kontrolovat
veškerá příchozí a odchozí data. Je důležité firewall správně nastavit. Ke
konfiguraci můžete použít příkazový řádek, ale pokud nejste zrovna jeho fandou,
existují desítky grafických a automatických nástrojů, které vám konfiguraci
firewallu maximálně usnadní. Pomocí tohoto firewallu můžete přesně definovat,
jak bude s kterými pakety zacházeno. Zda-li budou přijmuty, odmítnuty,
přeposlány nebo zahozeny. Rovněž můžete velmi podrobně definovat IP adresy,
případně jejich třídy, zdrojové a cílové porty, protokoly atd. Možností je k
dispozici opravdu hodně. Záleží jen na vás, jaký si konfigurační nástroj
vyberete a jak se s ním naučíte zacházet, i když je třeba znovu podotknout, že
mnohem důležitější je naplánování vhodné strategie než aplikace samotných
pravidel. O všech spojeních lze navíc vést podrobné záznamy. Tuto možnost
oceníte nejen v ostrém provozu jako výborný analyzátor toho, co se na vaší síti
děje, ale i jako skvělou možnost testování firewallu při jeho stavbě. Nejste-li
si jistí, které služby, protokoly a porty vaši uživatelé potřebují (což by se
vám ale stát nemělo), zakažte veškerý provoz z a do vaší sítě a všechny pokusy
o připojení zaznamenávejte. Poté můžete celkem přesně stanovit, co je potřeba a
co naopak nikoliv.


Windows a firewally

Pokud nechcete z nejrůznějších důvodů používat unixové systémy, například máte-
li spoustu zbytečných finančních prostředků, můžete použít operační systémy
firmy Microsoft. O operačních systémech řady 9x nemá asi ani cenu v souvislosti
s ochranou sítě uvažovat. Zbývají nám tedy operační systémy Windows 2000 a XP.
Oba tyto produkty existují i ve své serverové verzi, ale ta oproti standardní
verzi pro pracovní stanice nepřináší v souvislosti s firewally nic nového.
Osobně nedoporučuji používat vestavěný firewall z těchto systémů, neboť zdaleka
nedosahuje výkonu a možností například linuxového netfilteru. Navíc při velkém
vytížení mají tyto systémy problémy s výkonem. Doporučuji tedy sáhnout po
produktech třetích stran. Těch existují stovky, možná tisíce a je jen na vás
najít si ten, který vám bude vyhovovat. Já osobně bych volil unixovou variantu,
kdy je řešení "all in one", navíc zdarma. To se týká jak paketových filtrů, tak
aplikačních serverů. Těch je zdarma k dispozici také velké množství. Zkuste
někdy zabloudit na stránky sourceforge.net a zadejte hledat výraz proxy. Jistě
budete příjemně překvapeni.


Firewall na domácím počítači

Mnoho z vás se jistě připojuje k internetu z domova. Někteří po kabelu, někteří
přes mikrovlny, další přes satelit a většina zřejmě přes modem. Ptáte se,
jestli má cenu instalovat na svém počítači firewall? Ano, má. Pamatujte na to,
že pro ochranu svých dat nikdy nemůžete udělat dost a stále je co zlepšovat.
Většina uživatelů používá systémy Windows. Ti, kteří používají na svém domácím
počítači systém Linux či jiný unixový systém, mohou k ochraně použít firewall
implementovaný v jádře (viz výše). Pokud jste uživatelem produktů Windows,
budete nuceni sáhnout po výrobcích třetích stran, i když firewall obsažený v
základní instalaci systémů Windows 2000 a XP se dá při domácím použití celkem
vhodně použít.


Závěrem

Na závěr lze konstatovat, že firewall je mocným pomocníkem při budování
bezpečnostní politiky a účinným nástrojem k ochraně sítě či počítače. Použití
firewallu však vyžaduje porozumění síťové komunikaci a bezpečnosti dat jako
celku.



Firewall jako součást systémů Windows 2000 a XP

Jedná se o jednoduchý paketový filtr, který se výkonem a robustností nemůže
měřit s unixovými systémy, ale běžným uživatelům na jejich pracovních stanicích
může poskytnout dostatečný komfort při zabezpečování jejich počítače, a to
zejména těm, kteří nechtějí stále "něco instalovat, když je to součástí
Windows".

Pokud chcete definovat nějaká vlastní pravidla, otevřete si Ovládací panely
Síťová a telefonická připojení a zvolte připojení, přes které se připojujete,
například tedy Připojení k místní síti či Telefonické připojení. Zvolte
Vlastnosti a vyberte protokol TCP/IP a opět klikněte na Vlastnosti. V
následujícím okně zvolte položku Upřesnit a přejděte na záložku Možnosti. Zde
zvolte Filtrování protokolu TCP/IP a opět klikněte na Vlastnosti.

Nyní si trochu odpočiňte od neustálého klikání, a poté se můžete pustit do
nastavování filtrovacích pravidel. Jak vidíte na obrázku, je definování
pravidel pro jednotlivé protokoly a porty opravdu snadné.

Nevýhodou je, že nemůžete definovat pravidla "za letu", ale až v době, kdy
zjistíte, že vám něco nefunguje. Rovněž nemůžete pravidla definovat pro
jednotlivé aplikace, ale jen pro protokoly, a to pouze TCP a UDP. V tomto má
ohromnou výhodu jiný produkt, a sice Kerio Personal Firewall.

Zabarikádujte se! - Firewally bez tajemství II.


Kerio Personal Firewall

Podle výsledků mnoha testů a recenzí různých odborných serverů jde o jeden z
nejlepších firewallů určených pro pracovní stanice uživatelů. Dobrou zprávou
je, že produkt je pro domácí použití k dispozici zdarma. Mnozí z vás si jej
jistě pamatují ještě pod starým označením Tiny Personal Firewall. Poslední
verze instalačního souboru, zhruba o velikosti 2 MB, je ke stažení na stránkách
firmy Kerio (www.kerio.com). Tato firma se zabývá vývojem síťových aplikací a v
komerční sféře jsou její produkty velmi úspěšné. Prohlédnutí stránek o jejích
produktech jistě stojí při troše volného času za to. S Kerio Personal
Firewallem se můžete pravidelně setkávat též na PC WORLD CD-ROMu. Jelikož je
tento produkt tolik oblíbený a úspěšný, podíváme se na něj podrobněji a
popíšeme si některé jeho funkce. Po přečtení následujících několika řádků by
měl být každý z vás schopen nainstalovat vlastní firewall a definovat si na něm
příslušná pravidla. Začneme tedy instalací. Instalace je standardní a nepůsobí
žádné vážné problémy. Po jejím dokončení bude třeba systém restartovat, aby
došlo k natažení a spuštění potřebných modulů. Ve vašem trayi se poté objeví
nová ikona ve tvaru štítu. Pokud na ikonu dvakrát poklepete, otevře se vám
okno, kde je zobrazen stav všech připojení. Pokud si přejete program nastavit,
což je po instalaci celkem pravděpodobné, otevřete si administrační část
firewallu a to buď klasicky přes nabídku Start, nebo klikněte pravým tlačítkem
na ikonu v trayi a zvolte Administration. Měli byste vidět okno podobné tomu na
obrázku.

První záložku zatím necháme být a povíme se něco o těch dalších. Na záložce
Authentication lze nastavit přístupové heslo k administrační nebo statistické
částí firewallu. To je užitečné zejména v případě víceuživatelského počítače,
kdy si správce toho počítače přeje zablokovat určité adresy. Na kartě
Miscellaneous si můžete zvolit další vlastnosti, jako je například rozlišováni
DNS jmen (DNS name resolving), automatická aktualizace programu nebo
automatické spouštění po startu Windows. Nyní se ale vraťme k první kartě, ze
které se nastavuje to nejdůležitější, a sice pravidla firewallu. Na této kartě
si můžete pomocí posuvníku zvolit výchozí úroveň zabezpečení. Na výběr máte ze
tří možností. Úroveň Permit Unknown znamená, že pokud firewall narazí na nějaký
požadavek na spojení, který není definován v pravidlech, implicitně jej povolí.
Toto není příliš šťastné řešení, pokud předem nevíte, co budete chtít omezit.
Druhá úroveň Ask Me First je výchozí a zároveň také nespolehlivější. Při tomto
nastavení se vás firewall pokaždé zeptá, pokud narazí na neznámý požadavek na
připojení. O tomto dotazu si povíme za okamžik. Třetí, nejvíce bezpečnou úrovní
je Deny Unknown. Při aktivované této úrovni zabezpečení počítač odmítá
jakékoliv požadavky na spojení, které nezná. Na tuto úroveň byste si měli
rovněž dát pozor, neboť vám po její aktivaci nemusí spousta věcí fungovat.
Dejme tedy tomu, že jsme zvolili úroveň Ask Me First. Uložíme tedy tuto úroveň
a pokusíme se otevřít nějakou síťovou aplikaci, například Outlook Express.
Pokud jste již v tu chvíli připojeni k síti, zobrazí se vám okno s informační
hláškou, která oznamuje, že aplikace Outlook Express se snaží odeslat nějaká
data. Na vás je rozhodnout se, zda to povolíte, nebo ne. Pokud nepatříte k
zarytým odpůrcům tohoto e-mailového klienta, kliknete pravděpodobně na tlačítko
Permit (Povolit), a ne na Deny (Zakázat). Můžete si ale vybrat i další možnosti
a svou volbu blíže specifikovat.

Pokud zatrhnete tlačítko Create appropriate filter rule..., nebude se vás už
firewall v budoucnu ptát, zda chcete povolit této aplikaci přístup. Můžete
rovněž kliknout na tlačítko Customize rule a pravidla dále specifikovat.

Jak vidíte na obrázku můžete například specifikovat lokální port, vzdálenou
adresu nebo vzdálený port. Pokud tedy například chcete povolit uživatelům
prohlížení jen vlastní firemní stránky, nastavte u pravidel Internet Exploreru
jen adresu vašeho serveru.


Specifikace dalších pravidel

Než nastavíte všechna pravidla, která si přejete, bude vám to jistě chvíli
trvat a ze začátku vám to možná nebude připadat jako jednoduché řešení. Věřte
ale tomu, že jakmile jednou daná pravidla nastavíte, bude vám firewall dobře
sloužit k vaší plné spokojenosti. Musíte ale vzít zároveň v potaz, že jakmile
jednou nějakou aplikaci povolíte na firewallu, ztrácíte nad ní kontrolu.
Aplikace pak může bez vašeho vědomí odesílat data, která si nepřejete. Proto
vždy dobře zvažte, které aplikaci přístup povolujete. Neznámým aplikacím, o
nichž si nejste jisti, co chtějí odeslat, přístup raději zakažte.