K A P I T O LA 10 Zabezpečení
Jistě budete souhlasit, že hlavní prioritou správce sítě by měla být ochrana citlivých a kritických dat spolu se síťovými prostředky před všemi druhy zneužití. Jste na správné straně - společnost Cisco nabízí skutečně efektivní bezpečnostní řešení, která k tomu poskytují potřebné nástroje. V této kapitole se zaměříme hlavně na to, jak chránit uživatele a interní síť. Hodně místa věnujeme prevenci nejčastějších hrozeb zabezpečení sítě pomocí směrovačů Cisco a firewallů se systémem lOS, které společně poskytují velmi výkonné integrované řešení na ochranu před mnoha typy průniků. Uvedeme základní fakta o tom, jak Cisco lOS Firewall poskytuje zabezpečení a vynucení zásad vzhledem k požadavkům interní a externí sítě. Ukážeme si také, jak navázat zabezpečená připojení k libovolným vzdáleným umístěním.
Přístupové seznamy (ACL - access control list) jsou integrální součástí bezpečnostních řešení Cisco. Příklady jednoduchých i pokročilých přístupových seznamů v této kapitole umožní zajistit bezpečnost datové sítě i minimalizovat většinu rizik pro bezpečnost sítě. Správné použití a konfigurace přístupových seznamů představuje důležitou součást konfigurace směrovačů, protože tyto seznamy patří mezi velice pružné síťové nástroje. Přístupové seznamy zásadně přispívají k efektivitě a funkčnosti sítě. Správcům pak poskytují mimořádnou úroveň kontroly nad tokem dat v rámci podniku. U přístupových seznamů mohou správci shromažďovat základní statistiky toku paketů a implementovat zásady zabezpečení. Lze také chránit citlivá zařízení před neautorizovaným přístupem.
V této kapitole rozebereme přístupové seznamy protokolu TCP/IP a MAC adres u přepínače vrstvy 2 a zmíníme se také o některých nástrojích, které jsou k dispozici při testování a sledování funkčnosti aplikovaných přístupových seznamů. Jakmile popíšeme Cisco lOS Firewall a konfiguraci přístupových seznamů pomocí rozhraní příkazového řádku, ukážeme si, jak konfiguraci usnadňuje nástroj Cisco SDM (Security Device Manager). Sítě VPN (virtual private network) sice mohou tvořit důležitou součást podnikové bezpečnosti, ale těmito sítěmi se budeme zabývat až v kapitole 1 4, "Rozlehlé sítě WAN".
Obvodové, firewallové a vnitřní směrovače
Často se setkáte s tím, že ve středních až velkých podnikových sítích jsou různé bezpečnostní strategie založeny na určité kombinaci vnitřních a obvodových směrovačů spolu s firewally. Vnitřní směrovače poskytují další úroveň zabezpečení sítě, protože monitorují provoz do různých částí chráněné podnikové sítě na základě přístupových seznamů. Umístění jednotlivých typů těchto zařízení znázorňuje obrázek 1 0.1.
V této kapitole a kapitole l l, "Překlady adres NAT (Network Address Translation)", budeme často používat termíny důvěryhodná síť a nedůvěryhodná síť. Proto byste měli vědět, kde se tyto části v typické zabezpečené síti nacházejí. Zóna DMZ (demilitarized zone) může v závislosti na konfiguraci firewallu používat globální (skutečné) internetové adresy nebo privátní adresy, ale obvykle zahrnuje servery HTTP, DNS, poštovní servery a další podnikové servery poskytující služby internetového typu.
Jak již víte, lze místo směrovačů nastavit ve vnitřní důvěryhodné síti sítě VLAN (virtual local area network) s přepínači. Přepínače pro více vrstev vybavené vlastními bezpečnostními funkcemi mohou někdy nahradit vnitřní směrovače (sítě LAN) a zvýšit výkon architektury se sítěmi VLAN. Rozeberme nyní bezpečnostní rizika, která hrozí v typické zabezpečené datové síti. Poté si ukážeme několik způsobů ochrany datové sítě pomocí sady funkcí Cisco lOS Firewall a přístupových seznamů.
Jaké známe bezpečnostní hrozby
Ano, je to tak: Bezpečnostní útoky se značně liší svou složitostí a závažností hrozby. K některým z nich dokonce dochází kvůli HUl neboli hloupé uživatelské ignoranci. (Tento termín sice v okruzích zkoušky nenajdete, ale uplatňuje se častěji, než byste čekali!) Všechno se v posledku odvíjí od plánování nebo jeho nedostatku. Internet, který dnes zastává nezastupitelnou roli, se vyvinul způsobem, jaký jeho tvůrci absolutně nepředpokládali. To je základní důvod, proč nyní máme takové problémy s bezpečností - většina implementací protokolu IP je z podstaty nezabezpečená. Není však třeba se bát, protože společnost Cisco nabízí několik triků, jak všechny potíže vyřešit. Nejdříve však prozkoumejme některé běžné typy útoků:
Útoky na aplikační vrstvě - tyto útoky se běžně soustřeďují na známé bezpečnostní díry softwaru, který obvykle funguje na serverech. K oblíbeným cílům patří FTP, sendmail a HTTP. Vzhledem k tomu, že příslušné účty mají nejčastěji "privilegovaná" oprávnění, mohou útočníci jednoduše získat přístup a zneužít počítač, kde jsou uvedené aplikace spuštěny.
"Autorooters" - můžete si je představit jako hackerské roboty. Hackeři často pomocí tzv. rootkitu testují, skenují a poté zachytávají data v strategicky umístěném počítači, který jim poskytuje "oči" do celé sítě, a to automaticky!
Zadní vrátka - jedná se prostě o cesty, které vedou do počítače nebo sítě. Pomocí jednoduchých průniků nebo komplikovanějšího kódu "trojských koní" mohou hackeři použít implantované trasy ke konkrétnímu hostiteli nebo dokonce síti kdykoli chtějí - samozřejmč dokud je neodhalíte a nezastavíte
Útoky DoS (denial of service) a DDoS (distributed denial of service) - tyto útoky jsou závažné a velmi těžko se před nimi brání. Avšak ani hackeři nemají respekt pi'ed sv}'mi kolegy, kteří tyto útoky spouštějí. Ačkoli jsou nepříjemné, dají se provést pomčrně snadno. ('li> znamená, že vaši síť múže položit nějaké desetileté dítě, což není příliš fér.) Princip je zalo;,en na zahlcení systému, který normálně poskytuj e určitou službu, Existuj e několik různých variant tohoto typu útoků:
Záplava TCP SYN - klient nejdříve inicializuje zdánlivě běžné připojení protokolu TCP a odešle serveru zprávu SYN. Server odpoví očekávaným způsobem a odešle zprávu SYN-ACK zpět klientskému počítači, který poté naváže spojení tím, že vrátí zprávu ACK. To vypadá bezproblémově, ale ve skutečnosti je během tohoto procesu - kdy je připojení otevřeno pouze napůl - napadený počítač doslova zaplaven napůl otevřenými připojeními a prakticky je vyřazen z provozu.
Útoky typu "ping of death" - pravděpodobně víte, že pakety protokolu TCP/lP mají maximální velikost 65 536 oktetů. Pokud to náhodou nevíte, nic se neděje. Měli byste však rozumět tomu, že při tomto útoku se jednoduše odesílají příliš velké pakety příkazu ping. Cílové zařízení se tak neustále restartuje, zamrzá nebo úplně havaruje.
TFN (Tribe Flood Network) a TFN2K (Tribe Flood Network 2000) - tyto nemilé malé triky jsou složitější, protože inicializují synchronizované útoky DoS z více zdrojů a mohou být zaměřeny na více zařízenÍ. Na jejich úspěchu se zčásti podílí tzv. "falšování IP", které si brzy vysvětlíme.
Stacheldraht - tento útok je v praxi kombinací metod a jeho název znamená v němčině "ostnatý drát". V zásadě je založen na útoku TFN doplněném o šifrování. Začíná mohutnou invazí na kořenové úrovni, po které následuje závěrečný útok typu DoS.
Falšování IP - princip tohoto útoku je zřejmý z jeho názvu - útočník uvnitř nebo vně sítě se maskuje jako důvěryhodný hostitelský počítač. Přitom používá jeden z těchto dvou postupů: Předloží IP adresu v rámci rozsahu důvěryhodných síťových adres, nebo použije schválenou a důvěryhodnou externí IP adresu. Vzhledem k tomu, že skutečná identita hackera se ukrývá za falšovanou adresou, často tím skutečné problémy teprve začínají.
Útoky prostředníka - tyto útoky zachytávají cenné síťové pakety. Viník často pracuje u poskytovatele internetových služeb a používá nástroj označovaný jako sledovací program (sniffer - viz dále) a aplikuje jej na směrovací a transportní protokoly.
Průzkum sítě - před nabouráním do sítě o ní hackeři často shromažďují veškeré dostupné informace, protože čím více toho o síti vědí, tím lépe ji dokáží narušit. Ke svým cílům využívají metody typu skenování portů, dotazů DNS a hromadných příkazů ping.
Sledování paketů - tento nástroj jsme již zmínili výše, ale neuvedli jsme jeho princip. Možná překvapivě se ve skutečnosti jedná o software. Funguje takto: karta síťového adaptéru je nastavena do promiskuitního režimu, takže všechny pakety zachycené na fyzické vrstvě sítě odesílá speciální aplikaci, která je třídí a analyzuje. Nástroj pro sledování paketů může odposlechnout některá vysoce cenná a citlivá data včetně hesel a uživatelských jmen. Tyto nástroje jsou proto velmi oblíbené u útočníků, kteří chtějí zcizit cizí identitu.
Útoky na hesla - tyto útoky mají mnoho podob a i když je lze realizovat mnoha sofistikovanými metodami typu falšování IP, sledování paketů a trojských koní, je jejich jediným účelem (překvapivě) zjištění uživatelských hesel, aby se mohl zloděj vydávat za oprávněného uživatele a využívat jeho privilegia a prostředky.
Útok hrubou silou - další softwarově orientovaný útok využívá program spuštěný v cílové síti, který se pokouší přihlásit k některému typu sdíleného síťového prostředku, jako je server. Pro hackera je ideální, pokud má napadený účet dostatečná oprávnění, protože poté může vytvořit zadní vrátka pro pozdější přístup a nutnost zadávání hesel úplně obejít.
Útoky s přesměrováním portu - tento přístup vyžaduje, aby se hacker úspěšně dostal do hostitelského počítače. Umožňuje přenášet přes firewall podezřelý provoz (který by byl normálně zakázán).
Útoky trojských koní a virů - tyto dva vektory jsou v zásadě velmi podobné. Jak trojské koně, tak viry infikují počítače uživatelů škodlivým kódem a do různé míry manipulují s paralýzou, ničením nebo dokonce likvidací! Jsou však mezi nimi určité rozdíly - viry jsou skutečně pouze nepříjemné programy připojené ke kódu command.com, což je náhodou hlavní příkazový interpret všech systémů Windows. Viry poté divoce odstraňují soubory a infikují všechny varianty souboru command.com, které mohou v nakaženém počítači najít. Rozdíl mezi viry a trojskými koni spočívá v tom, že trojské koně jsou v praxi kompletní aplikace vložené do kódu, díky kterému vypadají jako zcela odlišná entita. Tyto ničivé nástroje se například maskují jako jednoduchá neškodná hra!
Útoky se zneužitím důvěryhodnosti - dochází k nim, když někdo zneužije vztah důvěryhodnosti v rámci lokální sítě. Obvod podnikové sítě například často zahrnuje důležité počítače typu serverů SMTP, DNS a HTTP. Tyto servery jsou kvůli tomu značně zranitelné, protože se nacházejí ve stejném segmentu.
Po pravdě řečeno se nebudeme pouštět do podrobností ohledně toho, jak jednotlivé právě zmíněné hrozby zmírnit. To by totiž jednak přesahovalo rozsah této knihy, ale navíc metody, které si ukážeme, fungují jako účinná obecná prevence útoků. Naučíte se tolik triků, že dokážete odradit všechny útočníky s výjimkou těch nejodhodlanějších. V zásadě tedy v této kapitole najdete rady týkající se "zabezpečení sítí".
Jak potlačit bezpečnostní hrozby
Jaké řešení je při prevenci bezpečnostních hrozeb vhodné? Něco od firmy Juniper, McAfee, nebo snad jiný produkt typu firewall? Ale ne - nejspíš bychom měli zvolit něco od společnosti Cisco. Cisco nabízí velmi zajímavý produkt s názvem ASA neboli Adaptive Security Appliance. Má to však jeden nebo dva háčky - tento malý zázrak je poměrně drahý a jeho cena roste v závislosti na vybraných modulech (například prevence průniku). Nástroj ASA navíc přesahuje rámec cílů této knihy. Podle autora této knihy se jedná o nejlepší produkt na trhu. Software Cisco lOS funguje na více než 80 procentech páteřních směrovačů Internetu a pravděpodobně se jedná o nejkritičtější část síťové infrastruktury. Zůstaňme tedy při zemi a v rámci každodenních potřeb bezpečnosti internetového připojení, intranetu a vzdáleného přístupu použijme softwarové zabezpečení systému Cisco lOS, které se označuje jako sada funkcí Cisco lOS Firewall. Tento přístup je určitě rozumný, protože přístupové seznamy Cisco skutečně účinně chrání před mnohými běžnými bezpečnostními hrozbami. Pokud se navíc náhodou připravujete na zkoušku CCNA, je znalost fungování přístupových seznamů nejdůležitějším tématem této kapitoly!
Cisco lOS Firewall
Následuje seznam možností, díky kterým Cisco lOS Firewall zmírňuje některé běžné bezpečnostní hrozby:
Modul stavové kontroly lOS Firewall - jedná se o funkci ochrany obvodu sítě, protože poskytuje interním uživatelům bezpečnou kontrolu přístupu v závislosti na aplikaci. Často se označuje jako CBAC (ContextBased Access Control).
Detekce průniku - nástroj podrobné kontroly paketů, které dovoluje sledovat, zachycovat a reagovat na napadení v reálném čase, protože rozpoznává 102 nejčastějších charakteristik útoků a průniků.
Přenos hlasu přes firewall - funkce na aplikační úrovni, která je založena na znalosti toku volání protokolu a také relevantních otevřených kanálech. Podporuje hlasové protokoly H.323v2 a SIP (Session Initiation Protocol).
Kontrola ICMP - v zásadě povoluje reakce na pakety ICMP jako ping a traceroute, které pocházejí z vnitřní strany firewallu, zatímco zahazuje jiný provoz protokolu ICMP.
Autentizační proxy - nová funkce, která uživatelům kdykoli umožňuje autentizaci přístupu k síťovým prostředkům pomocí protokolů HTTP, HTTPS, FTP a Telnet. Uchovává osobní uživatelské profily síťového přístupu a automaticky je načítá ze serveru RADIUS či TACACS+ a posléze aplikuje.
Správa zásad cílových adres URL - sada funkcí, které se souhrnně označují jako filtrování adres URL.
Uživatelské firewally - v zásadě jde o přizpůsobené, uživatelsky specifické firewally ke stažení, které lze získat od poskytovatelů služeb. Přizpůsobené přístupové seznamy a další nastavení je také možné načíst z úložiště profilů serveru AAA.
Pořizování směrovačů a firewallů Cisco lOS - umožňuje automatické pořizování směrovačů, aktualizovaných verzí a zásad zabezpečení.
Detekce a prevence útoků DoS (denial of service) - funkce, která kontroluje hlavičky paketů a zahazuje všechny podezřelé pakety.
Dynamické mapování portu - typ adaptéru, který povoluje aplikace podporované firewallem na nestandardních portech.
Blokování apletů Java - chrání před zvláštními a nerozpoznanými aplety v jazyku Java.
Základní a rozšířené filtrování provozu
Cisco lOS Firewall umožňuje používat standardní, rozšířené a dokonce dynamické přístupové seznamy typu Lock-and-Key. Řízení přístupu lze nastavit v libovolném síťovém segmentu. Kromě toho je možné určit přesný typ provozu, který bude moci konkrétním segmentem procházet.
Podpora více rozhraní založená na zásadách - umožňuje řídit uživatelský přístup pomocí IP adresy a rozhraní v závislosti na zásadách zabezpečení.
Překlady adres NAT (Network Address Translation) - skrývá interní síť před vnějším okolím a tím zvyšuje zabezpečení. (O technologii NAT si povíme více v kapitole l l .)
Časové přístupové seznamy - určují zásady zabezpečení na základě přesného denního času a příslušného dne v týdnu.
Autentizace partnerských směrovačů - zaručuje, že směrovače budou získávat spolehlivé směrovací informace ze skutečných důvěryhodných zdrojů. (Předpokladem je směrovací protokol s podporou autentizace, jako např. RIPv2, EIGRP nebo OSPF.)
Když jste získali přehled o bezpečnostních hrozbách, příslušných funkcích produktu Cisco lOS Firewall a o tom, jak tento software využívat, zaměřme se podrobněji na oblast přístupových seznamů a ukažme si, jak lze pomocí přístupových seznamů omezit bezpečnostní hrozby. Tyto nástroje jsou skutečně účinné, takže jim věnujte dostatečnou pozornost.
Úvod do přístupových seznamů
K nejčastějším a nesnáze pochopitelným aplikacím přístupových seznamů patří filtrování nežádoucích paketů při implementaci bezpečnostních zásad. Můžete je například nastavit tak, aby přijímaly velmi konkrétní rozhodnutí o regulaci schémat provozu, takže k webovým prostředkům v Internetu získají přístup pouze určití hostitelé, ale jiní budou mít přístup omezen. Správná kombinace přístupových seznamů dává správcům sítě schopnost vynutit téměř libovolnou zásadu zabezpečení, kterou si dokáží vymyslet.
Přístupové seznam lze uplatnit dokonce v situacích, které nutně nemusejí zahrnovat blokování paketů. Dovolují například řídit, které sítě budou či nebudou oznamovány pomocí dynamických směrovacích protokolů. Postup konfigurace přístupových seznamů je stejný. Rozdíl spočívá jednoduše v jejich aplikaci - místo na rozhraní v tomto případě na směrovací protokol. Při tomto použití se přístupový seznam označuje jako distribuční seznam a nezastavuje oznámení směrování, ale jen řídí jejich obsah. Přístupové seznamy také dovolují třídit pakety pro služby řazení do fronty nebo služby typu QoS a umožňují nastavit, které typy provozu mohou aktivovat nákladnou linku ISDN.
Vytváření přístupových seznamů se v praxi velmi podobá programování řady příkazů if-then - pokud je daná podmínka splněna, provede se příslušná akce. Jestliže konkrétní podmínka splněna není, nic se nestane a vyhodnotí se další příkaz. Příkazy přístupových seznamů jsou v zásadě filtry, podle kterých se porovnávají, třídí a zpracovávají pakety. Po vytvoření lze seznamy aplikovat na příchozí nebo odchozí provoz libovolného rozhraní. Při použití přístupového seznamu směrovač analyzuje každý paket, který prochází přes rozhraní v příslušném směru, a provede odpovídající akci.
Při porovnávání paketů podle přístupového seznamu platí několik důležitých pravidel:
• Paket se vždy porovnává s každým řádkem přístupového seznamu v pevném pořadí. To znamená, že se vždy začíná od prvního řádku přístupového seznamu, pak se přejde k řádku 2, poté řádku 3 atd. • Porovnávání s řádky přístupového seznamu probíhá pouze tak dlouho, dokud není nalezena shoda. Jakmile paket odpovídá podmínce na řádku přístupového seznamu, je zpracován a k dalšímu porovnávání již nedochází. • Na konci každého přístupového seznamu se nachází implicitní příkaz "deny". Jestliže tedy paket nevyhovuje podmínce žádného řádku přístupového seznamu, je nakonec zahozen.
Každé z těchto pravidel pro filtrování paketů IP pomocí přístupových seznamů má určité závažné důsledky. Uvědomte si proto, že tvorba efektivních přístupových seznamů vyžaduje určitou praxi. Přístupové seznamy se dělí na dva hlavní typy:
Standardní přístupové seznamy - tyto seznamy používají jako testovací podmínku pouze zdrojovou IP adresu v paketu IP. Všechna přijímaná rozhodnutí jsou založena na zdrojové IP adrese. To znamená, že standardní přístupové seznamy v zásadě povolují nebo zakazují celé sady protokolů. Nerozlišují mezi mnoha typy provozu IP, jako např. protokoly HTTP, Telnet, UDP atd.
Rozšířené přístupové seznam - rozšířené přístupové seznamy umožňují vyhodnocovat mnohá další pole v hlavičkách vrstvy 3 a 4 paketu IP. Mohou analyzovat zdrojovou a cílovou IP adresu, pole protokolu v hlavičce síťové vrstvy a číslo portu v hlavičce transportní vrstvy. Rozšířené přístupové seznamy mohou díky tomu při řízení provozu uplatňovat mnohem jemnější pravidla.
Pojmenované přístupové seznamy - moment - před chvílí jsme uvedli, že existují dva typy přístupových seznamů, ale najednou uvádíme tři! Technicky jsou typy opravdu jen dva, protože pojmenované přístupové seznamy ve skutečnosti netvoří nový typ, ale jedná se buď o standardní, nebo o rozšířené přístupové seznamy. Budeme je však odlišovat proto, že se vytvářejí a odkazují odlišně než standardní a rozšířené přístupové seznamy, i když jsou funkčně stejné.
Poznámka Podrobněji se na tyto typy přístupových seznamů pOdíváme dále v této kapitole.
Vytvořený přístupový seznam se nijak neprojeví, dokud jej neaplikujete. Tyto seznamy jsou skutečně uloženy ve směrovači, ale nejsou aktivní, dokud směrovači nesdělíte, co s nimi má provést. Chcete-li použít přístupový seznam jako filtr paketů, musíte jej aplikovat na rozhraní směrovače, kde chcete provoz filtrovat. Navíc je nutné určit směr provozu, pro který bude přístupový seznam účinný. To má svůj dobrý důvod - můžete požadovat odlišná pravidla pro odchozí provoz z podnikové sítě do Internetu, než pro příchozí provoz z Internetu do lokální sítě. Když tedy uvedete směr provozu, můžete - a často dokonce musíte - použít odlišné přístupové seznamy pro příchozí a odchozí provoz na jediném rozhraní:
Příchozí přístupové seznamy - když přístupový seznam aplikujete na příchozí pakety daného rozhraní, jsou tyto pakety pomocí přístupového seznamu zpracovány dříve, než jsou směrovány na odchozí rozhraní. Žádné odmítnuté pakety nejsou směrovány, protože jsou zahozeny ještě před tím, než proces směrování začne.
Odchozí přístupové seznamy - když přístupový seznam aplikujete na odchozí pakety daného rozhraní, jsou tyto pakety směrovány na odchozí rozhraní a poté pomocí přístupového seznamy zpracovány dříve, než jsou zařazeny do fronty.
Existuje několik obecných pravidel, která je vhodné dodržovat při vytváření a implementaci přístupových seznamů u směrovače:
• Můžete přiřadit pouze jeden přístupový seznam pro jedno rozhraní, protokol a směr. Z toho vyplývá, že při vytváření přístupových seznamů IP může existovat pouze jeden příchozí a jeden odchozí přístupový seznam týkající se konkrétního rozhraní.
Poznámka Když se zamyslíte nad důsledky implicitního příkazu .deny" na konci každého přístupového seznamu, je pochopitelné, že pro stejné rozhraní, směr a protokol nelze aplikovat více přístupových seznamů. Všechny pakety, jež neodpovídají některé podmínce prvního přístupového seznamu, budou totiž zahozeny. Poté již nezůstanou žádné pakety, které by bylo možné porovnat s druhým přístupovým seznamem.
• Přístupové seznamy uspořádejte tak, aby byly konkrétnější testy na začátku.
• Každá nová položka, kterou přidáte do přístupového seznamu, je umístěna na jeho konec. Při úpravách přístupových seznamů je vhodné pracovat s textovým editorem.
• Z přístupového seznamu není možné odebrat jeden řádek. Pokud se o to pokusíte, smažete celý seznam. Než se seznam pokusíte měnit, je nejlepší zkopírovat jej do textového editoru. Jedinou výjimku představují pojmenované přístupové seznamy.
Poznámka Z pojmenovaného přístupového seznamu lze odstranit jediný řádek. Zakrátko si to ukážeme.
• Pokud přístupové seznamy nezakončíte příkazem permit any . budou zahozeny všechny pakety, které nesplní žádný z testů seznamu. Každý seznam by měl mít alespoň jeden příkaz permit, protože jinak zakáže veškerý provoz.
• Vytvořte přístupové seznamy a poté je aplikujte na rozhraní. Přístupový seznam použitý na rozhraní bez aktuálního přístupového seznamu nebude filtrovat provoz.
• Přístupové seznamy jsou navrženy tak, aby filtrovaly provoz procházející přes směrovač. Nefiltrují provoz, který je generován směrovačem.
• Standardní přístupové seznamy IP umístěte co nejblíže jejich cílovému umístění. Z tohoto důvodu zpravidla není vhodné v sítích používat standardní přístupové seznamy. Standardní přístupový seznam není možné umístit blízko zdrojového hostitele nebo sítě, protože dokáží filtrovat pouze podle zdrojových adres a nebylo by možné žádná data předat dále.
• Rozšířené přístupové seznamy IP umístěte co nejblíže zdrojovému umístění. Rozšířené přístupové seznamy umožňují filtrovat podle velmi konkrétních adres a protokolů. Není tedy žádoucí, aby data procházela celou sítí a nakonec byla zahozena. Umístíte-li tento seznam co nejblíže zdrojové adrese, můžete provoz filtrovat dříve, než začne konzumovat cennou šířku pásma sítě.
Než se pustíme do konfigurace základních a pokročilých rozšířených seznamů, rozeberme si, jak mohou přístupové seznamy zmírňovat bezpečnostní hrozby uvedené v předchozí části této kapitoly.
Potlačení bezpečnostních hrozeb s přístupovými seznamy
Následuje seznam mnoha bezpečnostních hrozeb, před kterými mohou přístupové seznamy chránit:
• Falšování IP adres, příchozí • Falšování IP adres, odchozí • Útoky DoS (denial of service) typu TCP SYN, blokování externích útoků • Útoky DoS (denial of service) typu TCP SYN, použití zachycení TCP • Útoky DoS smurf • Filtrování zpráv ICMP, příchozí • Filtrování zpráv ICMP, odchozí • Filtrování příkazu traceroute
Obecně je rozumné nepouštět do privátní sítě žádné pakety IP, které obsahují zdrojovou adresu jakéhokoli interního hostitele či sítě - rozhodně se tomu vyhněte! Uveďme si seznam pravidel, která je kvůli zmírnění bezpečnostních rizik dobré dodržovat při konfiguraci přístupových seznamů pro provoz směřující z Internetu do produkční sítě:
• Odmítněte všechny adresy ze svých interních sítí. • Odmítněte všechny adresy místních hostitelů ( 1 27.0.0.0/8). • Odmítněte všechny rezervované privátní adresy. • Odmítněte všechny adresy v rozsahu adres vícesměrového vysílání IP (224.0.0.0/4).
Do své datové sítě byste neměli pouštět data pocházející ze žádné z výše uvedených adres. Nyní se tedy můžeme pustit do konfigurace několika základních a pokročilých přístupových seznamů.
Standardní přístupové seznamy
Standardní přístupové seznamy IP filtrují síťový provoz na základě zdrojové IP adresy v paketu. Standardní přístupové seznamy IP lze vytvářet s čísly access-list 1 -99 nebo 1 300- 1 999 (rozšířený rozsah). Typy přístupových seznamů se obvykle odlišují pomocí čísel. V závislosti na čísle použitém při vytvoření přístupového seznamu směrovač ví, který typ syntaxe má při zadávání seznamu očekávat. Pomocí čísel z rozsahu 1 -99 nebo 1 300- 1 999 informujete směrovač, že chcete vytvořit standardní přístupový seznam IP. Směrovač tedy bude na testovacích řádcích očekávat syntaxi, která definuj e pouze zdrojovou IP adresu.
Následuje příklad mnoha číselných rozsahů příkazu access-list, pomocí nichž lze filtrovat síťový provoz (protokoly, pro které je možné nastavit přístupové seznamy, závisejí na verzi systému lOS):
Podívejme se na syntaxi, která se používá při vytváření standardních přístupových seznamů:
Jak jsme již uvedli, z čísel access-list 1 -99 nebo 1 300- 1 999 směrovač zjistí, že chcete vytvořit standardní přístupový seznam IP. Po výběru čísla access-list se musíte rozhodnout, zda budete vytvářet příkaz permi t nebo deny. V tomto příkladu vytvoříme příkaz deny:
Další krok vyžaduje podrobnější vysvětlení. K dispozici jsou tři možnosti. Pomocí parametru a ny lze povolit nebo zakázat libovolného hostitele nebo síť. IP adresa umožňuje uvést jediného hostitele nebo jejich rozsah, případně je možné příkazem hos t specifikovat konkrétního hostitele. Příkaz a ny je snadno pochopitelný - příkazu vyhovuje libovolná zdrojová adresa, takže se s tímto řádkem bude shodovat každý porovnávaný paket. Příkaz host je poměrně prostý. Uveďme si příklad jeho použití:
Na základě tohoto příkazu seznam odmítne všechny pakety z hostitele 1 72. 1 6.30.2. Výchozí parametr je hos t. Jinými slovy pokus zadáte příkaz access -1 i st 10 deny 1 72.1 6.3 0.2, směrovač předpokládá, že máte na mysli hostitele 1 72. 16.30.2. Konkrétního hostitele nebo jejich rozsah lze však definovat i jinak - pomocí maskování zástupných znaků. Chcete-li v praxi specifikovat jakýkoli rozsah hostitelů, musíte v přístupovém seznamu použít maskování zástupných znaků.
Co to je maskování zástupných znaků? V následujících sekcích si to vysvětlíme na příkladu standardního přístupového seznamu a ukážeme si také, jak řídit přístup k virtuálnímu terminálu.
Zástupné masky
Zástupné znaky v přístupových seznamech určují jednotlivého hostitele, síť nebo konkrétní rozsah sítě či sítí. Chcete-li rozumět pojmu zástupný znak (wildcard), musíte chápat význam velikosti bloku, která udává rozsah adres. Dostupné jsou například tyto velikosti bloku: 64, 32, 1 6, 8 a 4. Jestliže potřebujete určit rozsah adres, zvolíte následující větší velikost bloku, která odpovídá vašim požadavkům. Pokud chcete definovat 34 sítí, potřebujete velikost bloku 64. V případě 18 hostitelů vyhovuje velikost bloku 32. Jestliže specifikujete jen 2 sítě, postačí velikost bloku 4. Zástupné znaky u hostitelské nebo síťové adresy informují směrovač o rozsahu dostupných adres pro filtrování. Chcete-li určit hostitele, bude adresa vypadat takto:
172. 16.30.5 0.0.0.0
Čtyři nuly představují jednotlivé oktety adresy. Kdykoli je uvedena nula, znamená to, že oktet v adrese se musí přesně shodovat. Pokud chcete nastavit, že oktet může mít libovolnou hodnotu, zadejte místo nuly číslo 255. Následující příklad ukazuje, jak lze pomocí zástupných znaků definovat podsíť /24:
172.16.30.0 0.0.0.255
Tento zápis směrovači sděluje, aby vyhledal přesnou shodu v prvních třech oktetech, ale poslední oktet může mít libovolnou hodnotu. Tato část byla snadná. Jak ale postupovat, chcete-li definovat pouze malý rozsah podsítí? Zde se uplatní velikosti bloku. Musíte určit rozsah hodnot ve velikosti bloku. Jinými slovy se nemůžete rozhodnout, že nastavíte 20 sítí. Můžete uvést jen počet, který se přesně shoduje s velikostí bloku. Rozsah se může například rovnat 16 nebo 32, ale nikoli 20.
Řekněme, že chcete blokovat přístup do části sítě, která leží v rozsahu od 1 72. 1 6.8.0 do 1 72. 1 6. 1 5.0. To odpovídá velikosti bloku 8. Číslo sítě bude 1 72. 1 6.8.0 a zástupný znak bude mít tvar 0.0.7.255. Co to je? Podle čísel 7.255 směrovač zjistí velikost bloku. Hodnoty sítě a zástupného znaku informují směrovač, aby začal na adrese 1 72. 1 6.8.0 a postupoval po velikosti bloku s osmi adresami k síti 1 72. 16. 1 5.0. Opravdu je to snazší, než se zdá! Mohli bychom si předvést příslušnou binární matematiku, ale není to nutné. V praxi stačí, když si budete pamatovat, že zástupný znak je vždy o jednotku menší než velikost bloku. V našem příkladu tedy bude mít zástupný znak hodnotu 7, protože velikost bloku se rovná 8. Pokud bychom používali bloky velikosti 1 6, zástupný znak by byl 1 5. Nic na tom není, že?
Pro jistotu si však projdeme několik příkladů, abyste si vše dobře osvojili. Následující příklad směrovači sděluje, aby vyhledal přesnou shodu v prvních třech oktetech, ale na čtvrtém oktetu nezáleží:
Corp ( config )#access -lis t 10 deny 192.168.160.0.0.0.3 1.255
Při práci s velikostmi bloků a zástupnými znaky je potřeba mít na paměti ještě dvě věci:
• Každá adresa musí začínat nulou nebo násobkem velikosti bloku. Nelze například zvolit velikost bloku 8 a poté začít hodnotou 12. Je nutné uvést hodnoty 0-7, 8- 1 5, 16-23 atd. V případě bloku velikosti 32 se jedná o rozsahy 0-3 1 , 32-63, 64-95 atd.
• Příkaz any je ekvivalentní zápisu zástupného znaku 0.0.0.0 255.255.255.255.
Poznámka Chcete-Ii vytvářet přístupové seznamy IP, neobejdete se bez zvládnutí maskování zástupných znaků. Při vytváření standardních a rozšířených přístupových seznamů IP se postupuje shodně.
Příklad standardního přístupového seznamu
v této sekci se dozvíte, jak lze pomocí standardního přístupového seznamu zabránit určitým uživatelům v přístupu do sítě LAN oddělení Finance. Směrovač na obrázku 10.2 má tři připojení LAN a jedno připojení WAN do Internetu. Uživatelé v síti LAN Prodej by neměli mít přístup do lokální sítě Finance, ale měli by mít přístup k Internetu a oddělení Marketing. Lokální síť Marketing potřebuje přístup k síti LAN Finance kvůli aplikačním službám.
U směrovače na obrázku je nakonfigurován následující standardní přístupový seznam IP:
Lab_A(config)#access -list 10 permit 0.0.0.0
255 . 255 . 255.255
Maska zástupných znaků neuvádí žádné oktety pro vyhodnocení, takže testovací podmínce vyhOVUjí všechny adresy. Funkčně se tedy jedná o stejný příkaz jako u klíčového slova a ny. V této fázi je přístupový seznam nakonfigurován tak, aby odmítl přístup do lokální sítě Finance ze zdrojových adres v lokální síti Prodej a povolil přístup všem ostatním. Pamatujte však, že se neprovede žádná akce, dokud není přístupový seznam aplikován na rozhraní v konkrétním směru. Kam je však potřeba tento přístupový seznam umístit? Pokud jej umístíte jako příchozí přístupový seznam rozhraní EO, můžete rozhraní Ethernet zrovna vypnout, protože všem zařízením v lokální síti Prodej odepřete přístup do všech sítí připojených ke směrovači. Tento přístupový seznam je nejvhodnější nastavit na rozhraní El jako odchozí seznam:
Lab_A (config )#intel
Lab_A (con fig-ifl )# ip access -group 10 out
Tím zcela zastavíte odchozí provoz z adresy 1 72. 1 6.40.0 přes rozhraní Ethernet 1. Nastavení nijak neovlivní přístup hostitelů z lokální sítě Prodej do sítě Marketing a do Internetu, protože provoz do těchto cílových umístění neprochází přes rozhraní El. Každý paket, který je určen k odeslání z rozhraní El, musí nejdříve projít kontrolou podle přístupového seznamu. Pokud byste na rozhraní EO umístili příchozí seznam, musely by všechny pakety vstupující na rozhraní EO nejdříve absolvovat kontrolu podle přístupového seznamu, aby mohly být následně směrovány na výstupní rozhraní.
Podívejme se na další ukázku standardního přístupového seznamu. Obrázek 1 0.3 znázorňuje datovou síť se dvěma směrovači, třemi sítěmi LAN a jedním sériovým připojením WAN.
Chcete uživatelům sítě Uctarna zabránit v přístupu k serveru Personalistika připojenému ke směrovači Lab_B, ale povolit přístup k dané síti LAN všem ostatním uživatelům. Jaký standardní přístupový seznam vytvoříte a kam jej umístíte? V praxi by bylo lepší použít rozšířený přístupový seznam a umístit jej blíže ke zdroji, ale zadání požaduje, abyste použili standardní přístupový seznam. Standardní přístupové seznamy se zpravidla umisťují blíže k cíli - v tomto případě na odchozí rozhraní Ethernet O směrovače Lab_B. Přístupový seznam, který je potřeba nastavit u směrovače Lab_B, vypadá takto:
Než přejdeme k omezení přístupu ke směrovači protokolem Telnet, podívejme se ještě na jeden příklad standardního přístupového seznamu, který je však poněkud náročnější na pochopení. Na obrázku 1 0.4 je znázorněn směrovač se čtyřmi připojeními LAN a jedním připojením WAN do Internetu. Potřebujete napsat přístupový seznam, který zastaví přístup do Internetu z každé ze čtyřech sítí LAN ve schématu. Každá z lokálních sítí zobrazuje IP adresu jediného hostitele a z této hodnoty musíte určit podsíť a pomocí zástupných znaků nakonfigurovat přístupový seznam.
Jaký význam by mělo vytvoření tohoto seznamu? Pokud byste v praxi aplikovali tento přístupový seznam na směrovač, znemožnili byste tím přístup k Internetu. K čemu byste tedy vůbec internetové připojení potřebovali? Toto cvičení slouží jen k tomu, abyste si mohli procvičit použití velikostí bloku s přístupovými seznamy, což je zásadně důležité při studiu okruhů zkoušky CCNA.
Kontrola přístupu k lince VTY (Telnet)
Nejspíš těžko zabráníte uživatelům, aby se k velkému směrovači přihlašovali protokolem Telnet, protože každé aktivní rozhraní směrovače představuje snadný cíl pro přístup VTY. Můžete se pokusit o vytvoření rozšířeného přístupového seznamu IP, který omezí přístup typu Telnet na každou IP adresu směrovače. Pokud to však uděláte, musíte tento seznam aplikovat jako příchozí na každém rozhraní. Takové řešení by se rozhodně nehodilo pro velký směrovač s desítkami či dokonce stovkami rozhraní. Existuje však mnohem lepší varianta: Pomocí standardního přístupového seznamu IP lze řídit přístup k vlastním linkám VTY.
Proč to funguje? Když totiž aplikujete přístupový seznam na linky VTY, nemusíte uvádět protokol Telnet, protože přístup k lince VTY implikuje terminálový přístup. Není nutné specifikovat ani cílovou adresu. V praxi totiž vůbec nezáleží na tom, kterou adresu rozhraní uživatel zvolí jako cíl relace Telnet. Stačí pouze kontrolovat, odkud uživatel přichází - tedy zdrojovou IP adresu.
Chcete-li použít tuto funkci, postupujte následovně:
1. Vytvořte standardní přístupový seznam IP, který povolí jen hostitele, jimž chcete umožnit připojení ke směrovači protokolem Telnet.
2. Aplikujte přístupový seznam na linku VTY příkazem a c c e s s - c l a s s.
Uveďme si příklad, jak povolit přihlášení ke směrovači protokolem Telnet pouze hostiteli 172.16.10.3:
Z praxe Je vhodné u směrovače zabezpečit linky Telnet? Sledujete svou síť a všimnete si, že se někdo přihlásil k centrálnímu směrovači protokolem Telnet pomocí příkazu show users. Zadáte příkaz di sconnect, abyste uživatele odpojili od směrovače, ale o několik minut později je uživatel přihlášen znovu. Uvažujete o tom, že byste na rozhraní směrovače umístili přístupové seznamy, ale nechcete příliš zvyšovat latenci jednotlivých rozhraní, protože směrovač je již poměrně vytížen přenosem paketů. Přemýšlíte nad tím, že byste umistili přístupový seznam na vlastní linky VTY. Zatím jste to však nedělali a proto si nejste jisti, zda tento postup představuje bezpečnou alternativu k nastavení přístupových seznamů pro každé rozhraní. Je umístění přístupového seznamu na linky VTY v této sítí rozumné? Rozhodně - a nejlepŠí postup představuje příkaz a c c e s s - c l a s s, kterým se zabýváme v této sekcí. Proč? Nepoužívá totiž přístupový seznam, který by analyzoval každý paket procházející přes rozhraní v jednom či druhém směru. Tento postup může zvýšit režii směrování paketů. Když však umístíte příkaz access-cl ass na linky VTY, zajistíte tím, že se budou analyzovat a porovnávat pouze pakety, které jsou určeny pro přípojení ke směrovači protokolem Telnet. Elegantně tím dosáhnete bezpečného nastavení směrovače, které se snadno konfiguruje.
Vzhledem k implicitnímu příkazu deny a n y na konci seznamu znemožní přístupový seznam připojení ke směrovači protokolem Telnet každému hostiteli, s výjimkou hostitele 1 72. 1 6.10.3. Nezáleží při tom na tom, která z jednotlivých IP adres směrovače se používá jako cílová.
Tip SpOlečnost Cisco doporučuje, abyste se na linkách VTY směrovače připojovali misto protokolu Tel net raději pomocí SSH (Secure Shell). Další informace o protokolu SSH a jeho konfiguraci u směrovačů a přepínačů naleznete v kapitole 4.
Rozšířené přístupové seznamy
V příkladu se standardním přístupovým seznamem IP výše si všimněte, jak jsme museli zablokovat veškerý přístup z lokální sítě Prodej do sítě finančního oddělení. Jak ale postupovat v případě, že by zaměstnanci oddělení Prodej potřebovali přístup k některému serveru v lokální síti Finance, ale z bezpečnostních důvodů by nesměli přistupovat k ostatním síťovým službám? U standardních přístupových seznamů IP nelze uživatelům povolit přístup k jedné síťové službě, ale odepřít přístup k jiné. Jinak řečeno: potřebujete-Ii se rozhodovat na základě zdrojové i cílové adresy, standardní přístupový seznam to neumožní, protože přijímá rozhodnutí pouze v závislosti na zdrojové adrese.
Problém je ale možné vyřešit rozšířeným přístupovým seznamem. Rozšířené přístupové seznamy totiž dovolují určit zdrojovou a cílovou adresu a rovněž protokol a číslo portu, které identifikují protokol či aplikaci vyšší vrstvy. Pomocí rozšířených přístupových seznamů můžete účinně povolit uživatelům přístup do fyzické sítě LAN a zakázat jim přístup ke konkrétním hostitelům - nebo dokonce určitým službám těchto hostitelů. Uveďme si příklad rozšířeného přístupového seznamu IP:
Poznámka Chcete-Ii filtrovat podle protokolu aplikační vrstvy, musíte za příkazem permi t nebo deny zvolit příslušný transportní protokol vrstvy 4. Při filtrování provozu Telnet či FTP například zvolíte TCP, protože protokoly Telnet i FTP používají na transportní vrstvě protokol TCP. Kdybyste vybrali protokol IP, nemohli byste později u rčit konkrétní aplikační protokol.
Zde si výběrem protokolu TCP zvolíte filtrování protokolu aplikační vrstvy, který používá protokol TCP. Konkrétní port protokolu TCP určíte později. Dále se zobrazí výzva k zadání zdrojové IP adresy hostitele nebo sítě (chcete-Ii povolit libovolnou zdrojovou adresu, uveďte příkaz any ):
Následující příklad zajistí odmítnutí každé zdrojové IP adresy, která má cílovou IP adresu 1 72.1 6.30.2.
Nyní můžete stisknout klávesu Enter a přístupový seznam dále neměnit. V tomto případě však budete odmítat veškerý provoz protokolu TCP směřující na hostitele 1 72. 1 6.30.2, bez ohledu na cílový port. Můžete být dokonce ještě konkrétnější: Jakmile máte připraveny hostitelské adresy, stačí zadat typ blokované služby. Následující obrazovka nápovědy shrnuje dostupné možnosti. Je možné zvolit číslo portu nebo použít název aplikace či protokolu:
Vyzkoušejme v této fázi zablokovat protokol Telnet (port 23) pouze hostiteli 1 72. 1 6.30.2. Uživatelé se i nadále mohou přihlásit protokolem FTP, který zůstává povolen. Příkaz 1 0 9 umožňuje protokolovat zprávy při každé aplikaci přístupového seznamu. Může se jednat o mimořádně praktický způsob, jak sledovat neoprávněné pokusy o přístup. Postupujte přitom takto:
Příklad rozšířeného přístupového seznamu 1
Budeme vycházet z obrázku 10.2 z příkladu na standardní přístupový seznam IP. Ve stejné síti odepřeme přístup k hostiteli s adresou 1 72. 1 6.30.5 v lokální síti oddělení Finance pro služby Telnet i FTP. Všechny ostatní služby těchto a všech jiných hostitelů povolují přístup z počítačů v odděleních prodeje a marketingu. Je potřeba vytvořit následující přístupový seznam:
Příkazem a c c e s s -li s t 110 sdělíme směrovači, že vytváříme rozšířený přístupový seznam IP. Parametr tep označuje pole protokolu v hlavičce síťové vrstvy. Pokud by zde seznam neobsahoval údaj tep, nemohli bychom filtrovat podle čísel portů 21 a 23 (viz příklad). (Jedná se o porty FTP a Telnet, které společně používají protokol TCP pro spojované služby.) Příkaz a n y představuje zdroj, tj. libovolnou IP adresu, a příkaz host udává cílovou IP adresu.
Poznámka Pamatujte, že místo příkazu host 172 . 1 6 . 3 0 . 5 při vytváření rozšířeného přístupového seznamu bychom mohli zadat 172. 16 . 30 . 5 O. O. O . O a výsledek by byl stejný. Směrovač by pouze změnil příkaz v souboru running-config na host 172 . 1 6 . 3 0 . 5.
Vytvořený přístupový seznam je potřeba aplikovat na odchozí rozhraní Ethernet l. Tím se vytvořená zásada použije pro všechny hostitele a účinně zablokuje veškerý přístup typu FTP a Telnet k hostiteli 1 72. 1 6.30.5 z vnějšku lokální sítě. Pokud by byl tento seznam vytvořen tak, aby pouze blokoval přístup z lokální sítě oddělení Prodej, bylo by vhodné jej umístit blíže ke zdroji, neboli na rozhraní Ethernet O. V této situaci bychom tedy seznam uplatnili na příchozí provoz. Postupme dále a použijme seznam na rozhraní E1 při blokování veškerého vnějšího přístupu k hostiteli pomocí protokolů FTP a Telnet:
Lab_A(config-if) # ip aeeess-group 110 aut
Příklad rozšířeného přístupového seznamu 2
V této ukázce opět vyjdeme z obrázku 10.4, který představuje čtyři sítě LAN a sériové připojení. Nyní požadujeme zastavit přístup Telnet do sítí připojených k rozhraním Ethernet 1 a Ethernet 2. Pokud bychom použili jeden přístupový seznam, nebyl by příliš efektivní, protože by u rozhraní Ethernet 1 a 2 příliš zvyšoval latenci (bylo by totiž nutné kontrolovat každý paket opouštějící tato rozhraní). Při správné konfiguraci dvou přístupových seznamů lze však latenci obou rozhraní zkrátit. Avšak vzhledem k tomu, že se připravujeme podle okruhů zkoušky CCNA, zkusíme problém vyřešit pouze jediným přístupovým seznamem. Konfigurace směrovače by vypadala asi následovně, ačkoli odpovědi se mohou lišit:
tohoto seznamu byste měli vyčíst následující důležité informace: V prvé řadě je potřeba ověřit, zda rozsah čísel platí pro vytvářený přístupový seznam. V tomto případě se jedná o rozšířený seznam, takže je rozsah musí být 100- 1 99. Za druhé je nutné zkontrolovat, zda pole protokolu odpovídá procesu nebo aplikaci vyšší vrstvy - zde portu 23 (Telnet). Jako parametr protokolu je nutné uvést TCP, protože protokol Telnet používá TCP. Pokud by otázka směřovala například na použití protokolu TFTP, museli byste jako parametr protokolu zadat UDP, což je protokol používaný protokolem TFTP. Za třetí se přesvědčete, zda číslo cílového portu odpovídá filtrované aplikaci - v tomto případě se port 23 shoduje se správným protokolem Telnet. Závěrem je potřeba zdůraznit, že na konci seznamu musí být uveden příkaz permit ip any any. Tento příkaz povolí všechny pakety jiných protokolů než Telnet, které jsou určeny pro sítě LAN připojené k rozhraním Ethernet 1 a Ethernet 2.
Pokročilé přístupové seznamy
V této sekci si ukážeme pokročilejší způsoby využití přístupových seznamů. Většina pokročilých témat týkajících se příkazu access-list přesahuje okruhy této knihy. Projdeme si je tedy jen stručně a v případě zájmu můžete další informace najít na webu společnosti Cisco. Na druhou stranu je k dispozici několik důležitých variant přístupových seznamů. První z nich jsou pojmenované přístupové seznamy.
Pojmenované přístupové seznamy
Jak jsme již uvedli, představují pojmenované přístupové seznamy v praxi jen jiný způsob vytváření standardních a rozšířených přístupových seznamů. Ve středně velkých a velkých podnicích může správa přístupových seznamů administrátorům časem přerůst přes hlavu. Pokud je například nutné změnit přístupový seznam, často přitom správce jeho obsah zkopíruje do textového editoru, změní číslo, upraví seznam a poté nový seznam zkopíruje zpět do směrovače. Po provedení této operace může jednoduše změnit číslo access-list na rozhraní ze starého na nové a nikdy nenastane okamžik, kdy by se v síti některý přístupový seznam neuplatňoval.
Tento postup by fungoval docela dobře, nebýt toho, co lze označit jako "křeččí" mentalitu. Vyvstává otázka, co udělat se starým přístupovým seznamem? Odstranit jej? Nebo je lepší jej uložit pro případ, že by nastaly nějaké problémy s novým seznamem a bylo by potřeba změnu vrátit zpět? V důsledku tohoto váhání a mnoha dalších situací se nakonec časem ve směrovači nahromadí spousta neaplikovaných přístupových seznamů. K čemu sloužily? Jsou důležité? Potřebuji je? To jsou vesměs dobré otázky, na které mohou odpovědět pojmenované přístupové seznamy.
Může se to týkat i přístupových seznamů, které se aktuálně používají. Řekněme, že se dostanete do stávající sítě a díváte se na přístupové seznamy směrovače. Předpokládejme, že najdete přístupový seznam 1 77 (což je rozšířený přístupový seznam), který obsahuje 33 řádků. Mohli byste zbytečně řešit zásadní otázky - K čemu je tento seznam? Proč je zde uložen? Nebyl by přístupový seznam nazvaný například LAN Finance srozumitelnější než seznam, který je místo toho označen pouze číslem 1 77?
Pojmenované přístupové seznamy dovolují při vytváření a aplikaci standardních či rozšířených přístupových seznamů používat názvy. Na těchto přístupových seznamech není nic nového ani odlišného, s tou výjimkou, že se na ně můžete odkazovat způsobem, který je srozumitelný lidem. Syntaxe se však mírně liší. Vytvořme tedy znovu standardní přístupový seznam, který jsme sestavili výše pro testovací síť na obrázku 1 0.2, ale tentokrát jako pojmenovaný přístupový seznam:
Přístupové seznamy pro porty přepínače
Měli byste si pamatovat tento fakt: Přístupové seznamy pro porty přepínače lze aplikovat pouze na rozhraní vrstvy 2. Proč? Jsou totiž podporovány pouze na rozhraní fyzické vrstvy 2. Dále je užitečné mít na paměti, že tyto seznamy lze použít pouze jako příchozí seznamy rozhraní a navíc je možné pracovat pouze s pojmenovanými seznamy. Uveďme si stručný seznam podporovaných přístupových seznamů:
• Jak jsme již uvedli, standardní přístupové seznamy IP filtrují provoz pouze na základě zdrojových adres. • Oproti tomu rozšířené přístupové seznamy IP používají zdrojové i cílové adresy a rovněž volitelné informace protokolu a čísla portů. • Existují také rozšířené přístupové seznamy MAC, které pracují se zdrojovými a cílovými MAC adresami a volitelnými informacemi typu protokolu.
Přepínače analyzují všechny příchozí přístupové seznamy aplikované na konkrétní rozhraní a přijímají rozhodnutí o přenosu dat v závislosti na tom, zda provoz vyhovuje přístupovému seznamu nebo nikoli. Určitě je vám jasné, jak důležité jsou přístupové seznamy pro zabezpečení. Fungují jako hlídací psi, kteří mohou povolit nebo odepřít přístup ke konkrétnímu segmentu sítě nebo celé síti! Přístupové seznamy také umožňují řídit provoz v sítích VLAN. Chcete-li tuto funkci využívat, stačí aplikovat přístupový seznam portu na trunkový port. Uvědomte si však, že pokud to uděláte u portu s hlasovou sítí VLAN, bude daný přístupový seznam filtrovat i datové sítě VLAN. Dbejte tedy opatrnosti.
Přístupové seznamy portů řídí provoz IP pomocí přístupových seznamů IP. Veškerý provoz jiných protokolů než IP se filtruje na základě MAC adres. Přestože je možné na jediné rozhraní aplikovat oba typy filtrů, současně lze použít pouze jeden z nich. Jestliže se pokusíte umístit další přístupový seznam libovolného typu na rozhraní, kde je již tento seznam aktivní, nový seznam přepíše ten stávající. Je tedy vhodné postupovat opatrně.
To vypadá efektně. Nenechejte se však zlákat k tomu, abyste začali zakazovat všechny dostupné hodnoty ether-type, protože byste se mohli dostat do nepříjemných potíží. Kdo ale skutečně používá sítě DecNet a AppleTalk? Tyto protokoly si rozhodně zaslouží, abyste jim odepřeli přístup do své perfektně nastavené sítě. Pokud jste četli kapitolu 1, víte, že zablokováním hodnoty Ox800 zablokujete všechny IP adresy. To se může hodit v budoucnu, až se rozhodnete, že všem uživatelům nařídíte přechod na protokol IPv6. Prozatím se do toho však nepouštějte!
Zámek a klíč (dynamické přístupové seznamy)
Tato varianta přístupových seznamů závisí na vzdálené nebo lokální autentizaci Telnet v kombinaci s rozšířenými přístupovými seznamy. Před konfigurací dynamických přístupových seznamů je nutné aplikovat u směrovače rozšířený přístupový seznam, který zastaví průchozí provoz. Jediný způsob, jak někdo může obejít tuto blokádu, spočívá v připojení Telnet ke směrovači a následné autentizaci. Funguje takto: Připojení Telnet inicializované uživatelem je zahozeno a nahrazeno dynamickým přístupovým seznamem s jedinou položkou, který je připojen k již aktivnímu rozšířenému přístupovému seznamu. Díky tomu je provoz povolen na konkrétní časový interval, a jak asi uhodnete, může časový limit vypršet, a také k tomu dochází.
Reflexivní přístupové seznamy
Tyto přístupové seznamy filtrují pakety IP na základě informací relace vyšší vrstvy. Často povolují přenos odchozího provozu, ale kladou omezení na příchozí provoz. Není možné definovat reflexivní přístupové seznamy s číslovanými nebo standardními přístupovými seznamy IP ani s přístupovými seznamy jiného protokolu. Můžete je použít spolu s jinými standardními nebo statickými rozšířenými přístupovými seznamy, ale definují se pouze s rozšířenými pojmenovanými přístupovými seznamy IP.
Časově závislé přístupové seznamy
Časově závislé přístupové seznamy fungují velmi podobně jako rozšířené přístupové seznamy, ale jejich typ řízení přístupu je orientován výhradně časově. V zásadě se určuje konkrétní denní doba a týden a poté se konkrétní interval identifikuje názvem, na který se odkazuje úloha. V případě potřeby tedy referenční funkce selže na základě libovolného nastaveného časového omezení. Časové období je založeno na hodinách směrovače, ale rozhodně lze doporučit jeho využití spolu se synchronizací protokolu NTP (Network Time Protocol). Uveďme si příklad:
Příkaz time - range je poměrně pružný a uživatele dokáže přivést do varu, pokud jim mimo pracovní hodiny odepřete základní síťový přístup nebo přístup k Internetu. U předchozích příkazů dbejte opatrnosti - nezapomeňte svůj seznam vyzkoušet v testovací síti dříve, než jej implementujete do produkční sítě.
Poznámky
Tento nástroj umožňuje pracovat s klíčovým slovem rema r k a je velmi důležitý, protože poskytuje možnost zadávat komentáře neboli spíše poznámky týkající se položek ve standardních i rozšířených přístupových seznamech IP. Poznámky jsou velmi užitečné, protože značně usnadňují analýzu a pochopení přístupových seznamů. Bez nich byste se ocitli v houštině nesmyslných čísel a neměli byste žádnou nápovědu, co tato čísla znamenají. Poznámky je sice možné umístit buď před, nebo za příkazy perm; t či den y, ale v každém případě lze doporučit konzistentní přístup. Pak nebudete váhat nad tím, kterého příkazu perm; t nebo deny se poznámka týká. Chcete-Ii tuto možnost uplatnit pro standardní i rozšířené přístupové seznamy, stačí zadat příkaz globální konfigurace access -1 i s t čí s 10 př í s t upo vého s ezn amu rema rk poznámka. Když se pak chcete poznámky zbavit, použijte formu příkazu s klíčovým slovem no. Podívejme se na ukázku použití příkazu remark:
Příkazy rema rk jsme přidali do rozšířeného i pojmenovaného přístupového seznamu. Tyto poznámky se však nezobrazují ve výstupu příkazu show access -1 i st, pouze v souboru running-config. K tomuto příkazu se opět vrátíme při konfiguraci přístupových seznamů pomocí nástroje SDM.
Kontextově závislé řízení přístupu CBAC (Cisco lOS Firewall)
Chcete-Ii použít kontextově závislé řízení přístupu CBAC (Context-Based Access Control), musíte v systému lOS nastavit Cisco lOS Firewall. Zajímavé je, že málokdo - včetně odborníků ze společnosti Cisco - tyto dvě funkce odlišuje. Obvykle se používá pouze termín Cisco lOS Firewall. Co to ale je? Úkolem kontextově závislého řízení přístupu CBAC je analyzovat veškerý provoz, který se pokouší o průchod přes firewall, aby bylo možné zjišťovat a řídit stavové informace v relacích TCP a UDP. Právě pomocí těchto shromážděných informací určuje, zda vytvoří dočasnou cestu v přístupových seznamech firewallu. Chcete-Ii tuto možnost použít, stačí nakonfigurovat seznamy i p i nspect ve směru toku dat. Pokud to neuděláte, nebude povolen průchod žádnému zpětnému provozu, což silně negativně ovlivní všechna připojení relací, která vycházejí z interní sítě.
Podívejte se na obrázek 10.5, který velmi jednoduše dokumentuje, jak Cisco lOS Firewall (CBAC) funguje.
Směrovač s nakonfigurovaným Cisco lOS Firewall zpracuje provoz následujícím způsobem:
1. V prvé řadě, pokud to povolí vnitřní přístupový seznam, směrovač přijme všechny jemu odeslané vnitřní pakety.
2. Dále projde povolený provoz procesu inspekce IP firewallu, který do stavové tabulky přidá informace o stavu schváleného připojení.
3. Nakonec provoz projde procesem inspekce IP, který následně vytvoří dynamickou položku přístupového seznamu a umístí ji do vnějšího přístupového seznamu, aby mohl zpětný provoz projít směrovačem v opačném směru.
4. Zakrátko si to ukážeme v sekci o vytvoření firewallu nástrojem SDM.
Autentizační proxy
Tuto funkci je vhodné nastavit u všech směrovačů, ale podmínkou je funkce Cisco lOS Firewall. Tuto konfiguraci lze doporučit, protože autentizační proxy je velmi výhodná. Autentizuje totiž příchozí nebo odchozí uživatele či obě skupiny. Uživatelé, které by normálně zablokoval přístupový seznam, se mohou pomocí prohlížeče připojit přes firewall a poté provést autentizaci na serveru TACACS+ nebo RADIUS.
Monitorování přístupových seznamů
Jako vždy platí, že je vhodné konfiguraci směrovače ověřit. Tabulka 1 0.1 obsahuje seznam příkazů, které pomáhají při kontrole konfigurace.
Pomocí příkazu show running-config jsme již ověřili pojmenovaný přístupový seznam ve směrovači a také přístupový seznam MAC v přepínači vrstvy 2. Nyní se tedy zaměříme na výstup z některých dalších příkazů. Příkaz show access - list vypíše všechny přístupové seznamy směrovače, ať už jsou použité na rozhraní nebo nikoli:
V prvé řadě si všimněte, že je v seznamu uveden jak přístupový seznam 1 0, tak pojmenovaný přístupový seznam. Za druhé je zřejmé, že navzdory zadání skutečných čísel portů TCP v přístupovém seznamu 1 1 0 poskytuje příkaz show kvůli čitelnosti místo portů TCP názvy protokolů. (Někteří z nás si všechny porty nepamatují.) Následuje výstup příkazu show ip interface:
Nepřehlédněte tučný řádek, ze kterého je zřejmé, že odchozí seznam na tomto rozhraní se nazývá BlokProdej, ale příchozí přístupový seznam není nastaven. Po následujícím kontrolním příkazu přejdeme ke konfiguraci zabezpečení firewallu pomocí nástroje SDM. Jak jsme j iž uvedli, lze příkazem show running - config zobrazit libovolné přístupové seznamy. U přepínače vrstvy 2 je však možné ověřit konfiguraci rozhraní zadáním příkazu show mac access-group:
Konfigurace přístupových seznamů z nástroje SDM
Na začátku této sekce si ukážeme, jak lze v nástroji SDM vytvořit přístupový seznam. Poté pomocí průvodců firewallu přidáme Cisco lOS Firewall, který vytváří přístupové seznamy (jež jsou velmi důležitou součástí, jak se sami přesvědčíte). Pomocí průvodců je vše mnohem snazší. Ukážeme si oba způsoby, ale při použití průvodců dokážete dostatečně zabezpečit směrovač pouhým několikerým klepnutím na tlačítko Next.
Vytvoření přístupového seznamu z nástroje SDM
Začněme prostým vytvořením přístupového seznamu pomocí nástroje SDM. Generovat lze jen pojmenované přístupové seznamy. Ukažme si to. První krok samozřejmě představuje otevření nástroje SDM. Dále klepněte na položky Configure -+ Firewall and ACL a přejdete na obrazovku Create Firewall.
Již je nakonfigurován seznam pro odepření protokolu Telnet (23) počítači Wireless Host C (WHC) z libovolného hostitele přes rozhraní sO/O/O a rovněž se uplatňuje protokolování shod. Po klepnutí na tlačítko OK vytvoříte příkaz permit, aby se rozhraní směrovače nevypnulo.
V dalším kroku vytvořte jednoduchý příkaz permit ip any.
Vytvoření firewallu z nástroje SDM
V této sekci si předvedeme, jak pomocí průvodců Basic a Advanced Firewall Wizards nastavit software Cisco lOS Firewall. Při nastavování zabezpečení směrovačů neexistuje lepší volba. Klepněte na položky Configure � Firewall and ACL a spustí se průvodce, který vás provede celým procesem vytvoření pravidla firewallu. Jak jsme však zmínili, lze zvolit ze dvou průvodců:
Basic Firewall: Jestliže máte v plánu připojení k síti, která zahrnuje pouze hostitelské počítače a nikoli servery (případě servery, jež nemají komunikovat s vnějším světem - např. s Internetem), použijte tohoto průvodce. Na doklad tohoto faktu se po výběru možnosti Basic Firewall napravo zobrazí malý ilustrační diagram. V dalším kroku klepněte na tlačítko Launch a jste u cíle.
Advanced Firewall: Tento průvodce je určen k připojení sítě, která obsahuje hostitelské počítače i servery, jež vyžadují přístup k vnějším hostitelům (např. v Internetu). Po výběru tohoto průvodce se opět napravo objeví malý diagram znázorňující tento typ sítě. U každé sítě s webovými, poštovními nebo jinými servery, které vyžadují komunikaci s Internetem, tedy zvolte možnost Advanced Firewall a poté klepněte na tlačítko Launch. Jako první se objeví obrazovka Create Firewall.
Průvodce Basic Firewall Configuration Wizard tedy přidal firewall lOS, který se také označuje jako kontextově závislé řízení přístupu (CBAC). Jak jsme již uvedli výše, společnost Cisco uvedenou funkci nyní nazývá prostě lOS Firewall. Příkaz ip inspect zapnul základní aplikační kontrolu, která zmírňuje riziko útoků na jednotlivé aplikace.
Všimněte si, že každý z těchto příkazů i nspect přidal do seznamu samostatný protokol. Bez průvodce je nutné požadované protokoly vybírat ručně, ale průvodce nástroje SDM celý postup značně usnadňuje. Průvodce Basic Firewall Configuration Wizard je omezen na dvě rozhraní. Zkontrolujte rozhraní, na které je aplikován:
Všimněte si, že přístupové seznamy 1 00- 1 02 jsou příchozí na vnitřním rozhraní. Tyto přístupové seznamy definují povolený odchozí provoz a také data, která mohou procházet kontrolou firewallu. Každý přístupový seznam zakazuje všechny sítě, které směrovač zná, a také adresu zpětné smyčky. Zůstává pouze síť připojená k tomuto rozhraní s oprávněními, která se vztahují na zdrojovou adresu pocházející z tohoto rozhraní. Všimněte si posledního seznamu vytvořeného nástrojem SDM:
Je zřejmé, že testovací příkaz 103 blokuje poněkud více dat. V prvé řadě si všimněte, že se jedná o vnější stranu a zabraňuje vstup každém síti umístěné uvnitř včetně všech privátních rozsahů. Seznam 1 03 povoluje pouze některý provoz protokolů ICMP a OSPF. I kdyby byl v této konfiguraci odeslán provoz z důvěryhodného rozhraní, byl by zablokován příslušný zpětný provoz. K tomu však slouží firewall - když jej opouští důvěryhodný provoz, je stavová informace uložena do tabulky a do daného přístupového seznamu je zapsána dynamická položka, aby mohl zpětný provoz projít do interní sítě a nebyl odmítnut!
Zdá se tedy, že některé sny se opravdu plní, stačilo pouze klepnout na několik tlačítek a jsme u cíle. Skoro to vypadá, že jsme si mohli ušetřit celou tuto kapitolu. Ve skutečnosti však musíte rozumět principům přístupových seznamů a v této kapitole jste získali hodně námětů k přemýšlení. Ještě však zbývá, abychom se zběžně podívali na průvodce Advanced Firewall Configuration Wizard. Po dalším klepnutí na konfigurační tlačítko Firewall and ACL a výběru možnosti Advanced Firewall se objeví tato obrazovka.
Mezi průvodci Advanced Firewall Wizard a Basíc Firewall Wizard existuje několik rozdílů. Pokročilý průvodce aplikuje přístupová pravidla na vnitřní a vnější rozhraní a rozhraní zóny DMZ, ale průvodce Basíc Firewall Wizard nastavuje přístupová pravidla pouze pro vnitřní a vnější rozhraní. Rozhraní zóny DMZ nelze základním průvodcem nakonfigurovat. Další rozdíl spočívá v tom, že pokročilý průvodce aplikuje kontrolní pravidla na všechna vnitřní a vnější rozhraní a rozhraní zóny DMZ, zatímco základní průvodce používá tato pravidla jen pro vnější rozhraní. Na další obrazovce lze vybrat vnitřní a vnější rozhraní a rozhraní zóny DMZ.
Poté nelze přistupovat k nástroji SDM pomocí žádného vnějšího rozhraní směrovače. Zbytek průvodce funguje velmi podobně jako u základní varianty. Výsledkem je pouze složitější konfigurace směrovače, která již přesahuje cíle této knihy. Nástroj SDM byste si rozhodně měli stáhnout (viz rozbor v kapitole 4). Vyzkoušejte si jej a snažte se jeho grafické uživatelské rozhraní zvládnout co nejlépe. Jak jsme již uvedli, hodí se nástroj SDM pro pokročilé úkoly konfigurace typu tvorby přístupových seznamů, překladu adres NAT a nastavení sítí VPN. Předchozí výstup ukazuje, že pouze se znalostí toho, které rozhraní jsou uvnitř a vně sítě, lze pomocí tohoto nástroje konfigurovat přístupové seznamy a zabezpečení firewallem na profesionální úrovni.
Shrnutí
V této kapitole jsme se zabývali konfigurací standardních přístupových seznamů, které umožňují filtrování provozu IP. Ukázali jsme si, co to jsou standardní přístupové seznamy a jak je lze aplikovat na směrovač Cisco, aby se zvýšila bezpečnost sítě. Předvedli jsme si také konfiguraci rozšířených přístupových seznamů, které dovolují filtrování provozu IP dále zdokonalit. Kromě toho jsme rozebrali rozdíly mezi standardními a rozšířenými přístupovými seznamy a postup jejich použití u směrovačů Cisco. Dále jsme si ukázali, jak konfigurovat pojmenované přístupové seznamy a použít je na rozhraní směrovače. Pojmenované přístupové seznamy jsou výhodné v tom, že je lze snadno identifikovat. Proto značně usnadňují správu oproti běžným přístupovým seznamům, které jsou označeny pouhými nic neříkajícími čísly.
Následně jsme si prošli postupy sledování a kontroly vybraných operací příkazu access-list u směrovačů i přepínačů. Zmínili jsme se také o několika základních monitorovacích příkazech, které dovolují ověřit přístupové seznamy IP i MAC. Závěrem jsme si předvedli, jak snadno je možné vytvářet přístupové seznamy i zásady firewallu u směrovače pomocí nástroje SDM. A skutečně nijak nepřeháníme, že nástroj SDM je opravdu k nezaplacení!
Klíčové poznatky ke zkoušce
Pamatujte si číselné rozsahy standardních a rozšířených přístupových seznamů IP. - při konfiguraci standardního přístupového seznamu IP lze využít číselné rozsahy 1 -99 a 1 300- 1 999. Pro rozšířené přístupové seznamy IP platí číselné rozsahy 1 00- 1 99 a 2 000-2 699.
Seznamte se s pojmem implicitní odmítnutí - na konci každého přístupového seznamu je příkaz pro implicitní odmítnutí (implicit deny). To znamená, že pokud paket nevyhovuje podmínce žádného řádku přístupového seznamu, je nakonec zahozen. Z toho také vyplývá, že pokud seznam obsahuje výhradně příkazy deny, nepovolí žádné pakety.
Seznamte se s příkazem access-list pro konfiguraci standardních přístupových seznamů IP - chcete-li konfigurovat standardní přístupový seznam IP, použijte příkaz access-list s čísly 1 -99 či 1 300- 1 999 v režimu globální konfigurace. Zvolte možnost permi t nebo deny a poté pomocí jednoho ze tří postupů popsaných v této kapitole vyberte zdrojovou IP adresu, kterou chcete filtrovat.
Naučte se příkaz access-Iist pro konfiguraci rozšířených přístupových seznamů IP - při konfiguraci rozšířeného přístupového seznamu IP použijte příkaz access-list s čísly 1 00- 1 99 nebo 2 000-2 699 v režimu globální konfigurace. Zvolte možnost permi t či d eny, pole protokolu síťové vrstvy, filtrovanou zdrojovou IP adresu, filtrovanou cílovou adresu a nakonec číslo portu transportní vrstvy (je-li vybráno).
Pamatujte si příkaz pro kontrolu přístupového seznamu na rozhraní směrovače - chcete-li zkontrolovat, zda je na rozhraní nastaven přístupový seznam, a ve kterém směru filtruje, zadejte příkaz show ip interface. Tento příkaz nezobrazí obsah přístupového sez
Naučte se příkaz ověřující konfiguraci access-list - chcete-li zobrazit nakonfigurované přístupové seznamy směrovače, použijte příkaz show access - list. Tento příkaz neukáže, u kterých rozhraní je nastaven přístupový seznam.