V případě, že se ve firmě používají právě programy telnet, ftp nebo snad rlogin a všichni uživatelé sedí na Ethernetu vzájemně neodděleni ani bridgem, mnozí tvrdí, že snad ani nemá cenu používat hesla.
Právě filtrace na linkové vrstvě může jednotlivé uživatele od sebe oddělit tak, že si vzájemně nevidí do svých rámců. Řešením je právě použití přepínaného Ethernetu, tj. každý uživatel má vlastní segment, který je oddělen bridgem od ostatních.
V případě větších sítí, které používají páteř z FDDI (Ethernet ani FastEthernet není pro páteř příliš vhodný), je důležité dbát na to, aby na páteři byly jen servery nikoliv uživatelské stanice (např. PC). Operační systémy serverů mohou pomocí přístupových práv omezovat "odposlouchávání provozu sítě" běžným uživatelem.
Filtrace na linkové vrstvě se provádí na aktivních prvcích LAN nazývaných switch. Switch předává rámce z interfejsu na interfejs podle údajů ve své tabulce. Vhodným naplněním těchto tabulek je možné i nastavit, aby někteří rizikoví uživatelé neměli na určité segmenty přístup.
Když se v Internetu řekne slovo filtrace, pak se rozumí filtrace na úrovni protokolů IP, TCP a UDP.
Filtrace je metoda ochrany sítě připojené k Internetu proti útokům cizích uživatelů. Filtrace se provádí na routeru. Software realizující filtr bývá součástí systému dodávaného s routerem.
Filtrace se realizuje filtrem, který se vkládá mezi síť, kterou chceme chránit, a Internet. Filtr je zpravidla jednou z funkcí přístupového routeru. Mate-li zakoupen rozumný přístupový router (např. CISCO), pak vás filtrace nebude stát žádné další investice. Stačí ji pouze nastavit. Pro úplnost je třeba dodat, že v praxi se můžete setkat i s filtry realizovanými na počítačích s více síťovými interfejsy a operačním systémem typu UNIX.
Cílem filtrace je vytvořit polopropustný filtr, který umožňuje vlastním zaměstnancům přístup do Internetu, ale zamezuje přístup cizím uživatelům do naší sítě. Proto se často takovýto filtr přirovnává k diodě (pro elektrikáře) nebo k semipermeabilní membráně (pro biology).
Ochranu filtrem samotným nebo v kombinaci s proxy používá v Internetu 80 až 90% firem, které nějakou ochranu provádí. Komplexnější ochrana firewallem je používána asi u 10% firem. Součástí firewallu je mj. i filtrace a proxy.
V případě, že vaše firma si zvolí ochranu filtrací, případně ochranu filtrací doplněnou o proxy, pak je ve většině případů dobré použít přístupový router s dvěma interfejsy pro LAN a alespoň jedním interfejsem pro sériovou linku.Výhody takovéhoto řešení využijete i v případě, když přejdete k firewallu. V dalších kapitolách uvedeme ilustrační příklady.
Na obrázku šipky nevyjadřují přenos dat, ale pouze směr přístupu. Přenos dat je vždy obousměrný. Klient posílá do Internetu datové pakety s požadavky a zpět z Internetu chce získávat data.
Ochrana sítě pouze filtrem je nedostatečná zejména ve dvou případech:
Princip filtru spočívá v tom, že na rozdíl od správně vychovaného routeru se podívá dovnitř do IP-datagramu na jeho IP-záhlaví a případně i do záhlaví TCP (resp. UDP) paketu a rozhodne se, zda takový paket do příslušného interfejsu předá nebo zda jej zahodí.
Filtr se rozhoduje na základě obsahu záhlaví IP-datagramu a záhlaví TCP/UDP-paketu. Jistou zvláštností je filtrace protokolu ICMP, o které se také zmíním.
Poznámka: IP-záhlaví může volitelně obsahovat položky source routing. Pomocí těchto položek může odesilatel předepsat IP-adresy routerů, přes které má být IP-datagram Internetem dopravován. Je tedy možné tuto položku použít k odklánění IP-datagramů z jejich standardní cesty. Mnohdy jsou IP-datagramy s položkou source routing považovány za podezřelé a mnohé routery umí takovéto pakety také odfiltrovávat. Jedná se spíše však o okrajovou záležitost.
Co lze od filtrace na úrovni IP-protokolu očekávat?
Filtrem lze omezit komunikaci tak, aby spolu mohly přes router komunikovat
jen počítače o zadaných IP-adresách. Kromě jednotlivých IP-adres je ve
filtrech možné zadávat i adresy sítí, subsítí či supersítí.
Pro další úvahy si vybudujeme hypotetickou podnikovou síť Intranet a připojíme jí pomocí routeru k Internetu. Náš hypotetický podnik má přiděleny IP-adresy 128.1.2.0/24, tj. IP-adresy 128.1.2.0 až 128.1.2.255 neboli síť 128.1.2.0 s maskou 255.255.255.0
Náš podnik chce komunikovat skrze Internet se svým partnerem, který má přiděleny IP-adresy 128.1.1.0/24.
Nejprve se podíváme na případ, kdy pomocí filtru omezíme komunikaci
pouze mezi naši síť a síť našeho partnera. Na routeru budeme tedy aktivovat
filtr:
Pravidlo | Adresa odesilatele | Adresa Příjemce | Povolit/Zakázat |
A1 | 128.1.1.0/24 | 128.1.2.0/24 | Povolit |
A2 | 128.1.2.0/24 | 128.1.1.0/24 | Povolit |
default | 0.0.0.0/0 (vše) | 0.0.0.0/0 (vše) | Zakázat |
Při tvorbě filtru jsou teoreticky možné dvě varianty. Buď se vše implicitně povolí a dopisují se pravidla specifikující, které počítače kam nesmí. Nebo naopak se implicitně vše zakáže a pouze vybraným se něco povoluje. Z bezpečnostních důvodů se většinou dává přednost druhé variantě (považuje se obecně za bezpečnější). Proto i filtr v našem případě obsahuje pravidla default1 a default2, které implicitně vše zakazují.
Bezpečnostní riziko při propojení dvou sítí přes Internet s filtrací na úrovni IP-adres spočívá v tom, že někdo v Internetu, kdo se nachází mezi oběmi sítěmi se nelegálně může prohlásit za IP-adresu, která patří protější síti. Tak může předstírat, že je naším protějškem a filtr to nemůže zjistit (tzv. man in the middle attack).
Proto v případě, že jsou dvě sítě propojeny pomocí Internetu, takovým způsobem, aby tvořili z hlediska přístupu jeden celek, zabezpečuje se toto spojení ještě dalšími prostředky. Příkladem řešení je tunel mezi těmito dvěma sítěmi. Oba konce tunelu (tzv. portály) si navzájem pomocí kryptografických metod prokazují svou totožnost a přenášená data dále např. šifrují nebo dokonce elektronicky podepisují. Routery některých výrobců ve svém operačním systému již obsahují některé tyto prostředky. Šifrování dat je ochrana např. i proti správci routeru, přes který náš provoz jde a který si může nechat jednotlivé přenášené datagramy např. uložit do souboru.
Pravidlor | Adresa odesilatele | Adresa Příjemce | Povolit/Zakázat |
B1 | 128.1.2.1 | 0.0.0.0/0 (vše) | Povolit |
B2 | 0.0.0.0/0 (vše) | 128.1.2.1 | Povolit |
default | 0.0.0.0/0 (vše) | 0.0.0.0/0 (vše) | Zakázat |
Dalším atakem je address-spoofing attack. Při tomto ataku útočník odesílá IP-datagramy s adresou odesilatele patřící do intervalu vnitřní sítě. Následující obrázek znázorňuje, jak se dostat skrze filtr z předchozí tabulky na počítač o IP-adrese 128.1.2.2 tím, že útočník použije jako svou IP-adresu adresu 128.1.2.1
IP-adresu útočníci volí tak, aby našli skulinku ve vašem filtru. Routery (nefiltrující) se nezabývají adresou odesilatele, takže IP-datagram s chybnou adresou odesilatele snadno putuje Internetem. Řeknete si, že to přece nemá smysl odesílat IP-datagramy s nesmyslnou adresou odesilatele. Namítnete, že útočník nemůže dostat odpověď, když uvedl špatnou IP-adresu. To mu nevadí, je vcelku snadné si odpověď nechat poslat mailem na jiný počítač (program sendmail přijme a dále pošle většinou vše co dostane).
Další co vás asi napadne je, no dobře, takhle lze poslat UDP-datagramy. Např. podvrhnout v DNS přiřazení jména počítače na jinou IP-adresu či změnit čas pomocí protokolu NTP - prostě jen to, co se dá udělat pomocí protokolu UDP. Ale TCP přece vyžaduje odpověď už při navazování spojení. Jenže když útočník ví co má odpovídat, tak může odpovídat na slepo aniž by byl vyzván. Útočník má pouze strach z toho, že mu atakovaný počítač odpovídá a odpovědi se někde ztrácí - např. na routeru. Router pak atakovanému počítači pošle ICMP protokolem zprávu o tom, že zahodil IP-datagram. Dostane-li atakovaný počítač tuto zprávu dříve než odezvu od útočníka, pak spojení uzavírá a útočník má smůlu.
Router neví na kterém síťovém interfejsu má Intranet a na kterém Internet. Z hlediska filtrace je užitečné označit, který interfejs přísluší vnitřní sítí a který Internetu. O IP-datagramech předávaných z Internetu do vnitřní sítě říkáme, že jsou směrem dovnitř. O datagramech směřujících z vnitřní sítě do Internetu říkáme, že jdou ven. Ve filtrech pak specifikujeme navíc i směr předávání IP-dataramů (dovnitř nebo ven).
Ví-li router, který interfejs má směrem do vnitřní sítě a který směrem ven, pak může i zjišťovat nepřišel-li mu z Internetu (na vnějiší interfejs) IP-datagram s adresou odesilatele z vnitřní sítě. To signalizuje zpravidla jeden ze dvou případů:
Pravidlo | Směr | Adresa odesilatele | Adresa Příjemce | Povolit/Zakázat |
A1 | dovnitř | 128.1.1.0/24 | 128.1.2.0/24 | Povolit |
A2 | ven | 128.1.2.0/24 | 128.1.1.0/24 | Povolit |
B1 | ven | 128.1.2.1 | 0.0.0.0/0 (vše) | Povolit |
B2 | dovnitř | 0.0.0.0/0 (vše) | 128.1.2.1 | Povolit |
default1 | dovnitř | 0.0.0.0/0 (vše) | 0.0.0.0/0 (vše) | Zakázat |
default2 | ven | 0.0.0.0/0 (vše) | 0.0.0.0/0 (vše) | Zakázat |
Ve filtrech uvádějte zásadně IP-adresy, nikoliv jména počítačů. Vyhýbejte se uvádění jmen počítačů, protože překlad jména počítače na IP-adresu pomocí DNS není nějak zabezpečen a lze jej snadno podvrhnout (viz address-spoofing attack).
Označení interfejsů na vnitřní a vnější je účelné jen u routerů, které mají jen dva síťové interfejsy. S takovýmto řešením se setkáváme zejména u routerů realizovaných počítačem s operačním systémem UNIX, kde jako filtr pracuje např. program screend. (Autoři tohoto programu nepoužívají termín filtr, ale termín screening.)
V případě routerů s více interfejsy se vytvářejí filtry pro každý interfejs zvlášť. Dodavatelé samostatných routerů (např. CISCO) vytváří společný operační systém pro celou řadu svých boxů (jednodušší mají méně interfejsů a složitější více), proto takový systém předpokládá více síťových interfejsů, při konfiguraci takovýchto routerů pak vytváříme filtry pro jednotlivé interfejsy. Pro každý interfejs může být navíc definován vstupní filtr (směr z interfejsu do routeru) a výstupní filtr (z routeru do interfejsu).
Dříve některé routery měly pro jednotlivé interfejsy jen výstupní nebo vstupní filtry.Pro routery umožňující jen výstupní (resp. jen vstupní) filtry bylo nutné vytvářet poměrně komplikované, dlouhé filtry. Pro některé situace nebylo možné filtr vytvořit vůbec.
Dnes zpravidla routery podporují pro každý interfejs jak výstupní, tak i vstupní filtr. Toto řešení přináší dvě výhody: