Firewall využívá všech mechanizmů, které jsme popsali v předchozích kapitolách, tj. filtrací, wrappery, proxy, gateway či SOCKS.
Zejména firewally tvořené jedním počítačem jsou striktně dedikované, tj. realizované na počítačích vyhrazených pouze pro tento účel. Provozování jiných aplikací na firewallu přináší taková bezpečnostní rizika, jejichž efekt je takový jako kdybychom vnitřní síť připojili k Internetu bez jakékoliv ochrany.
Firewall je zcela bezpečné oddělení Intranetu od Internetu na linkové vrstvě. Firewall fyzicky ví, zda-li datový rámec přišel z Intranetu nebo z Internetu.
Standardní knihovny TCP/IP aplikační vrstvě nejsou schopny předat (zaručit) z jakého síťového interfejsu (z jaké sítě) datový rámec přišel. Takže při použití klasické proxy máme vždy obavu, nepodvrhuje-li nám náhodou někdo z Internetu paket jakoby přišel z vnitřní sítě.
Firewally realizované více počítači používají (teoreticky) standardní knihovny TCP/IP. Pouze operační systém jednoho z počítačů, který má dva síťové interfejsy je rozšířen o filtraci IP-datagramů (tzv. screening někdy též honosně firewalling). Standardní operační systém mající více síťových interfejsů provádí (nebo neprovádí) pouze routing, tj. pracuje jak router bez jakékoliv filtrace.
Firewally realizované jedním počítačem ve značném rozsahu nepoužívají standardní knihovny TCP/IP. Vycházejí vždy z nějakého operačního systému, který je ale vždy silně okleštěn a některé komponenty má přepracovány. Takovýto fireewall je na úrovni zdrojových textů programů těžko přenositelný.
Jaký firewall si zvolit? To opravdu není lehká otázka. S volbou firewallu souvisí i volba strategie přístupu firmy k Internetu. Vyplatí se do odpovědi na tuto otázku investovat. Vyplatí se si nechat vypracovat od zkušeného odborníka projekt, který zohlední všechny aspekty. Je třeba se na to podívat i z druhé strany: v případě ne zcela optimálního rozhodnutí se firma neoptimálnímu stavu postupně přizpůsobí. Mnohé věci se automaticky začnou provádět pracněji než je třeba (zaměstná se více zaměstnanců než je třeba) nebo občas někdo zneužije firemní data, takže firma přijde o nějaký zisk atd.
Nemohu neuvést jedno kuriózní rozhodnutí blíže nejmenované české firmy spravující data značného významu. Její šéf přišel s tím, že se rozhodl pro jistý jednopočítačový firewall běžící na Window NT, protože firewall je takové to PC, které se v podstatě nepoužívá, ale když už musí být, tak na něm může udělat konta pro všechny písařky. Když některé z nich nepůjde PC, pak může jít psát na firewall a pomocí protokolu NetBEUI to uloží na síťový disk. Nenechá-li si to takovýto člověk vysvětlit, pak jste-li v roli dodavatele mu dodáte co chce ale o správu fireweallu jako další službu nejevíte zájem. V případě, že jste zaměstnanci, pak jste konečně pochopili, že tato firma pro Vás není to pravé ořechové.
Zásadní rozhodnutí je, zda-li použít jednopočítačový firewall nebo vícepočítačový. Velké strategické firmy používají nejčastěji vícepočítačové firewally. Jakou firmu ale považujeme za velkou? Hrubou hranicí je skutečnost, že ve firmě se bude přistupovat do Internetu z více jak 500 počítačů. Kupodivu i v České Republice se takovéto firmy rozhodují pro vícepočítačové systémy.
Největší překážkou pro nasazení vícepočítačového firewallu je nákup více počítačů, i když v konečném důsledku (jak si vysvětlíme) musí stejně nakonec firma pořídit počítače tři, tak ty tři počítače nekupuje jako firewall, ale postupně.
Vícepočítačové firewaly jsou modifikovatelné zcela na míru podle potřeb firmy. Přímo na počítačích firewallu se spouští aplikace, kterými se firma prezentuje v Internetu.
Jednopočítačové firewaly naproti tomu směřují k boxu, který se umístí mezi ostatní prvky strukturované kabeláže. Firma CISCO nabízí takovýto box pod názvem firewall PIX, který má podobný konfigurační jazyk jako routery firmy CISCO, od kterých se příliš neliší ani rozměry. Firma CISCO nezatěžuje zákazníky informacemi o tom, na jakém typu operačního systému je tento firewall postaven.
Firma DIGITAL také na veletrzích předvádí svůj jednopočítačový firewall Alta Vista na serveru zabudovaném do rack mount (stojanu s rošty) strukturované kabeláže. Asi by s Vámi u DIGITALů raději udělali obchod s instalací jejich speciality vícepočítačovým firewallem SEAL dnes označovaným jako Digital Firewall Service. Ale veletrh není to pravé místo, kde se takovéto zboží příliš ukazuje - podobně jako na veletrzích se asi příliš neukazují jaderné zbraně. Ti, kteří si totiž takové zboží kupují už předem dobře ví, co kupují.
Při rozhodování o typy firewallu není na škodu jistý konzervatizmus,
tj. dávat přednost prověřeným technologiím - např. UNIXu.
Klasická sestava firewallu SEAL se skládá ze tří počítačů, které jsou označované: gatekeeper, gate a mailgate. Počítač gatekeeper a jeden interfejs počítače gate je na vnější síti označované jako REDnet (červená síť). Druhý interfejs počítače gate a počítač mailgate je umístěna na vnitřní (již bezpečné síti) BLUEnet (modrá síť).
Počítač gatekeeper slouží zejména pro proxy. Počítač gate slouží jako filtr a počítač mailgate jako vnitřní mailový, news a DNS server.
Na počítači gatekeeper jsou spouštěny proxy pro jednotlivé aplikace (TELNET, FTP, HTTP atd.). Sestava firewallu je snadno rozšiřitelná i na více počítačů v případě firmy jejíž komunikace s Internetem je velmi velká. Rozšíření se provede tak, že se místo jednoho počítače gatekeeper instaluje více počítačů mezi něž se jednotlivé proxy rozdělí. Rovněž je možné na tyto počítače instalovat např. WWW server www.firma.cz nebo anonymní FTP-server, kterými se firma prezentuje v Internetu.
Není však zcela praktické kombinovat proxy a prezentační servery na jednu LAN. Důvodem je nejenom skutečnost, že prolomením ochrany na jeden ze serverů by si mohl útočník po přihlášení spustit program na sledování provozu LAN a odchytnout tak i přístupová hesla na ostatní (tomu je možné zabránit přepínaným Ethernetem nebo přepínaným FDDI), ale zejména skutečnost, že technologie LAN jsou pomalejší než sériové linky, kterými se velké firmy připojují do Internetu. Např. je-li firma připojena sériovou linkou 155 Mb/s, pak jedna LAN na bází Ethernetu ani FDDI by takovou kapacitu nevyužila.
U velkých firem jsou jejich WWW-servery tak zatěžovány, že je to nad sílu jednoho počítače, proto je výhodné použít v těchto případech např. NAT.
Pro protokol TELNET se používá proxy telnetxd, protokol FTP se používá proxy ftpxd a pro protokol HTTP se spouští HTTP-server, který umí pracovat též jako proxy (např. CERN).
Programy telnetxd a ftpxd mají v sobě přímo zabudovánu jednoduchou autentizaci (jednoduchý "wrapper"). Program telnetxd má konfigurační soubor hosts.telnetxd a program ftpxd má konfigurační soubor hosts.ftpxd. V těchto konfiguračních souborech správce firewallu specifikuje, kteří klienti mohou používat proxy. Klent se specifikuje na základě své IP-adresy. Dále se klient může specifikovat na základě skutečnosti, že je správně zaveden v reverzním DNS, tj. proxy se pokusí pomocí DNS najít k IP-adrese jméno počítače, je-li výsledek překladu záporný, pak se jedná o neznámého (UNKNOWN) klienta. Tento typ autentizace je určen zejména pro klienty vnitřní sítě.
Chtějí-li přistupovat klienti z Internetu do vnitřní sítě, pak jednoduchá autentizace na základě IP-adresy klienta se považuje za nedostatečnou. Pro takovýto případ se klienti vybavují autentizačními pomůckami (např. autentizačním kalkulátorem), pomocí kterých si generují heslo na jedno použití. Tito klienti jsou před přístupem do vnitřní sítě autentizování wrapperem, který podporuje práci s příslušnými pomůckami. O každém klientu jsou vedeny v tzv. autentizační databázi informace podstatné pro jeho autentizaci.
V případě vícepočítačového firewallu je možné udržovat databázi s autentizačními informacemi na počítači mailgate, protože je na bezpečné (modré) síti. Nad autentizační databází pracuje autentizační server, který provádí vlastní výpočty spojené s autentizací. Na počítači gatekeeper pak běží wrapper přijímací požadavky klientů. Každý požadavek si nechá prověřit od autentizačního serveru.
Nesmíme také zapomínat na správce firewallu. Správce firewallu sedící ve vnitřní síti může chtít protokoly TELNET a FTP přistupovat na jednotlivé počítače firewallu.Pro správce mohou běžet na těchto počítačích nejenom proxy, ale i servery pro protokoly TELNET a FTP. Je třeba si zvážit, zda-li vůbec takovýto přístup pomocí sítě správci firewallu umožníme nebo jej budeme nutit vždy spravovat firewall od konzole.
Pro případ, že umožníme správci přístup na jednotlivé počítače firewallu z vnitřní sítě je k dispozici wrapper netaccess, který autentizuje správce na základě IP-adresy jeho počítače, reverzního překladu DNS (je-li jeho počítač v reverzním DNS) a upraveným příkazem finger provádí zpětný dotaz, zda-li je správce na počítači uvedené IP-adresy vůbec přihlášen.
Pro protokoly TELNET a FTP můžeme mít následující typy přístupu:
U protokolu FTP je situace komplikovanější skutečností, že počítač
gatekeeper může sloužit též k prezentaci firmy na Internetu, tj. jako anonymní
FTP-server. Anonymní FTP-server by měl běžet na portu 23, protože anonymní
server běžící na jiném portu ztrácí anonymitu tím, že uživatel musí znát
číslo portu. Proto většinou klienti vnitřní sítě přistupující do Internetu
používají atypický port.
Příchozí pošta do domény firma.cz je pomocí MX záznamu v DNS z Internetu směrována na počítač gatekeeper.firma.cz. Počítač gatekeeper.firma.cz předá veškerou příchozí poštu na poštovní server mailgate, který je poštovním serverem vnitřní sítě. Na počítači mailgate.firma.cz mohou běžet gatewaye do jiných poštovních systémů pracujících ve vnitřní síti (např. poštovní protokol Mail-11 protokolu DECnet). Nebo může být pošta směrována např. na server Windows NT s poštovním systémem MS Exchange atp.
Existuje i odlišné řešení. Mail a News server zůstanou v Internetu před firewallem. Klienti vnitřní sítě si vybírají poštu protokolem POP3 nebo IMAP z poštovního serveru. Jedná se o přístup klientů z vnitřní sítě na server Internetu.
Obdobně lze využít news servery Internetu pro klienty vnitřní sítě. Vzhledem k ohromnému přenosu dat mezi news servery je provoz klientů na news server vždy podstatně menší než krmení vlastního news serveru.
Při tomto řešení je možné využít jako mail a news server počítač gatekeeper nebo i přímo servery providera.
V tomto případě je v Internetu možné přeložit libovolné jméno počítače z vnitřní sítě na IP-adresu a naopak. Pro vnitřní síť není zcela korektní používat IP-adresy pro vnitřní (uzavřené) podnikové sítě, protože tyto adresy by se Internetu neměly vůbec vyskytnout. Z bezpečnostního hlediska není příjemné, že v Internetu je dostupný seznam všech počítačů vnitřní sítě a jejich IP-adres.
Jelikož je potřeba mít stále alespoň dva name servery pro každou doménu, tak jako sekundární name server pro Internet můžeme zvolit name server providera a jako sekundární name server pro vnitřní síť zvolíme některý z jiných serverů vnitřní sítě.
V tomto případě máme dvě domény firma.cz. Jednu ve vnitřní síti a druhou v Internetu. Každá obsahuje samostatná data pro doménu firma.cz. Je tedy možné mít v doméně firma.cz na primárním name serveru mailgate pouze nejnutnější záznamy, tj. záznamy o počítači gatekeeper (včetně MX záznamů pro firma.cz) a případně záznamy o dalších serverech, na kterých prezentujeme naší firmu v Internetu. V žádném případě není třeba udržovat v tomto DNS záznamy o počítačích vnitřní sítě včetně počítače gate.
Záznamy o počítačích vnitřní sítě jsou umístěny na primárním name serveru mailgate. Záznam o počítači gate není třeba mít ani na tomto primárním name serveru. Počítač gate nemusí totíž být v DNS vůbec.
Name servery vnitřní sítě jsou autoritativní name servery pro doménu firma.cz. Tj. s konečnou platností přeloží jména z domény firma.cz. Pro případ požadavku na překlad jmen jiných domén jsou konfigurovány jako slave servery. Tj. tyto požadavky přesměrují na forwarder server (gatekeeper), který za pomoci root name serverů Internetu provede překlad a výsledek vrátí do vnitřní sítě.
Ve vnitřní síti je možné přeložit jméno z libovolné domény v Internetu. To je nutné např. při používání transparentní proxy. U jiných vnitřních sítí však může být překlad jmen z Internetu nežádoucí. V takových sítích může být požadováno, aby se ve vnitřní síti nevykytovaly jiné IP-adresy než IP-adresy vnitřní sítě, tj. jiné IP-adresy než IP-adresy vnitřní sítě nejsou ve vnitřní síti dopravovány. Pak skutečnost, že jméno bylo přeloženo na IP-adresu, která se ve vnitřní síti nevyskytuje způsobí pokus o doručení nedoručitelného IP-datagramu (network unreachable).
Řešením je vybudovat ve vnitřní síti zcela oddělené DNS, tj. vybudovat DNS včetně privátních root name serverů. V takovém případě se budou opravdu překládat pouze jména z vnitřní sítě a jména z Internetu se už nepřeloží.
Je však třeba vybudovat takové DNS mimo počítače firewallu. Tj. pro root name servery i servery domén firma.cz využít jiné počítače vnitřní sítě.
Počítač mailgate nakonfigurujeme tak, aby byl sekundárním name serverem pro domény firma.cz vnitřní sítě (nikoliv sekundárním name serverem pro root name servery vnitřní sítě!!) a vystupoval v roli slave serveru s forwarderem gatekeeper. Tj. počítač mailgate bude umět na rozdíl od ostatních name serverů vnitřní sítě provádět překlady z domény firma.cz vnitřní sítě, ale přeloží i všechny ostatní domény Internetu. Na počítač mailgate se nebudou směrovat resolvery klientů vnitřní sítě. Nasměruje se na něj pouze resolver počítače gatekeeper.
Toto řešení zcela oddělí DNS vnitřní sítě a Internetu. Pouze klienti počítače gatekeeper přeloží jak jména z vnitřní sítě, tak i z Internetu. DNS se i v tomto případě na počítačích mailgate a gatekeeper jeví stejně jako když vnitřní síť neměla privátní root name servery a ve vnitřní síti bylo možné přeložit i jména z Internetu.
V obou těchto případech je reslover počítače gatekeeper nasměrován na name server mailgate a počítač mailgate vystupuje jako slave server vůči počítači gatekeeper.
Jedná se o tedy o jakousi zvláštnost, protože u name serverů jsme zvyklí, že resolver je na těchto počítačích nasměrován zpravidla na místní name server (tj. na IP-dresu 127.0.0.1). Postup překladu je znázorněn na následujícím obrázku:
Je třeba upozornit na skutečnost, že počítače na kterých běží
name server i resolver někdy používají společnou cache pro name server
i resolver. Tuto techniku nelze na počítači gatekeeper připustit. Obě komponenty
musí mít oddělenou cache nebo je nutné odpovědi resoveru do cache alespoň
neukládat. V opačném případě by resolver postupně do společné cache při
překladech ukládal překlady jmen z vnitřní sítě a naučil by tak name server
překládat jména vnitřní sítě, což je nežádoucí.
Já využívám pro vnitřní síť jako celek adresu 10.0.0.0/8, která se v jednotlivých lokalitách dělí na subsítě (např. z hlediska krajů s maskou /16 a z hlediska místních lokalit s maskou /24). Avšak pro BLUEnet nevyužiji žádnou subsíť sítě 10.0.0.0, ale např. síť 192.168.0.0 rovněž určenou pro uzavřené podnikové sítě. Pak se vnitřní síť z hlediska počítačů tvořících firewall jeví jako síť 10.0.0.0/8 a problematika routingu jednotlivých subsítí sítě 10.0.0.0 je až někde za přístupovým routerem do privátní WAN:
Přesný čas vysílá celosvětově síť dlouhovlných radiový vysílačů. Jsou k dostání příjímače tohoto signálu, které se připojují k počítači. Na počítači pak běží software, který tyto informace zpracovává a seřizuje podle něj vestavěné hodiny počítače.
Počítač s přijímačem časového signálu se v sítí označuje jako Time Provider (poskytovatel času). V síti je třeba mít více poskytovatelů času.
Z poskytovatelů času se informace šíří Internetem protokolem NTP dále. Další servery mají správně seřízen čas - stanou se tak také poskytovateli času (nižší úrovně) označované jako NTP servery. Z těchto NTP serverů se informace šíří dále na NTP servery nižší úrovně atd.
Protokol NTP využívá UDP-datagramy.
Nejbezpečnější doporučení pro vnitřní síť je, aby si zákazník zřídil privátní time providery a z nich řídil čas vnitřní sítě i čas na počítačích tvořících firewall (není to ani příliš nákladné).
Když není zbytí a musí se přijímat protokol NTP z Internetu, pak jej přijímáme pouze na počítač gatekeeper, kterému nastavujeme takto čas. Počítač gatekeeper nakonfigurujeme jako NTP server, který poskytuje čas ostatním serverům firewallu i ostatním serverům vnitřní sítě.