zabezpečení a ochrana dat v operačních

Transkript

zabezpečení a ochrana dat v operačních
ZABEZPEČENÍ A OCHRANA DAT
V OPERAČNÍCH SYSTÉMECH WINDOWS
A LINUX
Ing. Petr Klimša
ORLOVÁ 2013
Název:
Zabezpečení a ochrana dat v operačních systémech
Windows a Linux
Autor:
Ing. Petr Klimša
Vydání:
první
Počet stran:
107
Určeno pro projekt:
Dílčí kvalifikace – nástroj pro efektivní získání
kvalifikace a cesta k rychlé změně kompetencí
Číslo projektu:
CZ.1.07/3.2.07/03.0122
Vydavatel:
Gymnázium a Obchodní akademie, Orlová, p. o.
© Ing. Petr Klimša
© Gymnázium a Obchodní akademie, Orlová, p. o.
2 Obsah:
1. Přehled bezpečnostních technologií ...................................................................... 7 1.1. Postupy útočníků ............................................................................................ 7 1.1.1. Obhlídka terénu ...................................................................................... 8 1.1.2. Sledování .............................................................................................. 10 1.1.3. Soupis prostředí: .................................................................................. 11 1.1.4. Získání přístupu .................................................................................... 12 1.1.5. Rozšíření oprávnění .............................................................................. 12 1.1.6. Vytvoření zadních vrátek; zahlazení stop ............................................. 13 1.2. Přehled nejčastějších typů útoků: ................................................................ 13 1.3. Principy návrhu pro zabezpečení: ................................................................ 15 1.4. Základní bezpečnostní technologie: ............................................................. 16 1.4.1. Filtrování paketů pomocí ACL ............................................................... 16 1.4.2. State Full Inspection (SPI) ..................................................................... 16 1.4.3. NAT ‐ překlad síťových adres ................................................................ 17 1.4.4. Filtrování provozu na aplikační vrstvě .................................................. 17 1.4.5. Filtrování obsahu .................................................................................. 18 1.4.6. Infrastruktura veřejného klíče .............................................................. 18 1.4.7. Technologie AAA .................................................................................. 18 Shrnutí: ..................................................................................................................... 18 2. Bezpečnostní zásady............................................................................................. 20 3. Šifrování ................................................................................................................ 27 3.1. Ověřování autentizace, integrity a důvěrnosti (šifrování a hashovací algoritmy) ................................................................................................................. 28 3.1.1. Ověřování integrity ‐ hash .................................................................... 29 3.1.2. Ověřování důvěrnosti a autentizace ‐ šifrování .................................... 31 algoritmus AES (Advanced Encryption Standard) ........................................................ 31 3.1.3. Scénáře zajištění integrity, důvěrnosti a autentizace ........................... 33 3.1.4. digitální (elektronické) podpisy: ........................................................... 35 3.1.5. Steganografie ....................................................................................... 36 3.2. VPN (Virtual Private Network) ...................................................................... 38 3.2.1. VPN s protokolem IPSec ....................................................................... 39 Shrnutí: ..................................................................................................................... 42 4. Filtrování paketů ‐ ACL ......................................................................................... 43 4.1. ACL na zařízeních Cisco ................................................................................. 43 4.1.1. Příklad: .................................................................................................. 51 4.1.2. Nejčastější chyby při návrhu ACL.......................................................... 53 3 4.2. Omezení a problémy paketových filtrů ....................................................... 53 Shrnutí: .................................................................................................................... 58 Kontrolní otázky: ...................................................................................................... 58 5. Firewally ............................................................................................................... 60 5.1. Demilitarizovaná zóna (DMZ): ..................................................................... 63 5.2. Aplikační proxy ............................................................................................. 65 5.3. Návrh některých pravidel pro firewally ....................................................... 69 5.4. Firewall v Linuxu .......................................................................................... 71 5.5. Firewall ve Windows .................................................................................... 75 Shrnutí: .................................................................................................................... 77 6. Detekce vniknutí (IDS) ......................................................................................... 78 Shrnutí: .................................................................................................................... 82 7. Ochrana hostitelského systému .......................................................................... 83 7.1. zabezpečení proti místním útokům ............................................................. 83 7.1.1. Windows .............................................................................................. 84 7.1.2. Linux ..................................................................................................... 85 7.2. odolnost proti síťovým útokům ................................................................... 86 7.2.1. Windows .............................................................................................. 87 7.2.2. Linux ..................................................................................................... 88 7.3. ochrana aplikací ........................................................................................... 89 Shrnutí: .................................................................................................................... 89 8. Oddělení prostředků ............................................................................................ 90 8.1. Oddělení prostředků do bezpečnostních zón .............................................. 90 8.1.1. Oddělení bezpečnostních zón uvnitř jednoho systému ...................... 90 8.1.2. oddělení bezpečnostních zón na samostatné servery ......................... 91 8.1.3. Rozdělení bezpečnostních zón do několika podsítí ............................. 91 8.1.4. Rozdělení služeb mezi bezpečnostní zóny ........................................... 92 8.2. VLAN (Virtuální LAN) .................................................................................... 93 8.2.1. Princip vytváření VLAN: ....................................................................... 95 8.2.2. Účel a výhody VLAN ........................................................................... 102 8.2.3. Typy VLAN .......................................................................................... 102 8.2.4. Základní příkazy pro práci s VLAN a trunk linkami na zařízeních Cisco
104 Shrnutí ................................................................................................................... 105 Kontrolní otázky: .................................................................................................... 105 Použitá literatura: ...................................................................................................... 107 Úvod 4 Právě jste otevřeli studijní materiál, který vám má usnadnit studium široké oblasti bezpečnosti operačních systémů a počítačových sítí. Účelem tohoto studijního materiálu je poskytnout základní přehled o zabezpečení operačních systémů, které je neodmyslitelně spojeno také s bezpečností počítačových sítí., a poskytnout vám úvodní vhled do problematiky. Je ovšem nutné vás upozornit, že se opravdu jedná jen o základy, které je nutné rozšiřovat dalším studiem. Vzhledem k provázanosti jednotlivých témat bych vám doporučil, abyste při čtení nespěchali a pokud to jen půjde, tak abyste si procvičovali teorii praxí. A právě vzhledem k vzájemné provázanosti témat, pojmů a principů fungování bych vám určitě doporučil vracet se k již prostudovaným kapitolám a používat další literaturu. Uvidíte, že při každém dalším čtení vám budou probírané pojmy jasnější. Autor 5 POUŽÍVANÉ SYMBOLY Průvodcestudiem–vstupautora,doplněnítextu
Informace–cosevkapitoledovíte
Klíčováslova
Časpotřebnýkestudiukapitoly
Důležité–pojmynebopočetnívztahy
Příklad–objasněníproblematikynebořešenýpříklad
Úkolkzamyšlenínebocvičení
Otázkyaúkoly–řešenínajdetevrámciopory
Řešeníúkolů–vážousenakonkrétníúkolyaotázky
Částprozájemce–rozšířenílátky,pasážejsoudobrovolné
Shrnutí–shrnutílátky,shrnutíkapitoly
Literatura
Korespondenčníúkol
6 1. Přehledbezpečnostníchtechnologií
Klíčové pojmy: vrstvená bezpečnost, fyzická bezpečnost, sociální inženýrství, skenování portů, DoS, DDoS, záplava paketů, falšování IP, zdrojové směrování, podvržení služby, přesměrování paketů, ACL, SPI Existuje řada různých dělení bezpečnostních rizik a bezpečnostních technologií. Pokud se začtete do jakékoli literatury, narazíte na různá dělení a přístupy. Níže je uvedeno několik různých pohledů na útoky a bezpečnost. Dělení například podle: 
účelu útoku o získání citlivých dat a jejich další zneužití (např. čísla účtů, hesel apod.) o záměna dat (podvržení nepravdivých dat) o smazání dat o zneužití hostitelského systému k dalším útokům 
úrovně zabezpečení o na úrovni OS  na úrovni jádra  na úrovni aplikací  na úrovni uživatelů o na úrovni sítě a přenosů dat (komunikace) o na úrovni fyzické bezpečnosti 
zda se jedná o útoky cílené nebo příležitostné 
zda se jedná o útoky vnitřní nebo vnější. Vnitřní útoky často představují větší riziko, protože útočník (často zaměstnanec) má přístup ke zdrojům uvnitř sítě. Administrátoři sítě se často snaží zabezpečit síť před vnějším nepřítelem a často zapomínají (nebo jim, jak se často stává, už nezbývá čas) na případného nepřítele vnitřního. Dříve, než se budete zabývat jednotlivými bezpečnostními technologiemi, pojďte se zamyslet nad tím, co by mohlo potencionálního útočníka zajímat, případně jaké běžné prostředky může využít. 1.1. Postupyútočníků
Jednou z prvních vašich úvah může být, zda jste (můžete být) cílem útoku. Cíle útoků: příležitostné záměrné Motivací útočníků může být ekonomický zisk, snaha někoho poškodit, snaha dokázat si, že útok zvládnu a podobně. Kdysi jedna kolegyně stále pokládala otázku, proč by to někdo dělal, načež ji roky odpovídám stále stejně: Proč by to dělal?  Protože může! V různé literatuře se popisují následující základní obecné kroky útoku, přičemž účelem prvních třech kroků je získat co nejvíce informací o cíli útoku a následně pak samotný útok provést: 1)
2)
obhlídka terénu (průzkum sítě) sledování 7 3)
4)
5)
6)
soupis prostředí získání přístupu rozšíření oprávnění vytvoření zadních vrátek, zahlazení stop 1.1.1. Obhlídkaterénu
Účelem takové obhlídky terénu je získat přehled o síti nebo systému, který má být napaden. Může probíhat zjišťování: 








struktury sítě (názvy počítačů, IP adresy) bran běžících služeb na serverech použitých protokolů informací o správcích systémů typ OS typy firewallů typy a cíle vzdáleného přístupu informace o uživatelích ‐ sociálním inženýrstvím
‐ běžnými nástroji
o nslookup
o ping
o www.whatroute.net
‐ veřejně dostupnými
informacemi
o www.networksolutions.
com
o whois.ripe.net
Jedná se o pasivní obhlídky –
nespustí poplach
Pozn. aktivní obhlídky často také nespustí poplach. Mnohdy se zapíšou do logů, které
nikdo nečte. Záleží totiž na úhlu pohledu - příkaz ping už také může být aktivní
obhlídkou, ale kdo na něj reaguje.
Jednou z „úžasných“ metod vytvořených pro získání informací o oběti je tzv. sociální inženýrství, které využívá lidské naivity a důvěřivosti. Zde máte několik příkladů použití: 


Právě dorazil e‐mail přibližně s tímto textem: Vážení zaměstnanci, právě přecházíme na nový systém, pomocí něhož budete moci lépe spravovat svá data. Je ovšem nutné provést změnu stávajícího hesla za nové. Kliknutím na následující odkaz budete přesměrováni na stránku, kde změnu přihlašovacích údajů můžete provést … Předchozí příklad se vám možná zdá trochu přitažený za vlasy, ale kolik z vás už dostalo e‐mail s textem: Vážený kliente České spořitelny, …. „Halo, tady František Vocásek z oddělení prodeje, prosím vás zapomněl jsem heslo, můžete mi ho změnit?! …“  pracujete‐li ve firmě s 40 zaměstnanci, asi je poznáte po hlase, ale co když má firma zaměstnanců 300, můžete si být jistí, že opravdu mluvíte s oním Vocáskem? Možná bude potřeba zavolat zpátky a osobně si ověřit jeho totožnost. Výsledkem snažení pak může být schéma sítě s identifikací hlavních systémů a útočník se může nyní pustit do další fáze, ve které se už může soustředit na konkrétní systémy. Velkým pomocníkem při zjišťování informací o cíli, který si útočník vybral pro útok, může být systém DNS. Pomocí informací zadaných při registraci domény, kde často bývá kontakt na administrátora, ředitele firmy (tel., e‐mail) může útočník zneužít k získání dalších informací. Jak se asi zachová uživatel, když dostane e‐mail od ředitele (administrátora) s určitými pokyny ohledně sítě z jemu známého jména a e‐
mailu? Bude tento pokyn ignorovat? K omezením tohoto zneužití patří minimalizovat množství zveřejněných informací a v případě e‐mailu zveřejnit e‐mail, který bude vyhrazen jen k těmto účelům, a e‐maily došlé na tuto adresu budou přesměrovány skutečnému administrátorovi. 8 Dalším problémem, který může nastat, jestliže je povolen přístup z veřejných sítí na váš DNS server je přenos zóny (zone transfer) na kterýkoli počítač na Internetu. Při přenosu zóny dochází k zaslání všech informací, které server o doméně má, tzn. jména počítačů a jejich IP, informace o službách apod.  útočník tak získá přehled o struktuře sítě. Přenos zóny se používá pro přenos informací mezi DNS servery, aby v případě výpadku primárního serveru měl sekundární server potřebné informace  omezit přenos zón pouze mezi schválené servery. Běžné dotazy DNS používají protokol UDP na port 53, kdežto k přenosu zóny se používá protokol TCP na protu 53. RFC ovšem definuje, že běžné dotazy DNS delší než 512B mají být také zasílány pomocí TCP (ovšem většina dotazů je menších než 512B a tedy jsou zasílány pomocí protokolu UDP). Přenos zóny lze provést pomocí běžného nástroje nslookup: Informace získané z přenosu zóny lze
snadno uložit do souboru:
ls -d skola.local >> skola.local.txt
Aby takto citlivé údaje neunikly na Internet, je možné provést několik opatření: 

omezit všechny dotazy DNS pouze na vnitřní síť (doménu) omezit přenos zóny o na hranicích sítě: zakázat přenos protokolu TCP na portu 53 o na DNS serveru:  Linux: pomocí direktivy allow‐transfer {IP} v nastavení služby DNS, kde IP určuju, na kterou IP je povolen přenos zóny  Windows: pomocí volby Notify v nastavení serveru. Pozn. ničemu ovšem neuškodí pokud i na firewallu samotného DNS serveru také
omezíte dotazy 53/tcp jen na schválené servery.
To, že zakážete přenos zóny, útočníkovi znepříjemníte získávání informací o síti, ale nic mu nezabrání se ptát postupně jednotlivými dotazy, případně, jestliže je v síti nastaven rekurzivní překlad, zadávat postupně IP adresy ze zvoleného rozsahu a takto získávat informace o síti. Obecné pravidlo tedy zní: Nepovolujte dotazy DNS z vnější sítě Vnitřní
DNS
poskytuje informace
o vnitřní síti, ale jen
v rámci vnitřní sítě
Veřejně
dostupný DNS
poskytuje jen
veřejně
dostupné
informace
Omezení je vhodné nastavit jak na: 
hraničním firewallu 9 

firewallu DNS serverů v nastavení služby DNS Dejte pozor, aby v případě, že máte více DNS serverů nezůstal některý nezabezpečený. Dalšími nástroji, které pomohou útočníkovi získat přehled o topologii sítě, jsou například nástroje jako: 



host, dig, SamSpade, axfr‐get tracert (traceroute v Linuxu) VisualRoute NeoTrace Příkaz tracert ve Windows defaultně zasílá pakety ICMP, kdežto příkaz traceroute defaultně posílá UDP datagramy (s parametrem ‐I pak pakety ICMP). Traceroute v Linuxu má pak další zajímavé parametry: -g umožní nastavit source‐routing (zdrojové směrování), což se dá využít ke zjištění, zda je systém nastaven správně (zdrojové směrování by totiž na firewallu mělo být zákázáno!!!). -pS dovoluje posílat pakety na konkrétní pevně daný UDP port -p dovoluje posílat pakety na konkrétní UDP port, ale s každým paketem se číslo zvětšuje K zabránění průzkumu je možné použít NIDS (Network Intrusion Detection System) např. Snort. 1.1.2. Sledování
V rámci tohoto kroku se útočník zaměří na konkrétní systémy, které už může podrobit aktivní obhlídce, během níž se snaží zjistit, zda je systém dostupný, (je‐li ve výpisu zóny DNS ještě neznamená, že musí být aktuálně dostupný) a jaké služby jsou spuštěny (které porty jsou otevřeny)  určí, na jakou část systému se může dále zaměřit. Účelem je hledání zranitelných míst. Pro obhlídku může útočník například využít:  fping (Linux)  Nmap (www.insecure.org)  TigerSuite (www.tigertools.net) – zjišťuje další služby dostupné na serveru fping  na rozdíl od jiných programů posílá více ICMP paketů současně fping 192.168.226.1 192.168.226.2
fping -f adresy.txt …
(adresy jsou v textovém souboru pod sebou) -d přeloží adresu v DNS -h vypíše seznam všech dalších zajímavých parametrů K hromadným „pingům“ se dá použít také příkaz nmap:  příkaz nmap -sP 192.168.226.0/24 umožní zadat celou síť a ve výsledném výpise se pak objeví MAC adresy, což umožní získání všech MAC v celé síti.  V případě, že jsou na firewallu blokovány ICMP pakety je možné použít ke zjištění, zda je daný systém aktivní, také techniku skenování portů. Pokud je totiž nalezen otevřený port, je počítač patrně funkční 10 Hromadné pingy mohou být signálem připravovaného útoku. Mohou ovšem také sloužit i správci sítě k jednoduchému určení, zda jsou všechny počítače vypnuté apod. Obranou může být  detekovat hromadné pingy pomocí IDS  blokovat ICMP a povolit ICMP jen mezi systémy, které je potřebují Určení běžících služeb ‐ skenování portů  slouží k upřesnění, co a kde běží, tzn., jaké aplikace (služby) běží, na jakém portu naslouchají apod.  podle určitých naslouchajících portů jde určit také typ OS a typ používaných aplikací, které mohou být v případě špatného nastavení použity k útoku  cíle skenování portů:  určení běžících služeb  určení typu OS  určení konkrétních aplikací a jejich verzí  existuje řada typů skenů portů např.: TCP spojení, TCP SYN sken, TCP FIN sken, TCPXmasTree sken, TCP RPC sken a řada dalších. K provedení těchto skenů může útočník použít řadu nástrojů jako udp_scan, netcat, nmap a podobně. nmap  když si vypíšete seznam parametrů programu nmap například pomocí příkazu nmap --help, zjistíte, že implementuje řadu výše uvedených skenovacích technik -f umí fragmentovat pakety a odhalit tak, zda je dobře nastavený firewall (protože firewall by měl takovéto pakety odhalit). Obrana proti skenování portů:  použít IDS  vypnout nepotřebné služby Často je ovšem problém určit, které běžící služby v OS (zejména Windows) jsou zbytné
a které nezbytné . Přehled můžete například získat tak, že zjistíte, které služby OS
má zapnuté po své instalaci. I zde ovšem můžete narazit na to, že řada služeb není
nezbytná a přesto je po instalaci OS zapnutá.
Přehled o tom, které služby jsou nainstalovány a aktivní, získáte např.  v Linuxu v: o /etc/initd.conf o /etc/rc.d  ve Windows: o Ovládací panely/Nástroje pro správu/Služby 1.1.3. Soupisprostředí:
Během této faze útočník systematicky zjišťuje a mapuje informace o: 




síťových prostředcích a sdílených složkách uživatelích a skupinách aplikacích úvodních zprávách systému přehled o sytému Windows, který často ještě používá protocol NetBIOS (UDP 137, 138, 139). Případně lze využít protokol SMB. net view net view /domain:jméno_domény
11 ‐ informace o počítačích v doméně net view \\ jméno počítače
nbtstat pro vypsání tabulky NetBios jmen
nbstat -A IPadresa

ke zjištění informací o řadiči domény lze také použít příkaz atest
K určení typu OS existuje řada technik např. pomocí nmap (aktivní detekce) nebo pomocí zachytávání komunikace a hodnot TTL nebo velikosti okna TCP (pasivní detekce). Obrana proti inventarizaci:  použití IDS  blokovat porty TCP a UDP 135 ‐139  vypnout použití protokolu NetBIOS  zabránit přenosu zón DNS 1.1.4. Získánípřístupu
V rámci získání přístupu mohou probíhat útoky:  na OS: ‐ záleží na záplatách ‐ čím vice služeb system poskytuje  tím používá vice portů  vypínat výchozí služby, které nejsou potřeba  na aplikace ‐ tyto útoky využívají chyb v programech  opět je nutné, stejně jako u OS, udržovat aktuální aplikace a také vypínat (odstraňovat) aplikace, které nejsou pro práci systému nezbytné.  přes nesprávnou konfiguraci ‐ defaultní nastavení!!! ‐ zapnuté zbytečné služby  porty Pozor na výchozí hesla:
o admin/admin
o admin/default
o manager/manager
o nebo bez hesla
 skriptové útoky ‐ přetečení bufferu ‐ brutal force útoky na heslo ‐ odposlech hesla ‐ zachycení souboru hesel ze systému  takovýto soubor pak útočník musí dešifrovat (za předpokladu, že jsou používána šifrovaná hesla) 1.1.5. Rozšířeníoprávnění
Útočník, který získal přístup dovnitř systému přes slabé heslo uživatele, potřebuje “povýšit” na uživatele s větším oprávněním metody, které útočním může použít:  spustit program, který z něj udělá “významnějšího uživatele” např. když v Linuxu nastavíte, že služba se spouští pod účtem root (viz. direktiva User v konfiguraci Appache)  prolomit hesla  zachytit nešifrovaná hesla  využít chybně nastavených oprávnění 12 
toho, že je uvnitř, může například využít k útokům typu DoS (odepření služeb) 1.1.6. Vytvořenízadníchvrátek;zahlazenístop
V případě, že útočník již do system přístup získal potřebuje si přístup zajistit i pro příště a take za sebou zahladit stopy.  Windows: o vyčistit protokol událostí o vyčistit položky registru  Linux: o vymazat historii o vymazat položky z adresářů UTMP, WTMP, LastLog  Vytvoří si backdoor (zadní vrátka) pomocí: o úpravy spouštěcích souborů o zapnutí služeb o programu pro vzdálené ovládání o instalace trojských koňů 1.2. Přehlednejčastějšíchtypůútoků:
Budete‐li blíže studovat různé typy útoků, můžete se v literatuře setkat s různým členěním. Zde je jedno z nich: 1. zachycení paketů (odposlech)  zachycení hesla  analýza síťového provozu  skenování portů 2. odepření služby  DoS  DDoS  záplava paketů ( SYN, UDP, ICMP)  přesměrování DNS  přesměrování paketů (změnou směrovacích informací) 3. zneužití protokolů 4. převzetí totožnosti  podvržení služby (DHCP, DNS)  podvržení totožnosti služby  ukradená hesla 5. únos spojení 6. útoky pomocí virů, červů a trojských koní 7. fyzické útoky DoS (Denial of Service ‐ odepření služeb): jedná se o skupinu různých útoků, jejichž cílem je, aby server s běžící službou, např. webový server, nemohl plnit svou funkci. Záleží pak na typu organizace, ale představte si, že vám nefunguje webová stránka, na které přijímáte objednávky zákazníků… DDoS (Distributed Denial of Service ‐ distribuované odepření služeb): jde o variantu útoků DoS, ale útoky na cíl probíhají z více systémů. Často se jedná také o nic netušící oběti, jejichž počítače byly k tomuto účelu zneužity. záplava paketů SYN: další z útoků typu DoS, kdy útočník zašle segment protokolu TCP s žádostí o navázání spojení (SYN). Příjemce tento segment musí zpracovat 13 procesorem a vyhradí si v operační paměti místo pro zpracovávání dat zahajované komunikace. Princip tohoto útoku je v tom, že útočník otevírá další a další spojení, ale žádné neukončuje, takže příjemce je těmito požadavky zaplaven a není schopen plnit své normální funkce záplava paketů UDP: podobá se útoku pomocí záplavy ICMP, na příslušný otevřený port UDP například záplava na port 53, který obsluhuje službu DNS záplava paketů ICMP: standardně slouží dotazy ICMP (využívané příkazem ping) pro ověřování funkčnosti a parametrů komunikace. V případě útoků, je ale příjemce dotazy ICMP zahlcen. skenování portů: jedná se o útok, kdy jsou na systém vysílány segmenty (datagramy) s určitými čísly portů a zjišťuje se, zda systém na daném portu naslouchá. V případě, že systém na určitém portu naslouchá, znamená to, že na počítači běží služba, která je s číslem portu svázána. Např. zjistí‐li, že systém má otevřený port 23, bude na počítači čekat na spojení služba Telnet. Podle skupiny otevřených (naslouchajících) portů, lze také často poznat, jaký je na počítači nainstalován operační systém. Ping of Death (smrtelný ping): tento útok využívá možnosti měnit velikost paketu ICMP, přičemž může zahltit počítač natolik, že přestane poskytovat své služby. falšování IP adres: útočník se snaží obejít kontrolu firewallu tím, že napodobuje IP adresu, e‐mailovou adresu nebo ID klienta, kterému je komunikace povolena. prolomení hesla hrubou silou: v rámci tohoto útoku se pokouší útočník uhádnout heslo. Často k tomu využívá „slovníky“, z nichž zkouší jedno slovo za druhým. zdrojové směrování zachycení (odposlech) paketů: jedná se o pasivní metodu, kdy útočník přepne síťovou kartu svého počítače do promiskuitního režimu, ve kterém bude síťová karta zachytávat i rámce, které nejsou určeny přímo jí. Z takto zachycených rámců pak může poskládat celou komunikaci, která není‐li šifrována, bude pro něj čitelná. Dále může takto zachycené rámce použít k analýze síťového provozu a určení dalšího postupu útoku. Jestli si stále myslíte, že tento „pasivní“ útok je méně nebezpečný, než aktivní, pak se zamyslete nad následujícím ‐ útočník může ze zachycené komunikace vyčíst přihlašovací údaje. Zejména v případě použití protokolů, jako FTP, Telnet apod., které přenášejí hesla jako čistý text. Ani v případě použití služeb používajících šifrování nemusí být hesla úplně v bezpečí, protože jak si připomeneme v části o šifrování, šifrovací algoritmus může být slabý, případně je slabý klíč, na základě něhož je šifrování provedeno. zdrojové směrování: umožňuje na základě informací obsažených v obdrženém paketu určit, kam (kudy) má být odpověď směrována. Tato technika obchází standardní zásady směrování, proto by zdrojové směrování mělo být vypnuté. podvržení služby: Jedná se o řadu útoků, kdy se útočník bude snažit, abyste se svými daty zamířili k němu. Příkladem může být útok na zanesený vyrovnávací paměti serveru DNS ‐ v případě, že DNS odpovídá na rekurzivní dotazy (tzn., zjišťuje požadované informace, které neví, u jiného DNS serveru), může útočník odpovědět místo něj. DNS server si tak do své cache paměti poznamená podvrženou útočníkovu informaci a bude ji dále sdělovat klientům. Jestli si myslíte, že to vypadá nevinně, tak co toto: chcete spravovat své bankovní konto např. www.servis24.cz České spořitelny a místo toho jste přesměrováni na stránku útočníka, která vypadá stejně jako stránka spořitelny. A zde už vyplníte přihlašovací údaje… Než zjistíte, že se jedná o podvrh, tak útočník má vše, co potřebuje… Tyto útoky se často kombinují s útoky typu DoS, aby oprávněný DNS neodpověděl na dotaz. V případě, že má útočník fyzický přístup do sítě, může podvrhnout také DHCP server, který bude klientům sdělovat adresu brány tak, že veškerá komunikace může proudit 14 na útočníkův počítač, který ji zachytí a pak teprve přepošle na správnou bránu. Rovněž tak může podvrhnout adresu svého DNS serveru apod. přesměrování paketů: útočník podvrhne směrovací informace, na základě kterých se doplňují směrovací tabulky, tzn., zneužije vlastností směrovacích protokolů. Řešením je zapnout na směrovačích autentizaci směrovacích informací. ukradená hesla: v případě hesel se nemusí jednat pouze o síťové útoky, kdy útočník zachytí heslo v síťové komunikaci. Často jsou hesla získána daleko prozaičtěji ‐ ukradením. Řada uživatelů si značí svá hesla na různá místa, sdělují je spolupracovníkům, píší je jedním prstem apod. fyzické útoky: fyzickými útoky se myslí takové útoky, kdy útočník získá fyzicky přístup k danému systému. Pokud jej navíc ukrade, má téměř neomezený čas na prolamování ochrany počítače a získává tak přístup k heslům, dokumentů, má možnost nainstalovat sledovací program apod. Fyzická bezpečnost počítačů a zařízení v síti je jedním z pilířů zabezpečení dat. 1.3. Principynávrhuprozabezpečení:
K návrhu bezpečnosti sítě nebo hostitelského systému je potřeba přistupovat z různých úhlů pohledu a je potřeba zvážit řadu aspektů. Měli byste vycházet z následujících princip: 





princip vrstvené bezpečnosti – v žádném případě se nemůžete spokojit jen s jednou úrovní zabezpečení například jen firewallem nebo jen antivirem  nutné přistupovat k řešení zabezpečení jako k ucelenému systému. K tomu vám může posloužit rozdělení bezpečnostních technologií podle jednotlivých vrstev ISO/OSI organizační opatření (bezpečnostní zásady) ‐ při návrhu pravidel a výběru technologií je potřeba vycházet z bezpečnostních zásad, které jsou základní normou, z níž se vychází při dalším návrhu zabezpečení. řízení přístupu a zabezpečení podle konkrétní role ‐ při určování, kdo a co v organizaci může/nemůže vykonávat je vhodné vycházet z pravidla, že je nejlépe zakázat vše a povolit jen to, co bude konkrétní uživatel pro svou práci potřebovat. uvědomění uživatelů ‐ řada bezpečnostních opatření stojí a padá na uvědomění uživatelů ohledně rizik a důsledků některých činností. Jinak bude řada opatření neúčinných. Budete muset najít vyvážený přístup mezi restrikcí a prevencí. Pokud budete pouze uživatelům „vyhrožovat“, že budou postiženi v případě, že provedou některou nežádoucí činnost, můžete se dostat do situace, kdy se řadu bezpečnostních incidentů nedozvíte. Určitě neuškodí připravovat se na nejhorší, ale potřebujte si také vybudovat důvěru uživatelů, že se na vás mohou obrátit v případě, kdy dojde k podezřelé činnosti. monitorování ‐ v záznamech systémů najdete řadu upozornění na bezpečnostní problémy, proto musí být záznamy pravidelně sledovány. aktualizace systémů ‐ operační systémy i programy obsahují řadu chyb, které jsou objeveny až během jejich provozování  nutné sledovat, zda pro daný systém neexistuji aktualizace a ty pak následně aplikovat. 15 Vrstva ISO/OSI aplikační prezentační relační transportní síťová linková fyzická Bezpečnostní technologie antivirové systémy, proxy, šifrování, SSH, PKI, VPN SPI NAT, ACL VLAN fyzická bezpečnost a oddělení prostředků 1.4. Základníbezpečnostnítechnologie:
1.
2.
3.
4.
5.
6.
7.
Filtrování paketů pomocí ACL Stavová inspekce paketů – SPI Překlady síťových adres – NAT Proxy a ochrana na úrovni aplikací Filtrování obsahu Infrastruktura veřejného klíče – PKI Technologie AAA Uvedené bezpečnostní technologie mají svá pravidla použití, výhody, ale i omezení. A právě k těmto omezením přistupovat k bezpečnosti vrstveně, protože to, co nezvládne jedna technologie, vyřeší použití jiné. 1.4.1. FiltrovánípaketůpomocíACL



filtrují se jednotlivé pakety na základě IP adres, případně čísel portů jedná se o první linii obrany technologie AC ovšem má svá omezení: ‐ falšování adres ‐ např. máme v DMZ (demilitarizovaná zóna) webový server, který se útočník rozhodné napadnout pomocí „vhodného“ http provozu. Protože webový server je v DMZ, musí pakety pro http projít skrz ACL směrovače, kde jsou povoleny. V takovém případě útočník projde skrz ACL až k webovému serveru. Podobně je to s protokoly FTP, NTP, SMTP. 1.4.2. StateFullInspection(SPI)


obvykle se provádí na firewallu 2. linie obrany – podrobnější sledování paketů, které prošly přes 1.línii 16 



kontrola spojení (stavu spojení): firewall si je vědom, že spojení se skládá z mnoha paketů inspekce se spustí s prvními pakety, které spojení zahájí filtrování: o zdrojová a cílová adresa, port, typ protokolu (to dělá i ACL) o příznaky (SYN, ACK, FIN, RST apod.) o porovná informace o spojení s pravidly (pravidla jsou složitější než u ACL) Pozn. SPI lze nastavit na routeru, ale není vhodné směšovat funkce omezení: o chybí inspekce na aplikační úrovni o ochrana jen po 4. vrstvu o chybí stav spojení pro každý protokol TCP/IP (např. UDP a ICMP) – uvědomte s, že protokol UDP je nespojový a proto nenavazuje spojení   nelze na nich sledovat spojení, musí být podrobeny běžnému filtrování paketů Více se o ACL a SPI dozvíte v kapitole o firewallech. 1.4.3. NAT‐překladsíťovýchadres



vzhledem k tomu, že při použití NATu dochází k překladu adres a počítače ve vnitřní síti jsou skryté před vnějším světem, považuje se NAT za jednu z bezpečnostních technologií. princip: skrytí vnitřní sítě za veřejnou adresou Omezení: o problémy s protokolem UDP: NAT sleduje stav spojení a to u UDP nelze  NAT neumí určit, jestli paket spadá do probíhající komunikace nebo je to izolovaný přenos  nutnost odhadovat jak dlouho překlad po posledním paketu nechat otevřený (tj. nezjistí konec spojení, když se žádné nenavazuje ) o některé protokoly jsou citlivé na změny paketů – Kerberos, X Windows, rsh (vzdálený shell), SIP o vliv šifrování a autentizace – mnohé šifrovací protokoly prověřují integritu dat a NAT pakety pozměňuje o autentizace: pokud se z vnitřní sítě s PAT do vnější sítě autentizuje 1 uživatel, získávají přístup ke chráněnému zdroji všichni uživatelé ze sítě. Chráněný zdroj u každého uživatele z vnitřní sítě vidí stejnou IP (tj. tu vnější) 1.4.4. Filtrováníprovozunaaplikačnívrstvě


(implementováno pod různými názvy – např. Proxy) přebírá žádosti od klientů a navazuje komunikaci svým jménem. Tj. zkontroluje obsah každého spojení a z každého paketu odřízne hlavičku a nahradí svou vlastní hlavičkou. standardní proxy firewally: neprovádí směrování paketů, jen je přepošle 
dynamické proxy firewally: oproti standardním provádí úplnou inspekci paketu. Nejdříve spojení zkontroluje na aplikační vrstvě a pak další kontrolu provádí jen na síťové vrstvě (rychlejší) omezení: ‐ pomalejší činnost ‐ nejsou vždy aktuální 17 1.4.5. Filtrováníobsahu




nevhodné stránky spam viry a trojské koně škodlivé weby filtrování: 

na klientských PC filtrování na serverech (obvykle spamů a virů) využití databáze slov, frází, stránek omezení: rychlé změny stránek i obsahu 1.4.6. Infrastrukturaveřejnéhoklíče
SSL:  používáte‐li SSL, poznáte to například podle ikony klíče v prohlížeči  říká jen, že je navázáno zabezpečené spojení s SSL (ale může to být kdokoli)  problém ověřit, že ten s kým se komunikuje je opravdu tím, za koho se vydává  viz. šifrování a digitální podpis protokol HTTPS:  „S“ v názvu protokolu říká, že http pracuje nad vrstvou SSL  prohlížeč převezme certifikát SSL a spojí se s tím, kdo jej vydal (pořád je zde problém, že musím věřit, že druhá strana je tím, za koho se vydává)  HTTPS mi říká, že komunikuji zabezpečeně, ale celá otázka je s kým?!!! 1.4.7. TechnologieAAA


např. pro řízení přístupu k síťovým zařízením (nemusím mít učet a hesla na každém routeru nebo switch, ale mám účet na centrálním AAA serveru) problém je v případě výpadku AAA serveru  na každém zařízení mít alespoň 1 lokální účet, kterým se přihlásím v případě výpadku AAA srveru Autentizace: ověření uživatelským jménem a heslem Autorizace: co může dělat (pomocí ACL, zásad, oprávnění) Accounting (účtování): zaznamenávajíc se provedené operace (kdo a co dělal 
databáze: o lokálně na každém zařízení o centrálně na AAA serveru 
mechanismus AAA používá bezpečnostní protokol RADIUS a TACACS Shrnutí:
Oblast bezpečnosti operačních systémů a počítačových sítí je vzájemně provázána a obsahuje řadu pojmů, v který se musí správce OS (sítě) orientovat. Jedním ze základů zabezpečování systémů je analýza rizik, která slouží jako výchozí bod k určení, co a jak zabezpečit a jaké je potřeba vynaložit náklady. V této kapitole jste se obecně seznámili s postupy, které mohou útočníci zvolit a to proto, abyste si uvědomili rizika a také mohli některé postupy použít pro prověření odolnosti svého systému. 18 Pro získání informací o cíli útoku a slabých míst lze využít řadu specializovaných a sofistikovaných nástrojů, ale také celou řadu běžných nástrojů operačních systémů jako jsou ping, nslookup, net, tracert, nmap atd. Nezapomeňte, že nejslabším článkem celého systému bezpečnostních opatření je často člověk. Tzn. uživatel, který může podlehnout různým technikám sociálního inženýrství. Velmi častým problémem je také vytíženost správců a velký tlak na rychlé zavedení některých systémů, což často vede k situacím, kdy na některém systému zůstane defaultní nastavení včetně hesel. I v případě bezpečnostních technologií můžete využít modely ISO/OSI nebo TCP/IP, které vám usnadní orientaci v používaných bezpečnostních technologiích a také v tom, jaká mají omezení. Kontrolní otázky: 1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
Uveďte kroky, které útočník provede při útoku. Co bude útočník zjišťovat při obhlídce terénu? Uveďte příklad sociálního inženýrství Které běžné nástroje může útočník použít k obhlídce terénu. K čemu tyto nástroje slouží? Které služby běžící na serverech představují potenciální riziko? K čemu tyto služby slouží? Proč není vhodné zasílat přístupové údaje e‐mailem? Jak budete postupovat bezpečněji? Uveďte příklady defaultního nastavení přístupů k systémům (defaultních hesel). Charakterizujte útok typu brutal force na prolomení hesla. Uveďte zásady pro správnou manipulaci s hesly. Co to jsou útoky typu DoS? Co znamená, když si útočník vytvoří v systému backdoor? Co budete kontrolovat v případě, že se rozhodnete pro filtrování obsahu. 19 2. Bezpečnostnízásady
Klíčové pojmy: bezpečnostní politika, míra důvěrnosti dat, zásady práce s hesly, silná a slabá hesla Bezpečnostní politika v síti musí vycházet z činnosti firmy (nesmí omezovat fungování firmy), firemní kultury, zvyklostí a schopností uživatelů a zásad pro přijatelné a nepřijatelné chování ve firemní síti. Analýza a sestavení zásad bezpečnosti patří mezi první kroky, které je při tvorbě zabezpečení učinit. Při přemýšlení nad bezpečnostní politikou můžete jako takovou pomůcku použít moji oblíbenou kombinaci: „KDO, CO, KDY, KDE, S KÝM, JAK (ČÍM), ZA KOLIK“ může/nemůže dělat. KDO: smí/nesmí přistupovat k prostředkům sítě (z toho vám pak vyplynou definice uživatelů a skupin; podkladem může být organizační struktura firmy, popisy pracovních pozic apod.). CO: smí/nesmí s daty, síťovými prostředky apod. vykonávat KDY: v jaké době smí/nesmí činnost vykonávat KDE: v jakém rozsahu, působnosti smí/nesmí činnost vykonávat S KÝM: bude na realizaci spolupracovat JAK (ČÍM): jakými prostředky, postupy dosáhne požadovaných výstupů, chování (čím to bude dělat, tzn. co k tomu bude/nebude potřebovat) ZA KOLIK: jaké budou náklady, když se zásady aplikují/případně neaplikují Když se pomocí této „pomůcky“ nad problematikou zabezpečení zamyslíte, vyjde vám řada oblastí, které je nutné řešit. V níže uvedené tabulce najdete právě takovýto návrh oblastí, kterými byste se měli, podle situace konkrétní organizace, zabývat. Jedná se o nejběžnější typy zásad zabezpečení. Specifikuje bezpečnostní rizika. Opravňuje informační oddělení k provádění bezpečnostního auditu pro libovolný systém instalovaný ve firmě. Slouží zaměstnancům jako pomůcka k určení, jaké informace smí sdělovat jiným osobám (mimo zaměstnanců) a také relativní citlivost informací, které Citlivost informací bez oprávnění sdělovat nesmí. Rovněž slouží pracovníkům, kteří jsou zodpovědní za implementaci bezpečnostních zásad. Definuje požadavky na přístup k databázím, zpracování Přístupové informace k databázím a nakládání s daty. Definuje standardy pro tvorbu silných hesel a jejich Hesla obměnu. Definuje, které metody (algoritmy) šifrování budou
Přípustné šifrování používány a způsoby jejich použití. Definuje pravidla pro použití elektronické pošty, včetně přeposílání pošty, aby se předcházelo Elektronická pošta neoprávněnému i neúmyslnému prozrazování firemních informací. Definuje požadavky na všechna zařízení v síti z hlediska Antivirová ochrana antivirové ochrany. Definuje osoby, které smí pracovat s firemním Přípustné užití zařízením, ať už na pracovišti nebo používaným Audit a posuzování rizik 20 zaměstnanci doma, a povolené a nepovolené použití těchto zařízení. Včetně použití Internetu Definuje pravidla pro připojení k firemní síti tak, aby se Vzdálený přístup minimalizovaly hrozby od ztráty a poškození firemních dat a zařízení až po poškození pověsti firmy. VPN Definuje zásady vzdáleného přístupu pomocí VPN Definuje pravidla pro připojení k firemní síti pomocí Bezdrátová komunikace bezdrátových technologií. Definuje požadavky na firmy poskytující organizaci Poskytovatelé aplikačních služeb a aplikační služby a stanovují minimální kritéria jejich standardy bezpečnosti, které musí tito poskytovatelé splňovat. Zabezpečení síťových zařízení Definuje požadavky na minimální bezpečnostní (switchů a routerů) a serverů konfiguraci těchto zařízení. Ve výše uvedené tabulce je jen návrh, který jak sami uznáte, bude velmi záležet na oblasti působení firmy, firemní kultuře a samotných požadavcích vedení firmy. Poznámka: Podle zásad zabezpečení organizace SANS (www.sans.org) by dokument měl především zdůrazňovat, co je povoleno a nikoli jen to, co je zakázáno. Případně by měly být v dokumentu uváděny příklady správného (povoleného) a nesprávného (zakázaného) chování. Pro dokument (případně sady dokumentů) se zásadami zabezpečení byla například navržena obecná struktura [Thomas]: 1. Celkový přehled  zdůvodnění existence dokumentu (motivace)  vymezení rizik, před kterými mají zásady chránit 2. Účel dokumentu  proč byl dokument vydán  cíle, které má zajišťovat 3. Působnost dokumentu  definuje osoby a skupiny, kterých se dokument týká. Pozor, nedívat se na skupiny jen očima uživatelských skupin, ale jako působnost na každého zaměstnance, dodavatele, dočasného pracovníka a ostatní osoby ve firmě (např. brigádníky) používající firemní zařízení a také vlastní zařízení, které může přijít do styku s firemní IT infrastrukturou. 4. Vlastní zásady  popis a rozpracování samotných zásad zabezpečení včetně příkladů 5. Uskutečňování zásad  definuje odpovědnosti za implementaci zásad, organizační opatření  definuje sankce za porušení zásad 6. Definice pojmů  vysvětlení nejasných a nejednoznačných pojmů 7. Historie revizí  datum, popis a důvody každé změny, aby bylo možné určit, zda činnost libovolné osoby (v okamžiku uskutečnění, nikoli zjištění události) byla porušením zásad. Nezapomínejte na bod 5., ve kterém by mělo být definováno, kdo ponese zodpovědnost za aktualizaci dokumentu a aplikací zásad do reálných nastavení (osoba, oddělení) ve formě organizačních a technických opatření. Technickými opatřeními se myslí provedení konkrétního nastavení na síťových prvcích a počítačích. 21 Součástí definování zásad by měla být analýza a určení míry důvěrnosti dat, s kterými se ve firmě manipuluje. Takovými informacemi mohou být:  soukromé nebo důvěrné firemní informace  firemní strategie a záměry  provozní informace  citlivé informace vzhledem ke konkurenci, konkurenční analýzy  data podléhající obchodnímu tajemství  seznamy zákazníků a informace o nich  podklady a výsledky výzkumů Zásady pro práci s hesly Definují organizačně technická opatření. Z hlediska hesel byste mohli zásady (opatření) rozdělit do několika oblastí: obecné zásady používání hesel zásady pro tvorbu hesel  zaměstnanci nesmí svůj účet nikomu půjčovat (tj. sdělovat heslo, pomocí něhož se lze k účtu přihlásit)  heslo nesmí být prozrazeno někomu jinému (v případě, že někdo požádá o sdělení hesla, je nutné se nejdříve poradit s administrátorem sítě, zda může být sděleno). Heslo nesdělovat kolegům, nadřízenému nebo administrativnímu pracovníkovi a to ani v případě odjezdu na dovolenou.  nenapovídat jakým způsobem je heslo vytvořeno (např. že je to jméno psa)  neskočit na techniky sociálního inženýrství a heslo nikde nevypisovat do dotazníku nebo formuláře  nepoužívat funkci „Zapamatovat si heslo“, které je k dispozici v některých programech  doba platnosti hesla (interval obnovy) např. systémová hesla nejméně každé 3 měsíce a u běžných uživatelů 6 měsíců  minimální doba platnosti hesla ‐ mohlo by se vám zdát, že tato volba pro práci s hesly je zbytečná, ale představte si následující situaci. Požadujete, aby uživatel musel změnit heslo každé tři měsíce, přičemž 5 hesel používaných po sobě se nesmí opakovat  musí zadat jiné heslo, než už používal. Uživatel si nyní může zahrát takovou hru na hesla ‐ zadá si heslo poprvé, hned ho změní a tak to opakuje, až mu systém dovolí použít to původní staré heslo. A vaše snaha donutit uživatele k pravidelné obměně hesla je v na nic. Problémem tohoto opatření může být, že když uživatel zadal heslo, o němž si myslí, že z nějakých důvodů není vyhovující, musí čekat minimální dobu, než ho může změnit.  heslo musí mít minimálně délku X znaků (minimálně 8 znaků)  heslo musí splňovat požadavek komplexnosti  při opuštění počítače na dobu delší než např. 5 minut se musí každý uživatel odhlásit  hesla nesmí být posílána přes e‐maily a jinou nezabezpečenou komunikaci  heslo nesmí být zaznamenáno na veřejně dostupném místě Poznámka: Kdysi jsem byl přítomen 2 situacím, při kterých se o mě pokoušely „mdloby“ 1) Jedna kolegyně potřebovala zajisti určitou operaci na serveru a sdělovala dotyčnému odborníkovi po telefonu o administrátorském hesle: „ já vám to heslo pošlu e‐mailem“ Když už pominu sdělování administrátorského hesla cizí osobě, což se dalo zajistit dočasným účtem s potřebným oprávněním, tak zaslání 22 





hesla jako plain text pomocí nezabezpečeného e‐mailu je čin hodný běžného uživatele a ne toho, kdo má mít základní povědomí o bezpečnosti. Pokud tedy porušovala zásadu nesdělovat heslo, tak už je měla například sdělit rovnou po telefonu nebo poslat SMS. 2) Podruhé jsem myslel, že mě raní, když jsem přišel do kanceláře, kterou v průběhu měsíce navštívilo cca 500 osob, a na monitoru, na který bylo krásně vidět, bylo nalepené administrátorské heslo, které z nějakých důvodů dotyčná osoba používala. pro různé systémy nesmí být ponechána výchozí hesla jako např. admin, manager, apod. defaultní hesla pro různá zařízení najdete např. na stránce: http://www.cirt.net/passwords nepoužívat stejné heslo do důležitých systémů (např. nesmí být stejné administrátorské heslo na více serverech) uživatelé nesmí používat stejné heslo do uvedených systémů (např. přístup k síti a heslo do firemní databáze, aby v případě vyzrazení jednoho heslo nebylo ohroženo vše. Zejména pak hesla na soukromé e‐maily, diskusní fóra apod. by měla byt jiná než pracovní hesla!) administrátor (bezpečnostní pracovník) je oprávněn ověřovat bezpečnost hesel pomocí pokusů o prolomení hesla. V případě, že se heslo podaří prolomit, je uživatel povinen heslo změnit. nedodržování zásad pro práci s uživatelskými účty a hesly bude považováno za porušení pracovní kázně heslem by nemělo být:  slovo ve slovníku (anglickém, českém …)  obecně známé posloupnosti znaků jako např. abcdefgh, qwerty, 123456 apod.  jméno firmy  snadno uhodnutelné osobní údaje jako osobní jméno své, rodinných příslušníků, oblíbené skupiny, sportovního klubu apod.  žádný z výše uvedených výrazů zapsaný pozpátku nebo doplněný na začátku nebo na konci o jednu číslici např. queen1 heslo by mělo splňovat tyto požadavky:  minimální délka 8 znaků  střídání velkých a malých znaků  obsahuje číslice  obsahuje speciální znaky jako $#@&^* apod.  není uvedeno ve slovníku Jak si tedy takové heslo, které splňuje tyto požadavky zapamatovat?
Použijte oblíbenou větu nebo rčení z vaší oblíbené knihy, písničky apod. a použijte třeba první nebo
poslední písmena. Například věta, která mi utkvěla v paměti z románu Jméno růže Umberta Ecca:
Někdejší růže máme ve své moci už jen co jména pouhá.
Heslo by pak mohlo vypadat:
Nrmvsmujcjp
Samozřejmě stále neodpovídá uvedeným požadavkům, takže bychom ho mohli vylepšit:
Nr#v$#ujcjp2003,kdy jsem nahradil písmeno „m“ znakem „#” a písmeno „s“ znakem „$“ a
číslo na konci je rok vydání knihy.
23 V nastavení bezpečnostních zásad v systému Windows, které najdete v Ovládacích panelech a Nástrojích pro správu, se nachází zásada „Heslo musí splňovat požadavky na komplexnost“. Tím se myslí právě to, že heslo musí obsahovat malá i velká písmena, číslici a speciální znak. „Sílu“ hesla si můžete například vyzkoušet na stránce http://www.passwordmeter.com/ a pro ty, co mají problém s angličtinou na stránce http://hodza.net/password‐meter/. Na prověření jsem zadal námi používané heslo pro cvičné účely „student“ a na obrázku vidíte výsledek. Co mě ale zaujalo, že stejné prostředí v české a anglické verzi vydalo pro stejné heslo odlišný výsledek ‐ v české pro heslo „student“ 2% a v anglické verzi získalo heslo „student“ 5% (patrně kvůli rozdílu v počtu znaků ve znakové sadě mezi angličtino a češtinou). Odlišné výsledky byly také pro heslo „kocicka“. Zajímavého výsledku pak dosáhnete, když navíc do hesla přidáte diakritiku. Schválně si porovnejte výše navržené 2 varianty hesla z románu Jméno růže. Příklad Přesvědčte se sami, jak je důležité provádět kontrolu nevhodných hesel. Jedním ze způsobů je v Linuxu použití například programu crack nebo programu john (John the Ripper). Pomocí těchto nebo jiných programů můžete zkontrolovat, zda hesla ve vašem systému nebo síti jsou dostatečně bezpečná. Pokud máte systém nastavený dobře, tak k souboru /etc/shadow by měl mít přístup jen root. Výsledek programu john také najdete v souboru /root/.john/john.pot. Tento soubor byste měli po ukončení práce (upozornění uživatelů, aby si změnili nevhodná hesla) zničit. 24 Při tvorbě hesel je nám trochu
nápomocna
sama
čeština.
V případě prolamování hesla
pomocí slovníku záleží na tom,
které slovníky
jsou použity.
V tomto případě používáme pro
uživatele root i ostatní uživatele
heslo „student“, které je
v anglickém i české slovníku.
Takže heslo student bylo
prolomeno za něco málo přes
minutu. Když jsem zadal
jednomu
uživateli
heslo
„kocicka“ nepodařilo se heslo
nalézt ani za 4 hodiny (ale
pozor,
heslo
neodpovídá
požadavkům na heslo a
v případě
použití
českého
slovníku
by
mohlo
být
prolomeno velice rychle).
A jen tak mimochodem, zde vidíte důvod, pro který byste neměli mít stejná pracovní a soukromá hesla. Co když naopak administrátor při kontrole pracovních hesel odhalí a zneužije tato hesla pro přístup k soukromým datům uživatelů?! Totéž platí i naopak. A ještě jedna rada pro administrátory, pokud se rozhodnete prověřovat sílu použitých hesel, vyžádejte s k tomu písemné pověření od zodpovědné nadřízené osoby. Požadavek nezapisovat hesla je opodstatněný, ale má jednu výjimku ‐ hesla administrátorská. Nemůžete nastavit administrátorská hesla a nikde je nepoznačit. Co když se vám něco stane při autonehodě? Jak si pak váš zástupce poradí? To bude instalovat celé systémy znovu, aby k nim získal přístup? To by mohlo firmu existenčně ohrozit!  Seznam administrátorských hesel poznamenat, zapečetit a umístit do firemního trezoru. Nepřežeňte to s opatřením k heslům. Když stanovíte zásady příliš tvrdě, budou se uživatelé snažit hesla obcházet, zaznamenávat si je například do peněženky (to není veřejně přístupném místo, ale když peněženku ztratí…). Řiďte se zdravým rozumem. Pro některé běžné systémy s méně citlivými informacemi mohou být hesla jednodušší a nemusí například splňovat požadavky na komplexnost. Je přece rozdíl, jestli budete řešit Ministerstvo vnitra nebo výrobnu obuvi . Zásady používání notebooků a jiných přenosných zařízení Vzhledem k tomu, že informace na nich uložené jsou ohroženější, je dobré stanovit, které informace na přenosných zařízeních mohou nacházet (případně naopak nesmí) a zejména jak tyto informace zabezpečit a jak přenosné zařízení používat, aby nedošlo k ohrožení těchto informací. Zásady používání elektronické pošty  otevírání příloh  přeposílání důvěrných a citlivých informací  odesílání nevyžádané a reklamní pošty (spamu)  až po formu předmětu e‐mailů a jejich ukončování Součástí těchto dokumentů pak může být definice nepřípustného (zakázaného chování) jako například:  porušování práv libovolné osoby či společnosti chráněných autorskými zákony, obchodním tajemstvím nebo obdobnými předpisy včetně instalace a distribuce software, jehož užívání není kryto odpovídající licencí zakoupenou firmou  instalace škodlivého software (viry, červi, trojští koně apod.)  prozrazení hesla nebo umožnění používání uživatelského účtu  využívání počítačových systémů firmy k činnosti narušující dobré mravy a vztahy na pracovišti  jednání, které má za následek narušení bezpečnosti nebo síťové komunikace  monitorování (odposlech) provozu sítě, pokud není součástí pracovních povinností zaměstnance  obcházení mechanismů zabezpečení libovolného hostitelského systému, účtu nebo sítě  poskytování informací o zaměstnancích firmy vnějším subjektům Implementace zásad silných hesel ve Windows a Linux: Windows 25 

Zásady pro hesla se ve Windows nastavují v Zásadách zabezpečení. Rozdíl ovšem je, kde je najdete v jednotlivých verzích Windows. Windows 7 Home Premium: neobsahují Místní zásady zabezpečení Linux  Pro systémy, které nepoužívají moduly PAM, se nastavuje defaultní chování pro uživatelské účty vč. hesel v souboru /etc/login.defs Shrnutí: Při navrhování bezpečnostních pravidel sítě by měl administrátor vycházet z organizačních a bezpečnostních pravidel firmy, které jsou pak na základě analýzy bezpečnostních rizik rozpracovány do bezpečnostních zásad a ty dále do konkrétních opatření. Součástí návrhu by mělo být posouzení rizik, citlivosti uchovávaných informací (nejen těch aktuálních ale také archivovaných), přístupu k informacím v databázích, pravidla práce s hesly, použitých metod šifrování, zásady nakládání s e‐maily, pravidla pro antivirovou ochranu, vzdálený přístup, použití VPN, využití zdrojů firmy a řada dalších podle situace v konkrétní organizaci. Kontrolní otázky: 1.
2.
3.
4.
5.
Popište, co by mělo být obsahem jednotlivých oblastí bezpečnosti organizace Navrhněte, co by mělo být obsahem bezpečnostního auditu organizace Uveďte, jaké zásady je vhodné dodržovat při tvorbě hesel Uveďte příklady silných a slabých hesel Jaké problémy můžete očekávat, jestliže zvolíte příliš restriktivní politiku v oblasti hesel 6. Kde (jak) se zásady implementují ve Windows 26 3.
Šifrování
Klíčové pojmy: plain‐text, šifrovací klíč, šifrovací algoritmus, kryptografie, kryptoanalýza, síla šifrovacího algoritmu, symetrický klíč, asymetrický klíč, autentizace, integrita dat, důvěrnost dat, digitální podpis,certifikát, certifikační autorita, hash, MD5, SHA, HMAC, DES, 3DES, AES, privátní klíč, veřejný klíč, steganografie, VPN, tunelování dat, duální tunelování, L2TP, IPSec Než budete pokračovat v dalším studiu, zamyslete se nejdříve sami nad tím, kde všude se, a jaká jsou, citlivá data, s kterými pracujete, ukládají a přenášejí. Aniž si to uvědomujeme, stále pracujeme s řadou citlivých dat. Citlivá data se ukládají na:  servery a počítače v pracovní síti  flash paměti, CD, DVD a jiná přenosná média  posíláme je elektronickou poštou jak ve firemní síti, tak přes Internet  nahráváme řadu citlivých dat na veřejné servery  máme řadu citlivých dat i na domácím (nebo přenosném) počítači A teď se vážně zamyslete, kdo k těmto dokumentům může mít přístup a to jak za běžného provozu, tak za mimořádných situací jakou jsou ztráta nebo krádež. Ať už máte data uložena kdekoli, tak jsou obvykle v podobě prostého textu (tzv. plain text), ke kterému má přístup minimálně administrátor. Při přemýšlení o citlivých informacích nebo dokonce tajných informacích vycházejte z toho, že schopný administrátor sítě se dostane všude. Proto ochranou těchto dat je jejich šifrování. A to už ani nemluvím o ztracených flash pamětech a přenosných HDD apod. Poznámka: pokud máte opravdu citlivá data, v žádném případě byste neměli spoléhat jen na nastavení přístupových oprávnění. Když totiž připojíte disk z počítače s OS Windows, kde jsou perfektně nastavená oprávnění do Linuxu, jako by tam žádná oprávnění nebyla. Schválně si to vyzkoušejte! Základní pojmy: šifrování: činnost, při které se převádí data pomocí šifrovacího klíče (hesla) a šifrovacího algoritmu do pozměněné (nečitelné) podoby. šifrovací klíč (heslo): šifrovací klíč je vlastně heslo, pomocí něhož se data šifrují. Výsledná síla šifrování závisí nejen na použité šifrovací metodě (šifrovacím protokolu, šifrovacím algoritmu), ale také na kvalitě samotného klíče. A platí pro něj obdobná pravidla jako pro hesla! šifrovací algoritmus: postup šifrování pomocí šifrovacího klíče. symetrický algoritmus (symetrické šifrování) asymetrický algoritmus (asymetrické šifrování síla šifrovacího algoritmu: udává dobu, kterou je potřeba pro „uhádnutí“ použitelného klíče k dešifrování. Odolnost klíče je dána:  délkou klíče  množinou znaků, z nichž je klíč sestaven kryptografie: věda zabývající se šifrováním a šiframi (v obecném smyslu věda zabývající se utajováním smyslu zpráv) kryptoanalýza: věda zabývající se získáním informací ze zašifrovaných zpráv tzn. prolomením šifer. Existuje řada metod prolamování šifer např.: 27 


útoky hrubou silou (brute‐force attack): útočník zkouší různé šifrovací klíče, zda se jimi podaří dešifrovat zprávu. Právě proto při tvorbě klíče musíte dodržovat obdobná pravidla jako pro hesla, protože šifry založené na slabém klíči podlehnou útoku dříve. znalost nezašifrovaného textu: zná‐li útočník nezašifrovanou zprávu, může se pokusit nalézt klíč, kterým byla zpráva zašifrována  stejný klíč mohl být také použit u jiných zpráv, jejichž obsah útočník nezná. metody lineární a diferenciální kryptoanalýzy: útočník se snaží ve více různých zprávách zašifrovaných stejným klíčem najít matematické struktury a využít slabin v šifrovacích algoritmech a jejich implementacích. Jednou z nejtěžších částí při vytváření šifrovacího systému je správa klíčů, protože řada útoků míří právě proti správě klíčů. Šifrovací systém proto musí zajistit: 




vygenerování klíče v závislosti na generování náhodných čísel ověření spolehlivosti šifrovacího klíče uchování šifrovacího klíče. Šifrovací systémy sice běží v RAM, ale problém pro ně může představovat swapování paměti, případně trojští koně, kteří mohou získat přístup k privátnímu klíči výměnu klíčů mezi odesílatelem a příjemcem likvidaci starých nepoužívaných klíčů V současnosti se používá několik typů šifrovacích klíčů:  symetrické klíče ‐ odolnost řádově roky
 asymetrické klíče ‐ nejodolnější jsou asymetrické klíče
 digitální podpisy ‐ obecně platí, že čím delší klíč, tím pomalejší
 hashovací klíče (hashe) je výpočet (šifrování), ale vyšší bezpečnost
Jedním z problematických částí, každého šifrovacího systému je správa a uchování klíčů. Každý ze způsobů má své výhody a nevýhody:  uložení na HDD: riziko odcizení (trojští koně, ukradení disku, správci sítě apod.)  hardwarové klíče: čipové karty, mini klíče (USB Token), HSM (Hot Security Modul), kdy jsou klíče uchovávány mimo počítač. V případě šifrování souborů musí být důsledně odstraněny dočasné (nezašifrované) soubory. Při šifrování celých souborových systémů může být klíč zadán při startu OS. Šifrování souborového systému ochrání data při krádeži disku (počítače), ale neochrání data při spuštěném OS. Od toho jsou oprávnění, firewally apod. 3.1. Ověřováníautentizace,integrityadůvěrnosti
(šifrováníahashovacíalgoritmy)
Z hlediska použití šifrování můžete rozdělit šifrování na:  šifrování komunikace ‐ přenášených dat, kdy účelem je zajistit: o autentizaci (authentication): musí spolehlivě zajištěno ověření, že data odeslal pouze ten kdo má a ne někdo, kdo se za něj jen vydává o integritu dat (integrity): musí být spolehlivě zajištěno, že do dat nikdo nezasahoval (tzn., že je nikdo nezměnil, nic neubral ani nic nepřidal) o důvěrnost dat (confidentiality): musí být spolehlivě zajištěno, že zasílanou zprávu (data) si může přečíst pouze oprávněná osoba a nikdo jiný  šifrování uložených dat: souborů a adresářů na disku nebo celého souborového systému 28 Rychlost
šifrování
vyšší
nižší
Šifrovací a hashovací protokoly a algoritmy Autentizace HMAC‐MD5 HMAC‐SHA‐1 RSA a DSA Integrita MD5 SHA Důvěrnost DES 3DES AES Úroveň
zabezpečení nižší
vyšší
3.1.1. Ověřováníintegrity‐hash
Hašovací algoritmus (funkce) vytvoří hash (otisk), který ověří, že nedošlo ke změně v souboru. Jedná se o jednosměrný proces, kdy je ze zprávy (dat) pomocí hashovacího algoritmu vytvořen hash (otisk).  hashovací algoritmus je jednosměrný a z výsledného otisku nelze zpětně obnovit původní data (jen potvrdit jejich pravost)  hashovací algoritmus data nešifruje ani nepozměňuje, jen potvrzuje jejich pravost!  hash se sestaví tak, že z bitů celého dokumentu se vytvoří hash (otisk) a případná další změna v dokumentu se projeví změnou hashe  pak lze poznat změnu v dokumentu  hash slouží k ověření integrity (k ověření, že s daty někdo nemanipuloval).  hashovací algoritmy: MD5 a SHA (SHA‐1, SHA‐224, SHA‐256, SHA‐384,SHA‐512). Přičemž SHA‐224, SHA‐256, SHA‐384,SHA‐512 bývají označovány jako SHA‐2 (ale toto označení není standardizováno). V původním dokumentu
je uvedeno číslo účtu, na
které se má provést
platba.
Mezitím bylo číslo účtu
v dokumentu změněno.
Všimněte si, že se změnil
hash
souboru

v dokumentu došlo ke
změně
Poznámka: v tomto případě došlo ke změně dat v rámci jednoho systému, ale obdobně můžete odhalit změnu v dokumentu, který vám byl zaslán přes Internet tak, že si u zdroje např. na webových stránkách odesílatele (dále v textu najdete lepší způsob) porovnáte hash doručeného dokumentu se zveřejněným hashem. Nezapomeňte, že z hashe se nedá sestavit původní dokument, takže hash můžete zveřejnit. Na následujícím obrázku si všimněte rozdílu v délce hashe při použití různých hashovacích algoritmů. Čím delší je hash, tím je odolnější vůči útokům hrubou silou. 29 MD5 (Message Digest 5):  ze vstupních dat se generuje 128bitový hash (otisk)  oproti SHA je jeho vytváření rychlejší, ale vytváří kratší hash SHA (SHA‐1, SHA‐224, SHA‐256, SHA‐384,SHA‐512)  skupina hashovacích algoritmů  v původním SHA byla nalezena díra a proto byl nahrazen SHA‐1. U SHA‐1 se uvádí, že může mít slabinu, ale zatím nebyl na něj potvrzen útok, ale přesto se doporučuje používat některý z algoritmů SHA‐224, SHA‐256, SHA‐384,SHA‐512.  SHA‐1 vytváří 160 bitový hash a u ostatních algoritmů je délka hashe uvedená v jejich názvu  SHA algoritmy jsou pomalejší než MD5, ale odolnější, protože používají delší  v současné době probíhá vývoj hashovacího algoritmu SHA‐3 Hashe se v kombinací s jinými technologiemi využívá k řadě dalších funkcí  primárně k ověření integrity dat  v kombinaci se sdíleným tajným klíčem k doložení autenticity dat (že data odeslal ten, kdo měl) ‐ HMAC  v případě digitálního podpisu nebo veřejného klíče (viz. asymetrická šifra) pomáhá hash určit, že s digitální podpise nebo veřejný klíč nikdo nepozměnil (v tom případě by jejich hash neodpovídal původnímu spočítanému a zveřejněnému hashi)  lze také použít k „hlídání“, že nedošlo ke změně v důležitých vybraných souborů OS  hashe se také často používá při ověřování hesel. Aby nemuselo být heslo zasíláno skrz síť, byť v zašifrované podobě, kdy může být zachyceno a může být proveden pokus o jeho prolomení, vytvoří se na straně klienta hash hesla, který se odešle na server. Server pak z hesla, které má uložené vytvoří hash a porovná jej s doručeným hashem. Nezapomeňte, že se jedná o jednosměrný proces a z hashe nelze poskládat původní data. HMAC (KHMAC) ‐ Keyed‐Hash Message Authentication Jedná se o kombinaci hashovací funkce a tajného sdíleného klíče, který zná jen odesílatel a příjemce. Slouží tedy k identifikaci odesílatele a příjemce, protože jen oni mohou znát tajný klíč. Odesílatel
Příjemce
Zasílaný
dokument
Zasílaný
dokument
Tajný klíč
Hashovací
algoritmus
Dokument
+ hash
Tajný klíč
Hashovací
algoritmus
hash
hash
Příjemce z dokumentu (dat, zprávy), který dostal, a tajného klíče, na kterém se dohodli,
vygeneruje hash, který porovná s doručeným hashem. Pokud oba souhlasí, je potvrzena
jak integrita dat, tak totožnost odesílatele, protože jen on a odesílatel znají tajný klíč
(vychází se z předpokladu, že se klíče nikdo nezmocnil).
Problémem, stejně jako v řadě jiných případů např. zabezpečení wifi, může být výměna (nastavení) klíče na příjemci a odesílateli, kdy je nutné je nastavit ručně na 30 obou stranách komunikace, a jejich pozdější aktualizace, kdy je opět nutné je změnit ručně. Alternativou k použití HMAC nepoužití digitálních podpisů, ale výhodou HMAC je, že je postačí na zařízeních pouze nastavit (pokud jsou dostatečně složité a není vyžadována jejich pravidelná změna). Například Cisco používá k výměně směrovacích informací HMAC, k autentizaci pomocí IPsec mezi bránou a klientem HMAC, k ověření integrity obrazů IOSu MD5. 3.1.2. Ověřovánídůvěrnostiaautentizace‐šifrování
Šifrování zajišťuje důvěrnost dat, tzn., že data si může přečíst pouze oprávněná osoba, která zná šifrovací/dešifrovací klíč, na jehož základě jsou data zašifrována a dešifrována. Rozlišují se dva způsoby šifrování ‐ symetrické a asymetrické šifrování, z nichž každý způsob má své výhody a nevýhody. Často se používá kombinace obou metod šifrování. symetrický algoritmus (symetrická šifra):  také se používají pojmy jako symetrický klíč = sdílený klíč = sdílený tajný klíč  pro šifrování a dešifrování se používá stejný klíč  odesílatel i příjemce musí klíč znát  problémem je, jak si vzájemně klíč sdělí (jakými bezpečnými kanály)  výhodou oproti asymetrickému šifrování je rychlý výpočet a menší nároky na výkon, proto jsou symetrické šifry používány pro šifrování dat o větším objemu např. pro přenosy VPN.  problémem je, výměna klíčů s neznámou druhou stranou  problémem je také, jak udržet klíč v tajnosti, když je sdílen více stranami. Příkladem sdíleného klíče je např. klíč WEP nebo WPA (WPA2) u bezdrátových sítí. Otázkou je, jak dlouho udržíte v tajnosti klíč, který pro připojení k wifi používá 50 lidí, když tito lidé klíč znají?!  příkladem symetrického šifrovacího algoritmu je DES, ale pro problémy s ním byla vyvinuta řada dalších šifrovacích algoritmů jako 3DES, Desx, Blowfish, Cast, Skipjack, Twofish, IDEA, RC2/4/5/6, Rijndael. A právě Rijndael byl vybrán, aby se stal standardem AES. algoritmus DES (Data Encryption Standard): o používá 56 bitový klíč (klíč o 8 znacích při 7 bitech nebo 7 znacích při osmi bitech za znak) o s rozvojem počítačů se ukázal jako nedostatečný (byl prolomen) a proto byl vyvinut 3DES algoritmus 3DES (Triple DES): o odvozen z DES, ale jeho prolomení není jen 3x obtížnější, ale mnohonásobně obtížnější o pro šifrování používá 3 samostatné klíče a efektivní délka výsledného klíče je tedy 168 bitů (24 znaků po 7 bitech) a výsledný počet kombinací je tedy 2168 o pro šifrování ale není vhodné zadat 3 stejné klíče! o omezení:  pomalejší protože se provádí šifrování 3x  riziko v případě, že jsou zadány 3x stejné klíče algoritmus AES (Advanced Encryption Standard) o rychlý v hardwarovém i softwarovém provedení 31 o
o
používá 128, 192 a 256 bitový klíč byl vybrán k nahrazení DES a 3DES, nicméně protože se jedná o relativně mladý algoritmus, je často za důvěryhodnější považován 3DES, protože je testován a prověřován delší dobu asymetrický algoritmus (asymetrická šifra, algoritmus veřejného klíče ):  k šifrování a dešifrování se používají různé klíče ‐ veřejný a privátní. K šifrování i dešifrování se dají použít oba klíče, ale s různými výsledky: šifrování dešifrování použití veřejným klíčem privátním klíčem Důvěrnost dat privátním klíčem veřejným klíčem Autentizace a integrita dat  šifrovací algoritmy: Diffie‐Hellman, RSA, ElGamal, Elliptical curve, DSS a DSA (Digital Signature Standad a Digital Signature Algorithm) privátní klíč: je znám pouze vlastníkovi; měl by ho hlídat jako oko v hlavě a v žádném případě nedávat k dispozici nikomu jinému veřejný klíč: vlastník soukromého klíče dá veřejný klíč k dispozici každému, kdo jej bude potřebovat. 
Data jsou zašifrována pomocí veřejného klíče a k dešifrování je použit privátní klíč  chci‐li zaslat někomu zašifrovaný dokument, použiju jeho veřejný klíč (který mi poslal) k zašifrování dokumentu. Příjemce k dešifrování použije privátní klíč, který je znám jen jemu. Karel odesílatel) chci zaslat
bezpečně soubor Dopis.doc.
K zašifrování použiji Pavlův
veřejný klíč, který mi poslal.
asymetrické šifrování využívají např.: o IKE (Internet Key Exchange) zajišťující v rámci VPN dohody o šifrování a hashovacím algoritmu o SSL a TSL o SSH o PGP 
zajištění důvěrnosti pomocí asymetrického šifrování. Vychází se z předpokladu, že privátní klíč má pouze oprávněná osoba, protože data zašifrovaná pomocí veřejného klíče lze dešifrovat pouze pomocí privátního klíče. Odesílatel
Dokument
Příjemce
Veřejný klíč
příjemce
Šifrovací
algoritmus
Zašifrovaný
dokument
Šifrovaný
dokument
Šifrovaný
dokument
Privátní klíč
příjemce
Šifrovací
algoritmus
Dokument
32 Pavel
(příjemce)
dostane
zašifrovaný Dopis.doc.
K dešifrování
použije
svůj
privátní klíč (který má jen on). 
Zašifrovaný soubor

zajištění autentizace pomocí asymetrického šifrování. Vychází se z předpokladu, že šifrování pomocí privátního klíče, který nemá mít nikdo jiný než oprávněná osoba, může provést právě a jen ona oprávněná osoba. V tomto případě se nejedná o zajištění toho, že data nesmí nikdo přečíst, ale ověření, že data odeslala pouze ta správná osoba. Dešifrování pak může provést každý, kdo získal veřejný klíč odesílatele (např. z webových stránek, e‐mailem, z předchozí komunikace apod. Odesílatel
Příjemce
Privátní klíč
odesílatele
Dokument
Zašifrovaný
dokument
Šifrovaný
dokument
Šifrovací
algoritmus
Šifrovací
algoritmus
Šifrovaný
dokument

Veřejný klíč
odesílatele
Dokument
zajištění integrity, autentizace a důvěrnosti Odesílatel
Dokument
Privátní klíč
odesílatele
Příjemce
Veřejný klíč
příjemce
Hashovací
algoritmus
Šifrovací
algoritmus
hash
Šifrovaný
dokument
Šifrovací
algoritmus
ZASÍLANÁ
ZPRÁVA
Veřejný klíč
odesílatele
ZASÍLANÁ
ZPRÁVA
Zašifrovaný
hash
Dešifrovací
algoritmus
Zašifrovaný
hash
Privátní klíč
příjemce
Zašifrovaný
dokument
hash
Dešifrovací
algoritmus
Dokument
Hashovací
algoritmus
hash
Porovnáním hashe vypočteného
z dešifrovaného dokumentu a doručeného hashe
příjemce ověří, že s dokumentem nikdo nemanipuloval.

asymetrické šifrování je často až 1000krát pomalejší než symetrické, proto se často používají jen pro výměnu symetrických klíčů a digitální podpisy 
obvykle se délka asymetrického klíče pohybuje od 512 do 4096 bitů, přičemž klíče od 1024 bitů se považují za spolehlivé, kdežto klíče kratší za nespolehlivé. Nesrovnávejte požadavky na délku asymetrického a symetrického klíče, protože se liší jejich algoritmy. Takže například RSA s délkou klíče 2048 bitů a RC4 s délkou klíče 128 bitů poskytují přibližně podobnou odolnost vůči útokům hrubou silou. 3.1.3. Scénářezajištěníintegrity,důvěrnostiaautentizace
Pro zajištění integrity, důvěrnosti a autentizace se používá kombinace symetrického a asymetrického šifrování z toho důvodu, že symetrické šifrování je rychlejší než asymetrické. 33 Scénář č. 1: zajištění důvěrnosti Karel potřebuje zajistit, aby si zprávu, kterou chce poslat, mohl přečíst jen Pavel. 1. Karel vytvoří symetrický klíč, který zašifruje pomocí Pavlova veřejného klíče 2. Karel symetrický klíč, který je zašifrován Pavlovým veřejným klíčem, pošle Pavlovi. 3. Pavel příjme symetrický klíč, který je zašifrován jeho veřejným klíčem. A protože Pavel má privátní klíč, může takovou zprávu dešifrovat. Tím získá symetrický klíč, který použije k dešifrování zprávy, kterou mu Karel pošle. 4. Karel zašifruje zprávu pomocí symetrického klíče a pošle ji Pavlovi. 5. Pavel zprávu dešifruje pomocí symetrického klíče. Otázkou, která vás může napadnout, je, proč Karel také nezašifruje zprávu pomoci Pavlova veřejného klíče a proč používá symetrické šifrování se sdíleným klíčem, který musí Pavlovi bezpečným způsobem sdělit. Samozřejmě by mohl zprávu zašifrovat i veřejným klíčem, ale asymetrické šifrování a dešifrování je náročnější na výpočetní kapacitu. Scénář č. 2: Integrita (neporušenost) dat: Karel chce Pavlovi poslat zprávu a přitom chtějí mít oba jistotu, že do zprávy nikdo nezasahoval (že zpráva nebyla pozměněna). 1. Karel vypočítá ze zprávy hash a výsledný hash zašifruje pomocí Pavlova veřejného klíče 2. Karel odešle zprávu a zašifrovaný hash Pavlovi 3. Pavel dešifruje zašifrovaný hash pomocí svého privátního klíče a spočítá hash z doručené zprávy a oba hashe porovná. Tím ověří, a se zprávou nebylo manipulováno. I pokud by někdo pozměnil zprávu, pak by se změnil i hash původní zprávy a onen útočník nemůže změnit zašifrovaný hash. Problém: pokud by někdo, říkejme mu např. Karel, zachytil zprávu Karel pro Pavela a byl schopen původní zprávu zadržet (tzn. někdo přes koho prochází celá komunikace), mohl by sestavit novou upravenou zprávu. Z této zprávy vypočítat nový hash, ten zašifrovat pomocí Pavelova veřejného klíče a zprávu odeslat Pavelovi jako Karel. Tento problém vychází z předpokladu:  Karel je schopen zadržet a nepřeposlat Alicinu původní zprávu  původní zašifrovaný hash je součástí původní zprávy a nedorazil k Pavlovi jinou cestou  Pavel nemá možnost ověřit, že zprávu odeslal Karel. Předpokládáme, že zpráva není autentizována. Podívejte se na následující scénář. Scénář č. 3: Autentizace Karel chce Pavlovi dokázat, že zprávu, kterou obdržel, odeslala opravdu ona 1. Karel spočítá hash svojí zprávy, zprávu podepíše a podpis zašifruje svým privátním klíčem 2. Karel odešle zprávu se zašifrovaným hashem Pavlovi 3. Pavel ověří zašifrovaný podpis tak, že jej dešifruje pomocí Alicina veřejného klíče. Takže zprávu mohl odeslat jen Karel, protože jen ten má privátní klíč (což je důležitý předpoklad bezpečnosti) 34 Scénář č. 4: kombinace zajištění důvěryhodnosti, integrity dat a autentizace Karel potřebuje Pavlovi poslat zprávu a zajistit, aby si ji mohl přečíst jen Pavel a aby měl Pavel jistotu, že se zprávou nikdo nemanipuloval a že zprávu odeslala opravdu ona. 1. Karel vytvoří symetrický klíč, kterým později zašifruje samotnou zprávu a tento klíč zašifruje Pavlovým veřejným klíčem 2. Zašifrovaný klíč odešle Pavlovi, který symetrický klíč získá tak, že jej dešifruje pomocí svého privátního klíče 3. Karel napíše zprávu, z níž vypočítá hash, který digitálně podepíše (tzn., zašifruje jej pomocí svého privátního klíče). 4. Karel zašifruje celou zprávu vč. digitálního podpisu symetrickým klíčem a zašifrovanou zprávu odešle Pavlovi. 5. Pavel obdrží zprávu a protože má symetrický klíč (viz.bod 1 a 2), může zprávu dešifrovat. Uvnitř najde zprávu včetně hashe zašifrovaného pomocí privátního klíče Karel. Klíč ověří pomocí veřejného klíče Karel, zkontroluje otisk zprávy s otiskem zaslaným Alicí  má jistotu, že se zprávou nikdo nemanipuloval 6. Pavel má jistotu, že zprávu odeslala Karel, protože jen ona sama mohla zašifrovat otisk pomocí privátního klíče, což mohl ověřit pomocí jejího veřejného klíče. 3.1.4. digitální(elektronické)podpisy:








úkolem je ověřit, že dokument vydala správná osoba a ne někdo, kdo se za ní vydává podpis je součástí dokumentu a nesmí být přemístitelný do jiného dokumentu v podstatě se jedná o otočený princip veřejného a privátního klíče nešifruje se celý dokument, ale jen hash (otisk). dokument se zašifruje pomocí privátního klíče a k dešifrování je použit veřejný klíč  dokument zašifruji privátním klíčem a pokud ho příjemce dokáže pomocí mého veřejného klíče dešifrovat, tak si ověří, že je to opravdu můj dokument. rozdíl mezi digitálním podpisem a šifrováním je v tom, že se používá klíč odesílatele nikoli příjemce je potřeba dokázat, že dokument byl vydán opravdu danou osobou (organizací) a že dokument nebyl pozměněn. Dokument musí splňovat požadavky: o důvěrnosti (často není požadován, protože dokument může být veřejný) o autentizace o integrity o nepopíratelnosti (tzv. non‐repudiation; tzn., ten kdo podepsal, nesmí později tvrdit, že tak neučinil). V mnoha státech je digitální podpis považován za rovnocenný vlastnoručnímu podpisu  chránit privátní klíč před odcizením. pro podepisování certifikátů se mj. používá RSA nebo DSA a je potřeba zvážit, dopady v používání jednotlivých algoritmů podle převažující činnosti, kterou budete častěji vykonávat generování podpisu ověřování podpisu 
DSA rychlé pomalé problematika digitálních podpisů je svázána s pojmy certifikát a certifikační autorita 35 RSA pomalé rychlé certifikát:  rozdíl oproti digitálnímu podpisu je v tom, že pravost lze ověřit u certifikační autority  certifikát obsahuje: o veřejný klíč uživatele o identifikační údaje o uživateli o identifikační údaje certifikační autority o řadu dalších informací  certifikát je podepsán certifikační autoritou (tzn., z certifikátu je spočítán hash, který je zašifrován privátním klíčem certifikační autority. Veřejný klíč, certifikační autority, pomocí něhož lze hash dešifrovat ‐ ověřit, veřejně dostupný, často je zavedený v řadě systémů při instalaci).  výhodou je, že při výměně veřejných klíčů mezi komunikujícími stranami, se nemusí posílat neověřené veřejné klíče samostatně, ale pošle se certifikát, který je podepsán CA, a jeho součástí ve veřejný klíč. Příjemce certifikát ověří, zda certifikát byl vydán pro něj důvěryhodnou CA, tzn., dešifruje hash pomocí veřejného klíče CA. Certifikační autorita (CA ‐ Certificate Authority) Problémem v případě infrastruktury veřejných a privátních klíčů je v tom jak poznat, že veřejný klíč je opravdu od toho, od koho má být. Z těchto důvodů je vytvořen systém CA, které potvrzují pravost veřejných klíčů.  CA vystupuje jako třetí strana, které důvěřujeme  CA ověřuje veřejné klíče a identifikační údaje, tzn., potvrzuje, že daný veřejný klíč a identifikační údaje jsou opravdu od daného uživatele  CA také používá veřejné klíče, které jsou začleněny do každého systému, a označují se jako „certifikát CA“  CA registruje podepsané veřejné klíče zákazníků Problematika digitálních certifikátů, jejich tvorby, správy a ověřování je nad rámec tohoto materiálu, ale pro zájemce mohu doporučit knihu autorů Libor Dostálek a Marta Vohnoutová pod názvem Velký průvodce infrastrukturou PKI a technologií elektronického podpisu. Použití CA jako třetí strany je dobrý způsob sdílení veřejných klíčů, ale stojí peníze. Další metoda, jak sdílet veřejný klíč, se označuje jako „web of trust“, tzn., že si 2 uživatelé (Karel a Pavel), kteří si důvěřují navzájem, vymění veřejné klíče. Když pak Karlův známý bude potřebovat potvrdit svou totožnost, potvrdí ji Karel a Pavel tomuto potvrzení bude důvěřovat. Tzn., že Karel podepíše Pavlův veřejný klíč. Takto probíhá vzájemné ověřování uživatelů. 3.1.5. Steganografie
Jedná se o jeden z oborů kryptografie, který se zabývá skrytím zprávy (jejím utajením) v rámci jiného sdělení např. zakódováním obrázku, videa, audia apod. Často se kombinuje se šifrováním.  průvodní využití v oblasti vojenství nebo kriminálních aktivitách se dnes rozšiřuje do oblasti komerční za účelem utajení zpráv. Například může být použito k propašování firemních dat přes filtry, které kontrolují příchozí/odchozí komunikaci apod.  jedná se také o jeden ze způsobů jak data ochránit, protože v některých státech může být tresné odmítnout dešifrovat disk (data).  často se používá k ochraně autorských práv tak, že do obrázku jsou vloženy informace o copyrightu, který může usvědčit ze stáhnutí obrázku 36 Pozn. nejjednodušší způsob jak se může skrytá zpráva poškodit (ztratit) je, když například provedete převod jpeg  tiffjpeg. I když bude obrázek vypadat stejně, rozložení bitů bude jiné. Měli byste si být vědomi, že takováto eventualita ochrany dat existuje. Pro vyhledání konkrétní informace použijte např. v Google „steganography tools“ Kontrolní otázky: 1. Charakterizujte rozdíl mezi zajištěním autentizace, integritou dat a důvěrnosti dat. 2. Vysvětlete rozdíl mezi symetrickým a asymetrickým šifrováním. 3. Vysvětlete princip práce symetrických šifrovacích algoritmů. 4. Jaká pravidla platí pro privátní a veřejný šifrovací klíč? 5. Vyjmenujte symetrické šifry. 6. Vyjmenujte asymetrické šifry. 7. Objasněte možnosti použití hashe. 8. Jaké se používají hashovací algoritmy (funkce)? 9. Vysvětlete pojmy certifikát a certifikační autorita. 37 3.2. VPN(VirtualPrivateNetwork)
VPN slouží k vytvoření bezpečného tunelu přes veřejnou síť. Výhodou je, že není nutné pořizovat si „bezpečné“ spojení pomocí pronajaté linky (nebo vytáčeného spojení), ale využívá se stávajícího připojení k veřejné síti (Internetu). VPN: šifrované spojení, které pro přenos dat mezi 2 koncovými body používá bezpečný komunikační tunel vedený (sestavený) přes Internet nebo jinou veřejnou síť. 



šifrované spojení mezi 2 koncovými body spojení je autentizováno a tok dat je šifrován pozor, poskytuje bezpečný tunel, ale neřeší bezpečnost koncových bodů! na spojení přes VPN pohlížet jako na externí spojení  jen nezbytná privilegia tunelování dat: Systém vezme celý paket, který má být přenesen, zapouzdří a zapouzdří jej do jiného paketu. Při tunelování pracují 3 různé protokoly: 
přenášený (nesený) protokol: původní protokol nesoucí data (obvykle IP protokol) 
obalový protokol (zapouzdření):protokol, který se obalí kolem původních dat (IPSec, L2TP…); obvykle provádí také šifrování. 
nosný protokol: výsledný paket obalového protokolu se znovu zapouzdří do nosného protokolu (obvykle IP). To proto, že data zapouzdřená v obalovém protokolu a opatřena hlavičkami např. IPSec nemohou putovat po síti, protože jsou pro routery nečitelné  proto se musí už zapouzdřený paket znovu zapouzdřit a opatřit „čitelnými“ hlavičkami, aby mohl být přenesen skrz síť. oddělené (duální) tunelování: umožňuje, aby byl uživatel současně připojen tunelem VPN k chráněné síti a zároveň mohl pracovat i na Internetu  je nutné zvážit riziko duálního tunelování, protože v tomto okamžiku je počítač klienta připojen do dvou sítí  pokud by se útočníkovi podařilo napadnout počítač klienta, získává přes tunel přístup do chráněné sítě. obvykle využití VPN:  dočasné vytvoření tunelu ‐ např. z domova  trvalé propojení pracovišť (také označováno jako hardwarové VPN, intranetové VPN, LAN to LAN VPN apod.) ‐ obvykle realizováno specializovaným vybavením  extranetové VPN ‐ podobné trvalému propojení pracovišť, ale vnitřní síť je navíc chráněná pomocí firewallů ‐ například využíváno mezi obchodními partnery. Kromě rozdělení podle způsobu použití se můžete setkat s rozdělením VPN podle způsobu propojení na:  hostitel ‐ hostitel  hostitel ‐ brána (tzn. host ‐ gateway)  brána ‐ brána (tzn. gateway ‐ gateway) výhody VPN:  možnost pracovat odkudkoli 38 

protože je využito stávající připojeni ‐ úspora nákladů (není nutné platit vyhrazené linky) bezpečné propojení poboček nevýhody VPN:  pomalejší než LAN  méně bezpečné než vyhrazené linky  nezabezpečené nebo děravé klientské počítače mohou být zadními vrátky do jinak zabezpečené sítě  zvyšuje zatížení zařízení Spojení je zabezpečováno pomocí 2 protokolů: L2TP (Layer 2 Tunneling Protocol)  provádí tunelování na linkové vrstvě  pro autentizaci používá funkce protokolu PPP (a metod MSCHAP, CHAP, EAP, PAP …)  umožňuje vytvářet vícenásobné tunely mezi 2 hostitelskými počítači IPSec ‐ je považován za bezpečnější  pracuje na síťové vrstvě  standardizováno IETF  všichni dodavatelé poskytují alespoň režim IPSec kompatibilní 3.2.1. VPNsprotokolemIPSec
Protokol IPSec pracuje na síťové vrstvě modelu ISO/OSI a zajišťuje autentizaci a šifrování paketů. Původně byl vyvinut pro IPv6, ale podporuje i IPv4. Protokol IPSec zajišťuje následující funkce:  důvěrnost dat ‐ zajištěna šifrováním  integritu dat ‐ zajišťuje, aby paket nebyl při přenosu pozměněn. Integrita dat je zajištěna pomocí jednosměrného hashovacího algoritmu (paket se nejdříve zašifruje a autentizuje a pak se nad celým paketem spustí jednosměrný hash  vznikne hash (otisk), který je odeslán spolu s paketem. Příjemce pak spočítá hodnotu hashe z doručeného paketu a porovná s hashem odesílatele.  autentizaci původu dat ‐ autentizuje se zdroj odesílaných dat (mezi koncovými body VPN ‐ klient VPN, koncentrátor VPN, firewall, směrovač) pomocí: o sdíleného klíče o digitálního certifikátu uživatele o digitálního certifikátu zařízení  ochranu dat proti opakování relace ‐ IPSec umí detekovat opakované pakety a zamítnout je Protokol IPSec může při šifrování dat pracovat ve dvou režimech: tunelovacím a přenosovém (transportním). tunelovací režim: šifruje data i hlavičku paketu  ochrana celého paketu (protože se šifruje celý paket, je tento režim bezpečnější). 39 Původní
paket:
data
Ten, kdo šifruje, musí přidat novou hlavičku nosného
protokolu, protože původní hlavička s IPL adresou je
zašifrována  musí přidat novou hlavičku IP
protokolu, aby bylo možné paket přenést
hlavička
Šifrování
Nový paket:
hlavička IPSec
data
nová hlavička IP nešifrováno
zašifrováno
Této hlavičce rozumí routery,
které směrují paket přes síť
přenosový (transportní) režim: šifruje jen samotná data paketu (nikoli hlavičku) neseného protokolu Původní
paket:
data hlavička
Nešifrováno
Šifrování
Nový paket:
Přestože hlavička původního paketu není zašifrována,
musí se přidat nová hlavička, protože původní
hlavička je zapouzdřena protokolem IPSec a tudíž pro
směrovače nečitelná.
data
zašifrováno
hlavička IPSec
nová hlavička IP
nešifrováno
Této hlavičce rozumí routery,
které směrují paket přes síť
Protože IPSec šifruje data v paketu, je současně také zašifrována hlavička transportní vrstvy, což znamená, že ten, kdo by komunikaci zachytil, nezjistí, jaké službě (aplikačnímu protokolu) jsou data určena. Pro svou práci používá IPSec další doplňující protokoly jako ISAKMP, ESP, AH  ISAKMP ‐ zajišťuje fázi dohody o spojení v IPSec. Součástí je standard IKE, který zajišťuje dohodu klíčů, autentizaci partnerů, správu a výměnu klíčů, dohodu o době života bezpečnostních asociací SA, typ šifrování apod.  ESP ‐ zajišťuje důvěrnost a ochranu dat  AH ‐ zajišťuje autentizaci SA ‐ Security Association (bezpečnostní asociace)  vytvářejí vztah důvěry mezi partnerskými zařízeními a během vytváření tohoto vztahu se dohodnou na parametrech spojení  typy bezpečnostních asociací: IKE  obousměrný protokol zajišťující dohodu o šifrovacím algoritmu, hašovacím algoritmu a autentizační metodě  ve skutečnosti se jedná o kombinaci 2 protokolů SA (ISAKMP), který zajišťuje sjednání zabezpečení, a protokolu Oakley, který zodpovídá za výměnu klíčů Poznámka: zkratky IKE a ISAKMP se v různých zdrojích často používají ve stejném významu, byť se liší. IPSec SA  jednosměrný protokol ‐ tzn. že v každém směru komunikace se namazují samostatné asociace Poznámka: další variantou, jak spravovat výměnu klíčů ‐ ručně (ale je zde již zmíněný problém s pravidelnou výměnou klíčů; nebo v případě, že některý ze zaměstnanců odejde). 40 Princip fungování: Pro síť 4.0.0.0 /8 má nadefinovanou
bezpečnostní asociaci, která odkazuje
na IP adresu routeru RC tzn. 3.0.0.2
1. Router RA příjme ze sítě 1.0.0.0 paket,který je určený pro počítač 4.0.0.2, a zjistí, že má pro síť 4.0.0.0 nastavenou bezpečnostní asociaci (tzn., že ví, že provoz do sítě 4.0.0.0 musí tunelovat ‐ šifrovat). 2. RA zašle na RC žádost o navázání bezpečnostní autentizace, autentizuje se (pomocí sdíleného klíče, certifikátu nebo DNSSec) a domluví se na typu šifrování a sadě autentizačních klíčů a šifrovacích klíčů, pomocí nichž bude zajišťován přenos dat. 3. RA data (paket) zašifruje, zapouzdří do nosného protokolu a odešle 4. Paket putuje sítí, až dorazí k RC 5. RC paket dešifruje (tím, že ho umí a může dešifrovat, se ověří, že s paketem nebylo manipulováno a pochází od důvěryhodného zdroje, s kterým RC navázalo bezpečnostní asociaci a který měl k dispozici správné šifrovací klíče) 6. RC dešifrovaný paket, tzn. původní nesený paket, odešle počítači 4.0.0.2, který ani netuší, čím musel paket projít  šifrovaná autentizace:  slouží k ověření, zda s protějškem můžu otevřít tunel VPN. Tzn., zda protějšek je tím, za koho se vydává.  během autentizace si mohou vyměnit klíče pro šifrování datových přenosů  šifrovaná autentizace se provádí pomocí: sdíleného klíče ‐ v tomto případě jej musí znát obě strany, a touto znalostí prokážou, že jsou tím, za koho se vydávají. Aby se nepřenášel samotný klíč, posílá se jeho jednosměrný hash (otisk)  problém je způsob bezpečné prvotní výměny sdíleného klíče  obvykle to znamená ruční nastavení na obou koncích. Asi se opakuji, ale ať vás ani nenapadne posílat sdílený klíč e‐mailem!  v případě použití sdíleného klíče neprobíhá dohoda o asociacích, protože oba systémy musejí mít stejnou konfiguraci  dalším problém se sdílenými klíči nastává ve chvíli, kdy je potřeba je změnit, když například odejde jeden zaměstnanec ‐ často se pak stává, že takový sdílený klíč se nemění nikdy  principu veřejného a privátního klíče ‐ když vyjdeme z výše uvedeného principu fungování VPN, pak autentizace pomocí veřejných klíčů probíhá následovně: 2.a: Routery RA a RC si vzájemně vymění veřejné klíče 2.b: RA zašifruje informace veřejným klíčem RC a odešle. RC příjme zašifrované informace a protože je může dešifrovat pomocí privátního klíče, je tím, do má informace přijmout. Pokud by útočník zachytil během výměny veřejný klíč, mohl by data pouze dešifrovat a 41 odesílat příjemci, ale nemohl by odpovědi (data, která zachytí) dešifrovat. 2.c: Nyní se mohou RA a RC dohodnout na dalších bezpečnostních otázkách (například výměně klíčů pro šifrování dat apod.). Ideální kombinací je zapnout podporu VPN na firewallu, protože při oddělení funkcí by VPN nebyla firewallem chráněna (není schopen zkontrolovat zašifrovaná data). Zásady zabezpečení VPN: Jedná se o návrh možných bezpečnostních zásad pro VPN, kterými by měly být doplněny dokumenty popisující zásady bezpečnosti ve firmě:  uživatel oprávněný přistupovat přes VPN má povinnost zajistit, že do interní sítě nebude mít přístup neoprávněná osoba  vždy smí být vedeno jen 1 datové spojení ‐ není povoleno duální spojení (oddělené tunelování)  klientský počítač musí mít nainstalován bezpečnostní software (antivir apod.)  po 30 minutách nečinnosti bude spojení ukončeno Shrnutí:
Ochrana dat v sobě zahrnuje jak ochranu uložených dat, tak ochranu komunikace. Vzhledem k různým rizikům je žádoucí citlivá data šifrovat. V této kapitole jste se proto seznámili se základními pojmy a principy šifrování jako jsou šifrovací klíč, šifrovací algoritmus, síla šifrovacího algoritmu apod. V současné době se možnosti symetrických a asymetrických šifrovacích algoritmů používají k několika účelům: autentizaci, zajištění integrity dat a důvěrnosti dat. K zajištění těchto funkcí se využívají symetrické šifry, kdy pro šifrování i dešifrování je potřeba stejný klíč, a symetrické šifry, kdy se šifrování a dešifrování provádí dvojicí rozdílných klíčů. Pro symetrické šifrování se používají algoritmy 3DES a AES a pro asymetrické šifrování algoritmy Diffie‐Hellman, RSA, Elliptical curve, DSS a DSA. K ověřování integrity dat, tzn.,že s daty nikdo nemanipuloval, slouží tzv. hashovací algoritmy MD5 nebo SHA, které vytvářejí hashe (otisky) dat. Problémem ve světě dnešní elektronické komunikace je, jak ověřit, že data zaslala opravdu příslušná osoba nebo instituce. K tomu slouží systém digitálních podpisů, certifikátů a certifikačních autorit. V rámci tohoto systému se využívá privátních klíčů, které by každá instituce měla chránit, a veřejných klíčů, které může sdělit ostatním. Pro zajištění bezpečného spojení mezi 2 systémy nebo sítěmi slouží virtuální privátní sítě (VPN), které umožňují vytvořit bezpečné spojení mezi 2 body. VPN je možné realizovat pomocí protokolů L2TP a IPsec, přičemž IPsec je považován za bezpečnější. 42 4. Filtrovánípaketů‐ACL
Klíčové pojmy: typy ACL, wildcard maska, pravidla v ACL, spoofing, fragmentace, návratový provoz, „established“ provoz Access Control List (ACL) označované česky také jako přístupové seznamy (když spolu mluví dva „ajťáci“ znalí problematiky, tak stejně mluví o ACL) slouží k filtrování provozu na síťové vrstvě. Přístupové seznamy slouží k filtrování provozu směřujícího do/z vnitřní sítě. ACL jsou rychlé a relativně jednoduché nástroje pro posílení bezpečnosti sítě. Různí výrobci firewallů a OS používají obdobný způsob konfigurace, takže když pochopíte princip jednoho výrobce, jednoduše po troše studia nastavíte ACL na zařízení jednoho výrobce. My si fungování vysvětlíme pro ACL používaných na zařízeních Cisco, ale jak jsem řekl, jde o princip a uvidíte, že když se později podíváte na konfiguraci firewallu např. v Linuxu, bude pak snadnější pochopit jeho princip. Poznámky: 1) S pojmem ACL se můžete setkat v různých situacích. Například ve Windows se ACL označuje řízení přístupu ke konkrétnímu objektu například ke složce a obsahuje seznam uživatelů a skupin a jim přiřazených oprávnění (full control, modify, read apod.). 2) U některých výrobců se můžete setkat s filtrováním také na linkové vrstvě, kde se provádí kontrola rámců na základě MAC adres. Základní charakteristika:  primárně se filtrování paketů provádí na síťové vrstvě  kontrolují se pakety a IP adresy v paketu. Při použití paketového filtru, zařízení neví a neumí zkontrolovat nic, co je umístěno v datech paketu  neumí zkontrolovat aplikační vrstvu.  filtrování lze také provádět na transportní vrstvě, tzn. na základě zdrojového a cílového portu. Představte si, že zařízení „umí nakouknout“ na transportní vrstvu a přečíst si některé údaje jako například číslo zdrojového a cílového portu. Při vysvětlování teoretických základů jsou používány pro nastavení přístupových seznamů (ACL) příkazy Cisco IOS. Proto zde máte stručné vysvětlení, jak se taková pravidla pro zařízení Cisco píšou. Zapsání ACL na zařízení jiných výrobců a v operačních systémech budou obdobná. Takže zde je stručný úvod do psaní pravidel, abyste rozuměli níže uvedeným příkladům. Použití ACL Cisco berte jako vysvětlení principu fungování ACL a uvidíte, že pokud je pochopíte, bude Vám už pochopení fungování filtrování paketů jiných výrobců už připadat snazší. 4.1. ACLnazařízeníchCisco
Cisco ACL lze rozlišit podle různých kritérií: podle označení:  číslované  pojmenované podle typu filtrování:  standardní  rozšířené  reflexivní 43 standardní ACL: provádí filtrování jen na základě zdrojové IP adresy a umísťují se co nejblíže k cíli. Jsou označeny čísly v rozsahu 0 ‐ 99 nebo 1300 ‐ 1999. Protože neumožňují jemnější členění, kterou komunikaci lze/nelze propustit do sítě, nebudeme se jim v dalším výkladu věnovat a zaměříme se na rozšířené ACL. rozšířené ACL: provádí filtrování na základě zdrojové a cílové IP adresy, zdrojového a cílového portu, použitého protokolu nebo parametrů QoS. Rozšířené ACL pak mají číslování v rozsahu 100 ‐199 nebo 2000 ‐ 2699. reflexivní ACL: automaticky rozeznává provoz, který vstupuje do sítě a odpovídá výstupnímu provozu, a automaticky pro něj otevírá vstupní ACL, jehož otevření trvá po dobu výstupního spojení (podle příznaků FIN nebo RST u TCP spojení a u UDP do vypršení timeout UDP relace). Tzn., že pokud ACL řídící odchozí provoz ze sítě povolí dané spojení na určitou cílovou adresu a cílový port, pak reflexivní ACL vytvoří dočasné záznamy v ACL řídícím vstup do sítě pro „návratový“ provoz přicházející z dané, nyní už zdrojové, adresy a portu. V případě protokolu ICMP je komunikace povolena vstupní komunikace na základě typu ICMP zprávy (např. Echo Replay k Echo Request). Přístupový seznam je tvořen jednotlivými pravidly, která určují, zda daný provoz bude povolen nebo zamítnut. Vyhodnocování ACL probíhá tak, že pakety jsou porovnávány s jednotlivými pravidly. ACL se prochází postupně po jednotlivých pravidlech shora dolů a výsledkem je, že paket je buď povolen, nebo zamítnut. vyhodnocování
access-list 101 permit tcp host 193.1.1.3 host 180.1.0.4 eq 80
access-list 101 permit udp 193.1.1.0 0.0.0.255 host 180.1.0.3 eq 53
access-list 101 permit icmp host 193.1.1.3 host 180.1.1.1
access-list 101 permit ip host 193.1.1.2 any
access-list 101 deny ip any any
Jednotlivá
pravidla
ACL
Struktura pravidla v rozšířeném ACL: Ve zjednodušené podobě má rozšířené ACL následující strukturu access-list 101
cílová_maska
Číslovaný ACL,
kde 101 určuje,
že se jedná o
rozšířený ACL
{permit|deny}
protokol
zdroj
zdrojová_maska
Co se má Jaký protokol se Zdrojová IP adresa
s paketem bude porovnávat:
a wildcard maska.
 ahp
Pozor,
wildcard
vykonat
 eigrp
maska je obrácená
 esp
maska
sítě.
 gre
Neplést!
 icmp
V případě použití
 ip
protokolu
TCP
 OSPF
nebo UDP by ještě
 TCP
součástí zdroje byl
 UDP
zdrojový port
atd.
cíl
Cílová IP adresa a
wildcard
maska.
Pozor,
wildcard
maska je obrácená
maska
sítě.
Neplést!
V případě použití
protokolu
TCP
nebo UDP by ještě
součástí cíle byl
cílový port
Při použití protokolu IP probíhá filtrování jakéhokoli aplikační protokol, kdežto při použití protokolů TCP nebo UDP už filtrování probíhá pro konkrétní aplikační protokol. O který protokol se jedná, je určeno na základě čísla portu. Lepší, než stovky teorií je rozebrat si pár příkladů. V prvním případě se jedná o filtrování icmp protokolu, který zajišťuje fungování příkazu ping. Všimněte si, že na 44 rozdíl od prvního příkladu, kde nejsou čísla portů, je v druhém příkladu použit protokol TCP a objevuje se identifikace příslušného portu. Příklad 1. Původní zadání znělo: počítač s IP adresou 193.1.1.3 může provést příkaz ping na počítač 180.1.1.1 access-list 101 permit icmp host 193.1.1.3 host 180.1.1.1
Protokol, který zajišťuje Paket icmp, který směřuje z hosta s IP 193.1.1.1 (zdroj) na
fungování příkazu ping. hosta 180.1.1.1 (cíl) bude povolen, protože je nastaveno
Filtrování pomocí icmp, pravidlo permit.
lze ještě dále zjemňovat.
Podívejte
se
do
nápovědy.
V případě použití protokolu TCP nebo UDP a filtrování podle čísla portů se provede změna v syntaxi pravidla a to následovně … {permit |deny} [tcp|udp] zdroj zdrojová_maska [operator [zdrojový_port]] cíl cílová_maska [operator [cílový port]] Jako operator můžete použít: Port může být zadán jako číslo nebo textově
(např. www, dns apod.).
 lt menší rovno  gt větší rovno  eq rovná se  neq nerovnáse  range rozsah určený 2 čísly portů Příklad 2. Původní zadání znělo: počítač s IP adresou 193.1.1.3 může komunikovat s webovou službou na serveru 180.1.1.1. access-list 101 permit tcp host 193.1.1.3 host 180.1.0.4 eq 80
Kdykoli budete chtít filtrovat
podle některé aplikační služby
(www, DNS, POP3 apod.)
musíte zvolit buď protokol
TCP nebo UDP, které pracují
na transportní vrstvě a data
pro
příslušnou
aplikační
službu identifikují číslem
portu.
V našem případě, bude platit pravidlo pro pakety obsahující datagramy
mířící právě na port 80, což je http (eq znamená „rovná se“).
Pozor, zdrojový port zde není uveden, zato je zde uveden cílový port.
Jak poznáme, že se jedná o cílový port? Protože je uveden za cílovou
adresou.
Nyní otázku otočíme. Jak poznáme, kdy máme nastavit cílový a kdy
zdrojový port? Když chceme, aby pravidlo platilo pro pakety mířící na
službu (víme o nich, že budou mít dobře známý cílový port), takže
nastavíme cílový port. Když se bude jednat o odpověď služby, budeme
nastavovat zdrojový port.
Abyste si ovšem nemysleli, že struktura rozšířeného ACL může být tak „jednoduchá“, jak je uvedena výše, máte zde uvedenu, jen tak pro zajímavost, úplnou strukturu pravidla rozšířeného očíslovaného přístupového seznamu, kde hranaté závorky obsahují parametry, které nemusí být použity, a složené závorky obsahují parametry, z nichž jeden musí být použit: access‐list číslo [dynamic název [timeout minut]] {permit|deny} protocol zdroj zdrojová_maska cíl cílová_maska [precendence priorita] [dscp dscp] [fragments] [log|log‐input] [time-range název rozsahu] Postup vyhodnocování pravidel v ACL: 

pravidla se prochází sekvenčně je‐li nalezena shoda v řádku (pravidle), je paket přijat/odmítnut a další řádky (pravidla) se už nezkoumají 45 
dojde‐li se na konec celého ACL a není nalezena shoda, je paket odmítnut, protože standardně je na konci každého ACL pokyn deny ip any any. Toto poslední pravidlo vychází ze zásady, že nejlépe je zakázat vše a povolit jen to, co opravdu chci povolit. Pozor, toto poslední pravidlo je skryté, takže na něj často zapomenete. Stačí, když do ACL zapíšete jen jedno pravidlo, a už je ACL tvořeno 2 pravidly ‐ jedním vaším a oním posledním skrytým zamítajícím veškerý provoz. Studenti (a občas i já ) se pak diví, že jim pak neprojde žádný provoz, i když do chvíle aktivace ACL fungoval. Prostě zapomněli na poslední skryté pravidlo deny ip
any any. Aby se to mým studentům (i mi ) nestávalo, nařizuji studentům, aby si na konec každého ACL pravidlo deny ip any any napsali sami. Je tam sice 2x, ale při přemýšlení nad problémem je to „praští do oka“. A vám … vám to doporučuji také. Jak tedy probíhá vyhodnocování, zda určité pravidlo na paket aplikovat, či zda přejít na další pravidlo v seznamu? Podívejte se na následující ACL a pakety, které přijdou na rozhraní směrovače s tímto aktivovaným ACL: 1. access-list 101 permit ip host 1.0.0.3 host 2.0.0.5
2. access-list 101 permit ip host 1.0.0.15 any
3. access-list 101 deny ip any host 2.0.0.2
4. access-list 101 permit ip host 2.0.0.3 host 3.0.0.5
5. access-list 101 deny ip any any
Pro snazší orientaci
v ACL a tabulce s
vysvětlením, jsou
pravidla očíslována
Doručený paket
(u prvního paketu máte poznačeno, co
je zdrojová a co cílová adresa)
dst. IP.
DATA 1.0.0.3
2.0.0.2 15.2.2.2
1.0.0.2 DATA 2.0.0.5
1.0.0.3 DATA 2.0.0.2
1.0.0.2 DATA 3.0.0.1
2.0.0.3 DATA 2.0.0.2
1.0.0.15 2.0.0.3 zdůvodnění
neprojde V ACL není žádné pravidlo pro komunikaci
ze zdrojové adresy 2.0.0.2, proto paket
skončí na pravidle č. 5
neprojde V ACL není žádné pravidlo, které by přesně
odpovídalo komunikaci ze zdrojové adresy
1.0.0.2 na 15.2.2.2, proto paket skončí na
pravidle č. 5
projde Na základě pravidla č. 1, které povoluje
komunikaci ze zdrojové adresy 1.0.0.3 na
cílovou adresu 2.0.0.5.
neprojde Podle pravidla č. 3, které zakazuje
komunikaci z jakékoli adresy právě a jen na
adresu 2.0.0.2.
neprojde Nenajde žádné odpovídající pravidlo, proto
skončí na pravidle č. 5
projde src IP.
DATA DATA Rozhodnutí
3.0.0.5
neprojde 46 Podle pravidla č. 2, které
komunikaci z 1.0.0.15 kamkoli
povoluje
Skončí na pravidle č. 5. Pozor, ať vás to
neplete - pravidlo č. 4 se pro tento paket
nepoužije, protože je napsáno pro
komunikaci z 2.0.0.3 na 3.0.0.5. A
zachycený paket putuje z 3.0.0.5 na 2.0.0.3
Wildcard masky (tzv. divoké masky označované také jako zástupné masky) 


slouží k určení, která část z IP adresy se testuje wildcard maska je inverzní (převrácená) k masce sítě obsahuje‐li wildcard maska ve dvojkové soustavě na dané pozici 0, je číslo na odpovídající pozici v IP adrese vyžadováno (číslo musí v IP být) ‐ vlastně říká, že tuto část adresy má testovat obsahuje‐li wildcard maska ve dvojkové soustavě na dané pozici 1,může být číslo na odpovídající pozici v IP adrese libovolné (číslo v IP adrese může být libovolné) ‐ vlastně říká, že touto částí adresy se nemusí zabývat (může být libovolná) 
Pozn. Protože zde hovoříme o zápisu ve dvojkové soustavě, myslí se libovolným číslem 1 nebo 0  Stejně jako u masek sítě, můžete u většiny pravidel rozhodnout podle zápisu v desítkové soustavě o tom, zda se pravidlo paketu týká, či nikoli. Příklad: Rozhodněte, zda se uvedené pravidlo „týká“ paketů došlých na rozhraní směrovače (zda bude dané pravidlo na pakety aplikováno). zdroj
cíl
access-list 101 permit ip host 1.0.0.3 130.15.0.0 0.0.255.255
adresa celé
sítě
Když si zapíšete IP adresu a masku pod sebe, zjistíte, že:
130.
15.
0.
0.
0.
0
255. 255
Aby pravidlo pro došlý paket
platilo (bylo použito) musí být
v paketu tyto oktety stejné 
paket musí mít v prvním
oktetu
hodnotu
130
a
v druhém oktetu hodnotu 15.
V těchto dvou oktetech může
být v paketu jakákoli hodnota a
pravidlo, bude pro paket platit,
jestliže budou odpovídat první
dva oktety.
Doručený paket
(zdrojová adresa je pro zjednodušení
stále stejná - 1.0.0.3)
dst. IP.
DATA DATA DATA DATA 130.15.0.1
130.15.1.1
130.16.0.1
131.15.0.1
src IP.
1.0.0.3
1.0.0.3 1.0.0.3 1.0.0.3 zdůvodnění
projde První dva oktety v paketu musí mít stejnou
hodnotu jako v pravidle  mají, takže
pravidlo se použije
(pravidlo se
paketu týká) (pravidlo se
paketu týká) neprojde (pravidlo se
paketu netýká) neprojde (pravidlo se
paketu netýká) 47 Tam,
kde jsou
ve
dvojkové soustavě ve
wildcard masce nuly,
bude se adresa v pravidle
porovnávat
s adresou
v paketu a musí být
stejné,
aby
pravidlo
platilo.
Tam,
kde jsou
ve
dvojkové soustavě ve
wildcard masce jedničky,
je úplně jedno, jaké
hodnoty v adrese jsou.
Rozhodnutí
projde wildcard
maska
První dva oktety mají stejnou hodnotu jak
v pravidle (kde wildcard maska určuje, že
právě první dva oktety musí být stejné) 
pravidlo se paketu týká
První oktet v pravidle i v paketu je stejný,
ale v druhém oktetu je 16 a wildcard maskou
je v pravidle určeno, že musí mít hodnotu 15
 pravidlo se na paket nevztahuje
Hodnota prvního oktetu paketu neodpovídá
hodnotě prvního oktetu v pravidle. A
protože tyto oktety musejí být podle
wildcard masky stejné, nejedná se o pravidlo
pro přijatý paket.
Většinou používáte pravidla, se zástupnými maskami, z nichž je na první pohled jasné, jaká musí být v paketu adresa, aby pro něj pravidlo platilo. Někdy je ovšem nutné převést si adresu v pravidle, wildcard masku a adresu v paketu do dvojkové soustavy. Příklad: Určete, kterých ip adres se uvedené pravidlo „týká“ (na které adresy v paketech bude pravidlo aplikováno). access-list 101 permit ip host 1.0.0.3 192.168.15.128 0.0.0.127
11000000.10101000.00001111.10000000
00000000.00000000.00000000.01111111
V této části, musí být v adresách
v paketech stejná hodnota
Ta jednička tam
musí být vždycky
(musí odpovídat)
V této části už
může být jakákoli
kombinace nul a
jedniček.
Tzn.:
1 0000000
1 0000001
…
1 1111111
 pravidlo se bude týkat adres od 192.168.15.128 až 192.168.15.255 Většinou použijete wildcard masky označující celou podsíť. třída
maska sítě
wildcard maska
poznámka A
255.0.0.0
0.255.255.255
všechny počítače v síti třídy A
B
255.255.0.0
0.0.255.255
všechny počítače v síti třídy B
C
255.255.255.0
0.0.0.255
všechny počítače v síti třídy C
Pokud budete chtít vytvořit zástupnou masku pro určitý rozsah adres, můžete si je sice převést do dvojkové soustavy, ale je to pracné. Existuje pro to jednoduchý postup, kdy od koncové adresy rozsahu odečtete počáteční adresu rozsahu. Například chcete pomocí wildcard masky definovat rozsah adres od 130.220.16.32 až 130.220.31.63. 130.220.31.63 ‐ 130.220.16.32 0. 0. 15. 31 Některé wildcard masky lze nahradit klíčovým slovem any a host. Wildcard maska 255.255.255.255 označuje libovolný počítač z libovolné sítě a lze ji nahradit slovem any. Wildcard maska 0.0.0.0 označuje právě jedno jediné zařízení a lze ji nahradit klíčovým slovem host. Pozor, pokud se rozhodnete v ACL používat jak klíčová slova, tak wildcard masky, může být u zdroje nebo u cíle jen jeden ze způsobů. Pravidla pro vytváření ACL 1) Nejdříve se zadávají omezení pro jednotlivé adresy 2) Pak se zadávají rozsahy adres 48 Z následujícího příkladu je zřejmé, proč je tak důležité umísťovat nejdříve pravidla s konkrétními adresami a teprve až pak rozsahy adres. Tato pravidla berte s rezervou, vždy totiž záleží na logice filtrování. Příklad: Napište ACL, které zajistí, že pakety z počítače 192.168.1.5 mířící kamkoli, se nemohou ze sítě dostat ven. Komunikace z ostatních počítačů v síti je povolena. Špatné řešení: zdroj - všechny počítače
v celé síti 192.168.1.0.
access-list 105 permit 192.168.1.0
cíl - na jakékoli
cílové IP adresy
0.0.0.255 any
access-list 105 deny host 192.168.1.5 any Dobré řešení: access-list 105 deny host 192.168.1.5 any
access-list 105 permit 192.168.1.0 0.0.0.255 any
Dorazí-li paket z počítače 192.168.1.5, je na
něj aplikováno první pravidlo  deny.
Dorazí-li paket z jiného počítače např.
192.168.1.6, první pravidlo pro něj
nevyhovuje, takže se pokračuje druhým
pravidlem, které vyhovuje pro všechny
počítače ze sítě 192.168.1.0  permit
Povolí průchod všech paketů se
zdrojovou adresou 192.168.1.x mířících
kamkoli. Protože paket odeslaný
z adresy 192.168.1.5 patří také do sítě
192.168.1.0, je na něj aplikováno první
pravidlo (permit), je propuštěn a
prohledávání ACL se ukončí (řekli jsme
si, že se použije první pravidlo, které
vyhovuje, a pak se skončí.
Uvedené doporučení jsou obecně platná, ale vždy závisí na logice toho, co chcete udělat. Dále je dobré po určité době provozu zhodnotit, kolikrát bylo dané pravidlo aplikováno a pokusit se nejčastěji používaná pravidla přesunout na začátek ACL, ovšem bez toho abyste porušili logiku filtrování. Tip: Sice můžete vytvářet ACL přímo na konzoli routeru, ale je to pracné a nepraktické. Lépe je napsat pravidla (celý ACL) v poznámkovém bloku a pak je překopírovat do routeru. Proč? Protože v Poznámkovém bloku, na rozdíl od routeru, můžete napsaná pravidla přepisovat, měnit jejich pořadí, doplňovat a podobně. Určitě přijde otázka proč v Poznámkovém bloku a nikoli např. ve Wordu. Protože při překopírování textu z Wordu se mohou překopírovat také formátovací značky, které router nebude akceptovat. Výhodou psaní ve Wordu je ovšem možnost psaní různých poznámek. V tom případě klidně pište ACL ve Wordu, ale před tím, než jez zkopírujete do konzole routeru, „prožeňte“ tento text přes Poznámkový blok. Aktivace ACL (Zapnutí ACL) Vytvoření (napsání) ACL je teprve první krok, protože ACL je nutné ještě zapnout (aktivovat) na příslušném rozhraní. Můžete totiž ve směrovači mít vytvořených třeba sto ACL, ale aktivovat na příslušném rozhraní lze pouze 2 ACL a to jedno ve směru in a druhé ve směru out. ACL začíná pracovat (filtrovat provoz) až po zapnutí na příslušném rozhraní. A nyní ta nejtěžší otázka, kdy budete aktivovat ACL jako in, a kdy jako out. Pomožte si metodou „trpaslík“. Představte si, že jste nenajezený trpaslík sedící v routeru a vaše ruce jsou rozhraní routeru, které jedna míří do vnitřní sítě a druhá do vnější sítě. A nyní se soustřeďte na jednu ruku (rozhraní) ‐ vše co rukou chytnete a dáváte k ústům je provoz in (takže pakety, které jste na rozhraní přijali a předáváte je 49 součástkám uvnitř routeru jsou provoz in). Pakety, které si rukou berete a odhazujete od úst pryč jsou provoz out (takže pakety, které z rozhraní odesíláte, jsou provoz out). Takže máte‐li router se 2 síťovými kartami, můžete aktivovat maximálně 4 ACL ‐ dva ve směru in (na každém z rozhraní) a dva ve směru out (na každém rozhraní). Aktivace ACL na příchozím nebo odchozím rozhraní (in, out) má vliv na výkon routeru.  ACL na příchozím portu: o filtruje pakety dříve, než je přesměruje podle směrovací tabulky o menší zátěž CPU 
ACL na odchozím portu:  nejdříve provede směrování a pak filtruje podle ACL  větší zátěž na CPU Je velmi žádoucí si to, že máte na příslušném rozhraní a provozu aktivován ACL, poznamenat do schématu sítě. Vyplatí se to. 50 4.1.1. Příklad:
Napište ACL, které bude splňovat následujíc požadavky a ACL aktivujte. Ze sítě 193.1.1.0/24:  uživatel počítače PCB si může prohlédnout stránky serveru www.ahoj.cz  počítače mohou získat překlad adres pomocí DNS serveru 180.1.0.3  PC B může provést příkaz ping pouze na PC1 (nesmí pingnout na jiný počítač v síti 180.1.0.0/16  webový server www.cau.cz smí komunikovat s kýmkoli jakkoli Při bližším zamyšlení nad požadavky zjistíte, že se týkají odchozího
provozu ze sítě 193.1.1.0.  rozhodli jsme se, že ACL umístíme na
rozhraní Fa0/1 jako příchozí, tedy provoz označený jako in.
Rozhodnutí o tom, na jaké rozhraní ACL umístím a zda provoz bude
in nebo out, ovlivňuje co budou zdrojové a co naopak cílové adresy.
Vždy si ACL a typ provozu poznačíme do schématu sítě!
Zformulujeme si jednotlivá pravidla (ideálně v Poznámkovém bloku)
a nezapomeneme jako poslední pravidlo napsat pravidlo deny ip any any,
abychom jej měli stále na očích.
access-list
access-list
access-list
access-list
access-list
101
101
101
101
101
permit tcp host 193.1.1.3 host 180.1.0.4 eq 80
permit udp 193.1.1.0 0.0.0.255 host 180.1.0.3 eq 53
permit icmp host 193.1.1.3 host 180.1.1.1
permit ip host 193.1.1.2 any
deny ip any any
V konfiguračním režimu hotová pravidla jen nakopírujeme do konzole
routeru:
ACL 101 aktivujeme na rozhraní Fa0/1 jako in
pomocí příkazu ip access-group:
To, že je ACL na příslušném rozhraní
aktivováno (provádí filtrování provozu)
poznáme ve výpisu běžící konfigurace (pomocí
příkazu R2#show running-config):
Nyní si provedeme rozbor požadavků uvedených v předcházejícím příkladu a jejich převod do pravidel. U všech požadavků víme, že budou odcházet ze sítě 193.1.1.0 (proto jsme také rozhodli, že ACL bude umístěno na rozhraní FA0/1 in. Vzpomeňte si na trpaslíka). 51 1. uživatel počítače PCB si může prohlédnout stránky serveru www.ahoj.cz Ve chvíli, kdy uvidíte, že se má komunikovat s určitou službou, je nutné si ujasnit, zda funguje na protokolu TCP nebo UDP a na jakém portu. Služba www používá TCP port 80 (a řadu dalších )  povolíme komunikaci z PC B jen na počítač 180.1.0.3 a na něm jen na službu www, což zajistíme tak, že komunikace může odejít jen na port 80. Důležité si je uvědomit, že komunikace odchází na server a na službu  port 80 bude v pravidle uveden jako cílový port. Výsledné pravidlo: access-list 101 permit tcp host 193.1.1.3 host 180.1.0.4 eq
80
2. počítače mohou získat překlad adres pomocí DNS serveru 180.1.0.3 Postupujeme obdobně. Když se zadíváte na schéma sítě a požadavek, že počítače ze sítě 193.1.1.0 mohou získat překlad adres z konkrétního DNS serveru, mělo by vás opět napadnout, že se jedná o dotaz, který bude odcházet na konkrétní službu  bude mířit pomocí protokolu UDP na cílový port 53. Služba DNS obvykle používá protokol UDP, ale můžete se setkat i s použitím protokolu TCP. Výsledné pravidlo: access-list
101
180.1.0.3 eq 53
permit
udp
193.1.1.0
0.0.0.255
host
3. PC B může provést příkaz ping pouze na PC1 (nesmí pingnout na jiný počítač v síti 180.1.0.0/16) Chcete‐li omezit/povolit použití příkazu ping, použijte v pravidlech protokol ICMP, který lze dále zjemnit. Pokud do ACL vložíte jen níže uvedené pravidlo a žádné jiné, je možné z počítače 193.1.1.3 pouze pingnout na 180.1.1.1 a žádná jiná komunikace neprojde. Výsledné pravidlo: access-list 101 permit icmp host 193.1.1.3 host 180.1.1.1
Pokud byste u výše uvedených požadavků ponechali v pravidle místo protokolů TCP, UDP a ICMP protokol IP: 1) nemohli byste „zjemnit“ určení komunikace na konkrétní čísla portů (služby), protože protokol IP pracuje na síťové vrstvě 2) mezi počítači by prošla jakákoli komunikace pomocí jakéhokoli protokolu. To znamená komunikace mířící na libovolnou službu 4. webový server www.cau.cz smí komunikovat s kýmkoli jakkoli Když se zamyslíte nad tímto požadavkem, může ze serveru odcházet jakákoli komunikace, která není blíže specifikována (není omezena na konkrétní službu). Proto můžete použít protokol ip. Výsledné pravidlo: access-list 101 permit ip host 193.1.1.2 any
Pokud byste chtěli omezit, že z webového serveru mohou odejít jen webové stránky, které si uživatelé z vnější sítě mohou stáhnout, pak se bude jednat o 52 odpovědi služby www na uživatelské požadavky, které mohly přijít z jakékoli neznámé IP adresy, které nemůžete dopředu předvídat. Dobře si uvědomte, že se jedná o odpovědi webového serveru  pakety budou odcházet ze služby www  port TCP 80 bude uveden ve zdrojové adrese. Výsledné pravidlo: access-list 101 permit ip host 193.1.1.2 any
4.1.2. NejčastějšíchybypřinávrhuACL.
Při návrhu a konfiguraci ACL se můžete dopustit řady chyb. Některé mohou být zřejmé, jiné odhalíte až důsledným testováním. Mezi nejčastější chyby, kterých se můžete dopustit jsou: 
zdrojová i cílová adresa jsou ze stejné sítě Napíšete‐li například pravidlo access-list 101 deny ip host 1.0.0.1 host
1.0.0.2, dopustili jste se chyby, která by vás měla trknout. Proč? Protože bude‐li odesílat počítač 1.0.0.1 data na počítač 1.0.0.2, určí podle své síťové masky, že se jedná o komunikaci v lokální síti a pošle ji na 1.0.0.2 přímo  nebude ji odesílat na výchozí bránu (router), na které je zapnuto ACL. 
záměna zdroje a cíle Častou chybou je, když mezi sebou v pravidle přehodíte zdroj a cíl. Abyste se vyvarovali takovéto chyby, je dobré si ještě před psaním pravidel poznamenat do schématu sítě, pro které rozhraní ACL píšete a o jaký provoz se jedná (in/out). 
nevhodné pořadí pravidla v ACL 
špatný výpočet wildcard masky apod. 
syntaktické chyby Často se stává, že při psaní pravidel zapomenete napsat protokol, uvedete klíčové sloho host nebo any a zároveň ještě napíšet wildcard masku apod. Při tvorbě pravidel ACL vždy záleží na logice řešeného problému a způsobu uvažování toho, kdo pravidla tvoří. Rešit problém (zadání) lze několika způsoby. Důležitou fází je rovněž testování, zda ACL pracuje správně a zda jej není možné ještě vylepšit. 4.2. Omezeníaproblémypaketovýchfiltrů
Možná se vám zdá, že probrané ACL reprezentující zde paketové filtry vypadají nadějně pro zabezpečení vaší sítě a že stačí pouze vytvořit ACL a máme vystaráno. Jistě jedná se o jednu z technologií zabezpečení, která je lepší než žádné zabezpečení. Ale použití pouze ACL na routeru by vás nemělo uvést do klidného spánku. Proč tedy paketové filtry, když mají řadu výše uvedených nedostatků? A když navíc máme stavovou inspekci paketů (SPI)? ACL jsou rychlejší, protože provádí filtrování na síťové vrstvě (data rozbalí jen po síťovou vrstvu a nemusí provádět jejich dekódování až na aplikační vrstvu), takže umístěním ACL na hraničním routeru ulehčíme pozdější práci firewallu. A jak jsme si již řekli a stále opakujeme ‐ obranu vrstvíme, takže použitím ACL jsme takovou vrstvu přidali. ACL tedy mají následující omezení:  standardní i rozšířené ACL jsou statické filtry o zůstávají tak, jak je administrátor nastavil. Například pokud je pomocí pravidla permit ip host 1.0.0.0 host 2.0.0.1 povolena komunikace, tak je tato komunikace povolena, ať už má dané IP kdokoli 53 o nevycházejí z komunikace, která byla vyžádána pouze z vnitřní sítě nezaručí, že se útočníkovi nepodaří využít díry v konfiguraci koncového hostitelského systému např. webového serveru  je možné je obejít pomocí falšování (spoofing) a fragmentace paketů  problém se zajištěním návratového provozu 
Falšování (spoofing) Falšováním se rozumí odesílání paketu, který se tváří, že odešel od jinud. Paket tak zdánlivě přichází:  z vnitřního hostitele (na vnějším rozhraní se objeví paket se zdrojovou IP, která patří do vnitřní sítě) src
dst.
63.0.0.2 64.0.0.1 DATA
Na rozhraní nemá co dorazit
paket z vnitřní sítě. Jakpak se tam
asi dostal?!,..

z adresy v privátním rozsahu (na vnější rozhraní dorazí paket, jehož zdrojová IP jen např. 10.1.2.5, přičemž takováto adresa by se na rozhraní, které je připojeno k vnější síti neměla objevit). src
dst.
10.1.2.5 64.0.0.1 DATA
Na rozhraní z Internetu se nesmí
objevit
paket
s neveřejnou
adresou.

z jiné „povolené“ sítě (paket se tváří, že pochází ze sítě, která má povolen ACL průchod) Ve všech případech se příjemce domnívá, že komunikuje s autorizovaným odesílatelem a pošle mu požadovaná data => nyní může dojít k následující situaci: o paket dorazí skutečnému pravému hostiteli, ale ten o ničem neví (nic nežádal) a proto jej zahodí a pošle původci signál reset (RST, vynulování spojení) o paket dorazí podvodníkovi. Jak? Je‐li zapnuto zdrojové směrování, které umožní nasměrovat návratový provoz kamkoli zdrojové směrování: paket v sobě nese informaci o „správnější“ a „lepší“ cestě zpět do místa původu. Tato informace pak potlačí normální pravidla směrování sestavená na základě údajů získaných ze směrovacích protokolů. Řešení: vypnout zdrojové směrování pomocí příkazu: no ip sourceroute Fragmentace: Princip spočívá v tom, že útočník se pokusí rozdělit paket na více částí a protlačit jej skrz ACL po kouscích. Ochranu před fragmentovými útoky na směrovačích Cisco se provádí pomocí pravidla, které se umístí na začátek ACL: deny i pany any fragments. Pravidlo zakáže fragmentované pakety. Nefragmentovaných paketů se pravidlo netýká, takže jejich kontrola pokračuje následujícím pravidlem v ACL. V některých sítích může ovšem být fragmentace standardním jevem. 54 Zajištění návratového provozu: Představte si, že chcete pomocí paketových filtrů vytvořit ACL, který povolí z vnitřní sítě odchozí provoz všem uživatelům (počítačům) kromě webového serveru, kterému bude povolen jen odchozí provoz webové služby. Provoz z vnější sítě do vnitřní bude povolen jen provozu směřujícímu na webovou službu webového serveru. Do vnitřní sítě je povolen jen provoz směřovaný jen na
webovou službu serveru 1.0.0.2:
access-list 102 permit tcp any host 1.0.0.2 eq 80
deny ip any any
Povolíme provoz ze sítě všem počítačům, ale z 1.0.0.2 jen
službě www:
access-list
access-list
access-list
access-list
101
101
101
101
permit tcp host 1.0.0.2 eq 80 any
deny ip host 1.0.0.2 any
permit ip any any
deny ip any any
Pokud se nad
tímto příkladem
zamyslíte, zjistíte,
že při tomto řešení
vznikne problém
povolení
návratového
provozu,
tzn.
provozu, který byl
vyvolán z vnitřní
sítě a vrací se
zpět.
Toto pravidlo je zde zbytečné, protože všechny pakety
skončí na předchozím pravidle. Píšeme jej zde jen proto,
abychom nezapomněli, že na konci ACL se nachází skryté
zamítající pravidlo.
Problém návratového provozu v uvedeném příkladě spočívá v tom, že jakákoli komunikace, která vyšla z vnitřní sítě a vrací se zpět, skončí v ACL 102 na pravidle deny. Problém je, že odchozí provoz z vnitřní sítě vzniká na klientech, kde se zdrojová čísla portů generují náhodně, a tím pádem při psaní ACL 102 nemůžete vědět, na jaké cílové porty se bude provoz vracet. Pokud byste pravidlo deny v ACL 102 nahradili pravidlem permit ip any any, ztratilo by ACL 102 smysl, protože by se do vnitřní sítě dostal jakýkoli provoz. Jako řešení byla navržena funkce sledování provozu podle příznaků komunikace (příznaků v segmentech a datagramech), které umožňují určit, v jakém stavu se komunikace nachází. Viz protokol TCP a UDP v opoře Přehled síťových technologíí pro správce OS a v kapitole č. 5. „Chci s tebou navázat
SYN
spojení“
Tato komunikace, protože
byla vyvolaná z vnitřní sítě
„Ano, budeme spolu
ACK, SYN
komunikovat“
projde (segmenty, které se
vrací do sítě, mají příznak
Ano, když s tím souhlasíš,
ACK nebo RST).
ACK
tak jdeme na to“
Tato komunikace, která se snaží
„Chci s tebou navázat
spojení“
SYN
55 navázat spojení z vnější sítě a pro
vytvoření spojení má jen příznak
SYN, bude zamítnuta.
Povolení návratového provozu se zajišťuje doplněním pravidla protokolu tcp o direktivu established (což je také označení pro stav navázaného spojení), která určuje, že se do vnitřní sítě mohou navrátit odpovědi na komunikaci vyvolanou z vnitřní sítě. Při použití direktivy established router sleduje příznaky a propustí do sítě jen pakety s příznakem ACK nebo RST. Naopak nepropouští do vnitřní sítě segmenty s žádostí o spojení (s příznakem SYN). Pravidlo pro povolení návratového provozu zpět do vnitřní sítě by v příkladě na následujícím obrázku mělo mít podobu permit tcp any any established a bude aplikované na rozhraní Fa0/1
in. Zamyslete se, který provoz ze sítě 193.1.1.0 odejde a nevrátí se, přestože je sestavený ve vnitřní síti. Je to takový provoz, který nemá stavy spojení jako například ICMP. Budete‐li si následující příklad zkoušet, porovnejte si výsledky, jestliže vyzkoušíte komunikaci z obou stran přes webový prohlížeč a například pomoci příkazu ping. Povolení komunikace příkazem established, umístěné
na vnitřní straně sítě:
access-list 101 permit tcp any any established
access-list 101 deny ip any any
Z této strany není na Fa0/0 nastaveno žádné ACL a přesto nelze z vnější sítě získat webové
stránky serveru www.cau.cz. V případě, že byste potřebovali zpřístupnit server 193.1.1.2
z vnější sítě, mohli byste na R2 doplnit ACL 102 na rozhraní FA0/0 in:
access-list 102 permit tcp any host 193.1.1.2 eq 80
Stále se budu opakovat, ale není nejlepším řešením umístit veřejně dostupný server do vnitřní
sítě.
Řešení s použitím filtru, který se propustí pouze sestavený provoz by vypadalo dobře, ale útočním může takové pakety vyrobit uměle. Pokud takové pakety projdou přes ACL, bude se je koncový uživatel zařadit do své komunikace, ale protože žádné takové spojení nemá vytvořené, paket zahodí a zašle reset spojení (RST). Problém může být v tom, že útočník takto zjistí: informaci, že má s kým komunikovat (někdo na jeho vygenerovanou komunikaci odpověděl) může vést útok s odepřením služeb, kdy příjemce zahltí neplatnou komunikací. Ještě zdokonaleněji může tento útok probíhat z podvržené IP adresy a náš napadený systém tak bude vracet reset spojení do „nevinné“ sítě, která nám naštěstí reset nebude vracet, protože nevytvářela spojení, které by resetovala. Problém služby DNS: Direktivu established lze použít jen pro protokol TCP, který nepovolí provoz UDP a ICM, které nenavazují spojení. Z toho plyne, že v případě použití permit tcp any
56 any established bude problém s dotazy DNS. Bude tedy potřeba doplnit ACL z vnější sítě o: access-list 102 permit udp any eq 53 193.1.1.0 0.0.0.255 gt 1023
Povolení návratu
odpovědí DNS
serveru do vnitřní
sítě
V případě, že máte jen určitý
DNS server, kterého se z vnitřní
sítě ptáte, nahraďte
klíčové
slovo any klíčovým slovem host
a konkrétní IP adresou.
Je otevřen průchod segmentů s číslem
portu větší než 1023, protože když
klienti žádali o překlad adres,
vygenerovali svou žádost z portu nad
1023 (a odeslali na port 53), takže nyní
se na tato čísla portů musí odpověď
vrátit. Bohužel musíte otevřít všechny
porty nad 1023, protože nemůžete
dopředu vědět, která zdrojová čísla portů
klienti použijí.
Samozřejmě otevření všech portů nad 1023 otevíráte díru v „hradbách“. Riziko můžete o něco málo snížit tím, že nedovolíte klientům z vnitřní sítě se ptát libovolných DNS, případně i konkrétního DNS, protože tak má útočník větší šanci se strefit do některého méně zabezpečeného systému, který pak může zneužít k dalším útokům. V tom případě musíte do vnitřní sítě umístit vlastní DNS, který bude ve vnější síti zjišťovat informace o překladech a kterého se klienti ve vaší síti mohou ptát. Přes firewall povolíte průchod dotazů z vašeho DNS serveru a návratových odpovědí určených jen pro váš DNS server. Takto sice také otevřete díru v obraně, ale zmenšili jste ji z „vrat“ na „menší vrátka“, a bude záležet na zabezpečení hostitelského systému DNS serveru (aktualizacích apod.) Použití paketového filtru s řízením návratového provozu podle provozu, který odešel z v nitřní sítě má své nevýhody, ale podle zásady , že něco je lépe než nic se jedná o vhodné doplnění ACL. Dynamické filtry (reflexní přístupové seznamy): odstraňují problémy statických filtrů, protože vznikají průběžně za běhu. Když provoz opouští vnitřní síť, je vytvořeno návratové pravidlo, které slouží k porovnání návratového provozu. Na zařízeních Cisco jsou dynamické filtry označovány jako reflexivní přístupové seznamy. 




přístupové seznamy vznikají a odstraňují se pro jednotlivé komunikační relace záznam je odstraněn po ukončení spojení: o pomocí paketů s příznaky FIN nebo RST o vypršením časového limitu (defaultně 300s) reflexivní ACL není závislý jen na příznacích TCP  funguje také i nad UDP a ICMP z uvedených tří typů ACL (standardní, rozšířené, reflexivní) jsou reflexivní seznamy nejbezpečnější, což je ovšem vykoupeno tím, že jsou nejpomalejší konfigurace probíhá obdobně jako u rozšířených ACL s tím, že na konci pravidla je uvedeno klíčové slovo reflect. 57 Shrnutí:
Filtrování paketů je jedna ze základních technik, které využívají routery a firewally k filtrování provozu na síti. Filtrování probíhá na základě zdrojových i cílových IP adres a zdrojových i cílových čísel portů. V této kapitole jste se seznámili s tvorbou přístupových seznamů tzv. ACL firmy Cisco. Při návrhu ACL pamatujte, že záleží, na kterém rozhraní routeru bude ACL aktivováno, že záleží na pořadí, v jakém jsou pravidla zapsána a především záleží na logice fungování příslušné sítě. K určování, kterých paketů se dané pravidlo týká, se využívají tzv. wildcard masky, což jsou obrácené masky sítě. V případě, že v pravidle použijete u zdrojové nebo cílové IP adresy wildcard masku, nemůžete už použít u dané adresy klíčové slovo host a any. Stejně jako jiné technologie nejsou ACL bezchybné a mají svá omezení, ale jsou jednou z vrstev obrany vašeho systému a sítě. Kontrolníotázky:
1) K jakému účelu slouží ACL? 2) Jaké typy ACL lze na zařízeních vytvořit? 3) Co se filtruje v případě rozšířených ACL? 4) Jaké je výchozí pravidlo na konci každého ACL? 5) Podle kterých protokolů můžete provádět filtrování? 6) Záleží na pořadí umístění pravidel v ACL? 7) Podle jakých doporučení byste měli určovat pořadí pravidel v ACL? 8) Které 2 akce může router s paketem provést? 9) Vysvětlete pojem spoofing. 10) Objasněte účel a použití wildcard masky. 11) Vysvětlete jak a kdy v ACL použít klíčové slovo established. 58 59 5. Firewally
Klíčová slova: zásady zabezpečení, SPI, bezpečnostní rizika, ACL, DMZ, aplikační proxy, Netfilter, iptables, firewall ve Windows Tato kapitola, stejně jako předešlá, je značně obsáhlá, náročná na pochopení. Nespěchejte a na jednoduchých příkladech si vyzkoušejte, jak firewall nastavit. Firewall = bezpečnostní prvek (zařízení, software) kontrolující podle definovaných pravidel síťový provoz, který přes něj prochází, a rozhodující o povolení/zamítnutí daného provozu.  firewall bývá obvykle umístěný na: o vstupu/výstupu do/ze sítě ‐ na vstupu, abyste měli pod kontrolou co se na vás „řítí“ z Internetu a na výstupu, abyste měli kontrolu nad tím, co z vaší sítě odchází např. návštěvy webových stránek v pracovní době, firemní dokumenty apod. o na koncových počítačích Nastavení firewallu by mělo vycházet z bezpečnostních zásad (politik), které by měly být pracovníky firmy sestaveny ještě před tím, než začnete konfigurovat firewall. V dokumentu popisujícím bezpečnostní zásady by měla být stanovena pravidla fungování sítě a práce uživatelů (kdo, co, jak může v síti vykonávat, co se do sítě smí/nesmí dostat). Bezpečnostní zásady by pak: o měly vycházet z postoje firmy k bezpečnosti Bezpečnostní zásady = výchozí
dokument pro pravidla činnosti
o být zpracovány písemně v síti a nastavování firewallu
o zpracovány včetně sankcí Aktualizace
dokumentu
o neustále aktualizovány bezpečnostních
zásad

aktualizace firewallu
2 základní funkce firewallu (viz. techniky používané firewally) filtrování paketů ‐ pakety jsou Rozdíl je v tom, že filtrování prověřovány na základě paketů nesleduje stav spojení. Při zdrojových/cílových IP adres, čísel použití filtrování paketů se portů a použitých protokolů. prostě, když přijde paket, stavová inspekce paketů (SPI) ‐ zkontroluje, odkud paket přišel a sledování stavu spojení. Běžně není kam míří a buď paket propustí, do sítě povolen přístup z Internetu. nebo zahodí. Nesleduje se, jestli Pokud je ale komunikace zahájena je paket součástí jiné „větší“ počítačem zevnitř sítě (tzn. spojení komunikace. navázal počítač z vnitřku sítě), pak je vzájemná komunikace povolena. Pozor, vypadá to fajn, že firewall nepropustí dovnitř sítě komunikaci zahájenou z vnější sítě. Ale ‐ nemohu‐li se do sítě dostat z Internetu a zahájit komunikaci, pak o to musím požádat uživatele: Uživatel sám vyvolá spojení s Internetem a ‐ podvrženým e‐mailem firewall si poznamená, že spojení vyšlo z vnitřní sítě a pak umožní návratovému provozu s odkazem na webovou stránku (rozuměj útočníkově odpovědi) průchod do sítě. ‐ trojským koněm řešení: ‐ zajímavou webovou stránkou  proxy firewall, který bude filtrovat obsah  upozorňovat uživatele na konkrétní obsahy, které by mohly být problémem (nestačí jen říkat: nedělejte to …) 60 Další funkce firewallu:  blokování provozu podle obsahu (u lepších firewallů)  povolení přístupu a některých spojení z Internetu do vnitřní sítě např. na webový server nebo připojení pomocí VPN  monitorování síťového provozu  zajištění a kontrola NATu  řízení přístupu do DMZ Typy firewallů  osobní firewall: na koncovém domácím počítači (formou programu nebo jako součást operačního systému)  integrovaný firewall: na směrovačích, které obvykle klient získává od poskytovatele Internetu. Většině lidí, kteří doma takové zařízení mají, plní funkci: o směrovače o DHCP serveru o často DNS serveru o access pointu o switche o a také firewallu  firewally pro malé a střední firmy  firewally pro velké firmy Jiné členění firewallů (podle toho, jak fungují):  statické paketové filtry: filtrují na základě IP, portů, protokolů (obvykle na směrovačích)  stavové filtry: vyhodnocují pakety ve vzájemné souvislosti (spojení a stavy komunikace si zapisují do stavové tabulky)  proxy firewally: filtrují obsah a proto mohou sloužit jako doplněk stavových filtrů. A ještě jedno dělení firewallů:  samostatné vyhrazené zařízení  softwarový  modul integrovaný do většího zařízení Z čeho vycházet při sestavování pravidel pro firewall?  organizační a bezpečnostní zásady v organizaci  existující záznamy logů (co se v síti/počítači do této chvíle dělo)  držet se zásady „dobrého“ zahradníka: nejlépe je vytrhat vše, protože co vyroste znova, je plevel  zakázat veškerou komunikaci, kterou vysloveně nepotřebuji Protože nastavení pravidel firewallu má vycházet z organizačních zásad, bude záviset na velikosti firmy a její politice v uplatňování těchto zásad (jaký provoz /jaká činnost/ je pro firmu ještě přijatelná). Určitě je vám jasné, že odlišné zásady bude mít firma vyrábějící boty a firma vyvíjející nové technologie. Míru restrikcí je potřeba dobře zvážit, abyste nebránili pracovníkům v řádném fungování. Například při nastavení, že zaměstnanci nemohou v pracovní době navštěvovat webové stránky. Co když nyní dostali za úkol najít, kolik stojí čistič XY. Do této chvíle nepotřebovali přístup na Internet a teď mají problém se splněním úkolu 61  musíte jim přístup zajistit. Snažte se vyhnout ad hoc opatřením, protože často pod vlivem jiných problémů na takové změny zapomenete. Umístění firewallu: Firewally se nejčastěji umísťují na hranici sítě tak, aby filtrovaly příchozí a odchozí provoz. Na obrázku vidíte dvě varianty zapojení. Jestliže router bude provádět filtrování paketů (ACL) a firewall podrobnější stavovou inspekci paketů (SPI), pak zapojení v prvním případě není nejvhodnější, protože firewall vykoná veškerou práci za router, který už nebude mít co filtrovat. V druhém případě router nejdříve provede filtrování pomocí ACL a k firewallu, který provede podrobnější kontrolu projdou už jen některé pakety. Je potřeba neustále myslet na to, že firewall je umístěný na hranici sítě, což znamená, že pokud se útočník (zaměstnanec, návštěva, apod.) připojí fyzicky k vnitřní síti, obejde jednu z důležitých úrovní ochrany  nakonfigurovat také firewally také na koncových zařízeních, zejména pak serverech. Řada menších organizací z důvodů finančních provozuje firewall přímo na směrovači, což sice není ideální, ale je to úsporné. Horší však je, že řada organizací provozuje ve vnitřní síti veřejně dostupné služby (dostupné z Internetu). Problematické na tomto řešení je právě ten přístup do vnitřní sítě z Internetu například na webový server. Vhodnějším řešením proto je nepouštět nikoho z Internetu do vnitřní sítě. V případě, že potřebujete zajistit veřejnou dostupnost některých služeb, použijte řešení pomocí demilitarizované zóny (DMZ). 62 5.1. Demilitarizovanázóna(DMZ):
Jedná se oddělenou část sítě, ve které jsou umístěny veřejně dostupné služby. Pro demilitarizovanou zónu se pak aplikují odlišná pravidla (obvykle méně přísná) než pro vnitřní síť. Méně přísnými pravidly se myslí, že zahájit spojení na server v DMZ lze i z Internetu. Spojení vyvolanému (zahájený, sestavený) z vnitřní sítě je
umožněno odejít na Internet a z Internetu se vrátit.
Spojení mířící do vnitřní sítě, které bylo
zahájeno na Internetu, bude zahozeno.
Spojení mířící na servery v DMZ,
které bylo zahájeno na Internetu, bude
firewallem po prozkoumání, že míří
pouze na příslušné servery a na nich
běžící služby, povoleno
Počítače z vnitřní sítě mají
povolen přístup na veřejně
dostupné služby v DMZ.
Pozor, je důležité, abyste povolili z Internetu provoz pouze na služby (a žádné jiné), které mají být veřejně dostupné. Pro DMZ vycházejte z toho, že:  DMZ je méně bezpečná než vnitřní síť, ale bezpečnější než Internet  zařízení z DMZ se nemají připojovat k zařízením ve vnitřní síti Když se podíváte na předchozí obrázek, tak vás možná napadne další bezpečnostní opatření. Když se nad tím zamyslíte, tak servery v DMZ jsou fyzicky na stejné síti. V případě prolomení jednoho serveru, by pak mohl útočník získat přístup i k ostatním serverům. Dalším zvýšením bezpečnosti by pak byla varianta oddělit jednotlivé servery do privátních VLAN. Pozor, nepovažujte fungování
VLAN za vrchol bezpečnosti
(navíc byly vytvořeny za
účelem zmenšení broadcastové
domény),
protože
byly
popsány způsoby, jak VLAN
obejít. Nicméně si pořád
opakujeme, že bezpečnost je
vrstvená a každá bezpečnostní
vrstva se hodí.
63 Důležité je fyzické oddělení DMZ a vnitřní sítě. Podívejte se na následující nevhodné řešení: Servery mají 2 síťové karty ‐ jednu s veřejnou adresou pro přístup z Internetu a druhou s neveřejnou adresou pro přístup z lokální sítě (aby nebylo nutné přistupovat k www přes výchozí bránu). Když se nad tímto „hrůzostrašným“ řešením zamyslíte, určitě vás napadne, že není fyzické oddělení DMZ a vnitřní sítě (i kdyby byl použity VLAN). Znamená to, že prolomením obrany serveru se útočník dostává přes druhé rozhraní do vnitřní sítě  nutné je fyzické oddělení prostředků! Další možností pro zvýšení zabezpečení je vytvořit více DMZ. Zde je pak nutné zvážit, jestli zařízení z jedné DMZ může navázat (inicializovat) komunikaci se servery v druhé DMZ. Obecná pravidla pro fungování DMZ:  není povoleno navázání spojení z DMZ do vnitřní sítě  webové servery: povoleny protokoly http Všechny (tcp 80, 8080), https (tcp 443) ostatní  emailové servery: povoleny protokoly nepotřebné POP3 (tcp 110,995), IMAP (tcp 143), SMTP porty (tcp 25) zakázány  DNS servery: protokol DNS (udp 53, případně tcp 53)  protokoly pro správu: např. SSH (tcp 22) pouze z vnitřní sítě! Omezení firewallů (tzn., co neumí):  nevynutí zásady práce s hesly ‐ to musí udělat koncový systém ve svých zásadách. Můžete mít perfektně nastavený firewall, ale když máte povolen přístup na systém, kde uživatel zadává heslo „abc“, tak útočník se na systém může pod daným uživatelem přihlásit a už záleží jen na tom, o jakého uživatele se jedná  neúčinný proti rizikům sociálního inženýrství  jedná se o zranitelné místo ‐ přes firewall probíhá veškerý provoz a kompromitace firewallu znamená útočníkův přístup k této komunikaci  konstruovat firewall jak na hranici sítě, tak na koncových zařízeních. Rovněž nepoužívat stejná přístupová hesla, ať prolomení jednoho systému neznamená prolomení všech systémů. Firewall nesmí být jedinou zárukou bezpečnosti, ale musí být doplněn o další prvky jako je antivirový, antispywarový program a sada organizačních opatření. 64 5.2. Aplikačníproxy
Původní funkcí bylo ukládání navštěvovaných stránek do mezipaměti, aby nebylo nutné v případě, že uživatelé měli stejný požadavek pokaždé stahovat stejná data. Dnes při rychlejším připojení ustupuje tato funkce do pozadí a nabývá na významu funkce bezpečnostní. Proxy umí:  skrýt uživatele za sebe ‐ uživatelé zasílají své požadavky na prsy a proxy tyto požadavky předá dál, ale už svým jménem, takže cílový počítač nevidí, že požadavek zaslal Pepa z Horní Dolní, ale že jej zaslal proxy.  filtrovat provoz dle obsahu (nelegální, nevhodný, podezřelý …)  rozložit (vyrovnat) zátěž služeb na více serverů Výhody a použití proxy: 1. skrytí klientů: Tím, že proxy přijímá požadavky klientů a předává jejich požadavky svým jménem na Internet (proxy nenahrazuje jen hlavičky v paketech klienta, ale vygeneruje svůj úplně nové pakety), nevidí počítač na Internetu klienty ale proxy server. Takže odpovědi (případně útoky) z Internetu nemíří přímo na klienta ale právě na proxy. Přes proxy prochází při správném nastavení pouze aplikační protokoly např. http a nikoli protokoly nižších vrstev  přijde‐li na proxy segment, který je určený někomu jinému než proxy, proxy jej na rozdíl od směrovače, který by takový požadavek předal dál, zlikviduje. 2. blokování URL: Proxy před tím než vygeneruje požadavek svým jménem, umí zkontrolovat, jestli URL požadovaná klientem, není v seznamu zakázaných stránek (nevhodných, nelegálních, útočných apod.). Vypadá to nadějně že? Ale až tak není! Když se nad tím zamyslíte, tak blokování URL má 2 problémy: o první problém: blokování URL lze obejít zadáním IP adresy v jiné formě:  doménového jména ‐ toto obvykle zadáváme a toto také obvykle proxy kontroluje  IP adresy ‐ administrátoři také často blokují IP adresy, ale cílové systémy např. facebook mohou používat více adres, které se navíc časem mění.  IP adresa ve formě celého čísla ‐ proxy někdy kontroluje i tento tvar, ale musí k tomu být nastaven Příklad: IPv4 lze převést do tvaru celého čísla pomocí vzorce a*224+b*216+c*28+d,
kde a,b,c,d jsou příslušné hodnoty prvního až čtvrtého oktetu IPv4. Jestliže IPv4 pro server www.seznam.cz je 77.75.72.3, bude vzorec vypadat: 77*224+75*216+72*28+3 =1296779267
65 Stránky (servery), které
jsou skryté za proxy
např. Microsoft.com se
neukážou, protože proxy
umí IP z celého čísla
rozpoznat, jen když je
na to nakonfigurován.
o druhý problém: aktuálnost zakázaných stránek  problémem je udržet krok s měnícím se prostředím na Internetu. Zejména pak, chcete‐li udržet krok u pornografických stránek ‐ když zablokujete jednu, najde si uživatele pomocí Google dalších 100  marný souboj. Můžete zablokovat hlavní, nejkřiklavější, ale prohrajete … Raději stanovte organizační pravidla a upozorněte uživatele, že provoz prochází přes filtry podezřelého obsahu a že mohou být postiženi, než abyste se vydali cestou blokování URL. 3. filtrování obsahu (např. virů, trojských koní, slovních spojení): proxy fungují pro konkrétní protokoly, takže například http proxy umožňuje odstraňovat například ovládací prvky ActiveX, Java aplety apod. Smtp proxy dokáže odstranit z příloh e‐
mailů spustitelné soubory, archivované soubory, pokud by mohly být rizikem. Proxy rovněž dokáže filtrovat dle obsahu nevhodných slov nebo slovních spojení. 4. blokování trasy: jedná se asi o největší výhodu proxy, protože nelze směrovat pakety na jiné systémy v síti než proxy (všechny pakety míří jen na proxy). Je‐li vypnuto směrování, pak nemohou projit pakety s protokoly, které nesestavila 66 proxy. Na obrázku vidíte princip pro fungování protokolu http, ale obdobně lze použít proxy pro ostatní protokoly. Chci webové
stránky XY
Já
1.0.0.2
chci
webové stránky XY
Na routeru nebo firewallu pak zajistíte, že pokud chce někdo získat webové stránky,
musí jít přes http proxy (zakážete průchod na webové servery odjinud než z/na proxy):
access-list 101 permit tcp host 1.0.0.2 any eq 80
access-list 101 deny tcp any any eq 80
Zajistili jsme, že požadavky na web nemůže poslat nikdo jiný než proxy. Je otázkou
dalších pravidel v ACL, zda jiný provoz může ze sítě odcházet přímo, či nikoli.
Nezapomeňte, že protokol http, používá také ještě jiný port.
Pro některé protokoly se ovšem může stát, že pro ně neexistují kvalitní proxy, takže pokud je budete potřebovat použít, musíte jim povolit směrování, čímž se ztrácí výhoda použití proxy. 5. logování a upozorňování: protože přes proxy probíhá veškerý provoz, lze sledovat kdo, co, kdy a kde dělal. 6. rozložení zátěže (reverzní proxy): proxy dokáže rozložit zátěž, která míří na jeden web např. www.cviceni.cz mezi více skutečných serverů. A jen tak mimochodem všimněte si, že zde jsou, tak jak mají být, veřejně dostupné služby umístěny do DMZ. Pořád na umístění veřejně dostupných služeb do DMZ myslete, byť v řadě zde uvedených příkladů pro zjednodušení schématů není DMZ zakreslena. 67 Nevýhody použití proxy: 1. Jeden bod, přes který probíhá veškerá komunikace  úzké hrdlo, které v případě poruchy znepřístupní celou síť (ovšem stejně dopadneme v případě jednoho směrovače, firewallu a všech důležitých služeb ). 2. Klient musí být nastaven na použití proxy. Na obrázku vidíte nastavení proxy v prohlížeči Mozilla Firefox: 3. Pro každou službu 1 proxy 4. Nechrání základní operační systém ‐ protože proxy funguje na aplikační vrstvě např. pro http procházející přes proxy  nekontroluje spojení určená přímo pro proxy server, která nedorazí paž na sledovanou službu aplikační vrstvy. Možnými řešeními pak je:  sloučit funkci firewallu a proxy  před proxy předsadit firewall Dalšími doporučenými opatřeními pak je:  deaktivovat směrování přes proxy na nižších vrstvách  zabezpečit samotný proxy  nepovolit navázání spojení přes/na proxy z vnější sítě  oddělit funkci veřejně dostupných služeb a proxy ‐ to znamená, že na proxy neinstalovat další služby (např. webový server), protože by právě přes tuto službu mohl být napaden. Proč? Co se asi tak stane, když ochránce, přes který prochází veškerý provoz, je v rukou útočníka?! 68 5.3. Návrhněkterýchpravidelprofirewally
Při tvorbě pravidel si vždy ověřte, zda u daného firewallu záleží nebo naopak nezáleží na pořadí, v jakém jsou pravidla zapsána! Uvědomte si, že je nutné rozlišovat, ze/na kterého rozhraní paket dorazil více, než abyste se při psaní pravidel řídili adresami v paketu, které se dají zfalšovat. ICMP Source Quench (sniž rychlost odesílání) Z vnitřní sítě je povolen požadavek na odpověď, protože chceme systémů dovolit zjistit, zda je cílový počítač dostupný (použít např. příkaz ping) Echo Request (ozvěna) ‐ slouží k tomu, aby počítače mohly ověřit konektivitu (využíváno např. příkazem ping). Do sítě je zakázán ‐ co je komu do toho, zda nám některé systémy běží. Echo Reply ‐ odpověď na žádost Echo Request. Jestliže jsme povolili, že naše počítače mohou zaslat Echo Request, pak potřebujeme povolit návrat odpovědí. Destination Unreachable (cíl nedostupný) ‐ slouží k zasílání zpráv, že cílový hostitel je nedostupný Service Unavailable (služba nedostupná) ‐ informují o nedostupnosti služby Nepovolujeme, aby naše počítače odpovídaly na požadavky mimo naši síť, protože nechceme útočníky informovat o tom, že daný systém nebo služba je zapnutý/vypnutý. Útočníci by mohli této informace využít k prozkoumání počtu přeskoků a hranic naší sítě (tím že by měnili hodnotu TTL). TTL exceeded ‐ vypršení TTL Parametr Problem ‐ informuje klientské počítače, že neposílají správně formátované pakety Redirect ‐ změň směrování. Nechceme povolit, aby někdo z venku mohl ovlivňovat změnu směrovacích tabulek Ani při odchodu ze sítě nebudeme riskovat, že nás „opustí“ něco, co bychom nechtěli ‐ zakážeme všechny ICMP pakety, které jsme výše nepovolili. Závěrečným pravidlem by mělo být, že chceme zahazovat všechny ICMP pakety, které jsme výslovně nepovolili IP Zahazovat pakety se zdrojovým (přímým) směrováním Pakety se zdrojovou adresou, která odpovídá naší vnitřní síti (takový paket nemá co přicházet z vnějšího rozhraní) Pakety, které dorazí na vnitřní rozhraní a mají zdrojovou adresu, z níž je jasné, že je to adresa ve vnější síti Pakety z neveřejných IP adres 69 RIP, OSPF apod. V případě, že nechci, aby mi někdo z vnější sítě měnil směrovací tabulky. Záleží na tom, jaká firma jsem a jak směruji pakety. V případě, že vše směruji ke svému poskytovateli Internetu, pak ideálně směrují pomocí default route a v tom případě nepotřebuji aktualizace ze směrovacích protokolů. Pakety ze sítí (hostitelů), kteří mě obtěžují nebo jim z nějakých důvodů chci zabránit i odpovídat na dotazy, které vznikly v mé síti.. UDP Zákaz paketů mířících na nižší porty než 21 Zakázat přenos paketů protokolu SNMP (porty 161 a 162) TCP Oproti UDP protokol TCP navazuje spojení a lze u něj sledovat stav spojení, k čemuž se mimo jiné využívají příznaky jako SYN, FIN, ACK atd. Zahazovat porty pod 20 Zakázat přenos paketů protokolu SNMP (porty 161 a 162) Zakázat spojení mířící na Telnet (port 23) z důvodu nešifrované komunikace Z vnější sítě zahazovat pakety s příznakem SYN, které nemíří na vámi definované veřejně dostupné služby. Uvědomte si ale, že z vnější sítě není vhodné navazovat spojení se zařízeními ve vnitřní síti (viz. část o DMZ). Jen ty služby, které poskytují veřejné služby. Zakázat spojení FTP z vnější sítě Zakázat připojení SMTP (port 25) mířící jinam než na poštovní server. Dále je na vaší úvaze, jaký odchozí provoz ze systémů vnitřní sítě budete povolovat. Řízením i odchozího provozu ztížíte odchod provozu, které by si některý software mohl vytvořit jako zadní vrátka. V tabulkách jsou uvedená doporučení nikoli dogmata a navíc se jedná jen o zlomek různých pravidel. Uvedená doporučení slouží také k tomu, abyste se nad některými pravidly zamysleli a rozhodli, zda je potřebujete. Vždy záleží na tom, jaký systém chcete chránit a do jaké míry omezíte uživatele v jejich činnosti. 70 5.4. FirewallvLinuxu
Firewall v Linuxu se jmenuje Netfilter. Standardním nástrojem pro správu Netfilteru je nástroj iptables. Občas se můžete setkat s tím, že někdo bude mluvit o firewallu iptables. Měli byste vědět, že firewall je Netfilter a iptables je nástroj. 




provádí nejen filtrování paketů, ale také směrování a NAT (tzv. maškarádu) čtou se hlavičky paketů a obsah dat je nezajímá  nevhodné pro filtrování obsahu umí filtrovat hlavičky: IP, TCP, UDP, ICMP používá „uspořádané řetězy“ pravidel a skupiny řetězů pak tvoří „tabulky“ obsahuje 3 integrované tabulky: filter: defaultní tabulka, není‐li uvedeno, pro kterou tabulku řetěz patří, pak se použije tabulka filter NAT: obsahuje řetězy řídící NAT mangle: pro pokročilejší manipulaci s pakety (většinou ji nepoužijete) Každá tabulka obsahuje integrované řetězy (řetěz /chain/ = seznam pravidel, které definují akce s pakety). V následující tabulce (a tím nemyslím tabulku firewallu ) vidíte přehled „tabulek“ firewallu Netfilter a používaných integrovaných řetězů: Tabulky a řetězy firewallu Netfilter tabulka filter tabulka NAT tabulka mangle jména integrovaných řetězů INPUT FORWARD OUTPUT PREROUTING
OUTPUT
POSTROUTING
PREROUTING
OUTPUT
INPUT
FORWARD
POSTROUTING
Každý z řetězů tabulek filter, NAT a mangle zpracovává určitý typ komunikace podle toho, zda je příchozí a zda cílem jeho určení je systém, na kterém firewall běží, nebo zda provoz pouze přes systém prochází a je určen někomu jinému. tabulka filter: řetěz INPUT: řetěz FORWARD: řetěz OUTPUT: zpracovává příchozí pakety na lokální počítač zpracovává pakety procházející přes zařízení (aplikováno na paket přicházející na jedno síťové rozhraní a přesměrované na jiné síťové rozhraní) zpracovává odchozí pakety z lokálního počítače tabulka NAT: řetěz PREROUTING: upravuje příchozí pakety před jejich směrováním řetěz OUTPUT: upravuje lokálně vytvořené pakety před jejich směrováním řetěz POSTROUTING: upravuje pakety po směrování Pro komunikaci zpracovávanou firewallem Netfilter platí:  každý paket je zpracován jádrem OS a předán právě jednomu z řetězů  každé pravidlo z řetězu obsahuje pokyn, co dělat s pakety, které odpovídají pravidlu  pravidla jsou vyhodnocována sekvenčně 71  jestliže paket splňuje pravidlo je vykonána akce a dále se nepokračuje. Akce je také někdy označována jako cíl nebo cílová klauzule nebo politika apod. Cílem (akcí) může být i další řetěz. Přehled akcí, které je možné s paketem provést: ACCEPT ‐ paket je dále odeslán ke svému cíli DROP ‐ paket potichu zahodí (neoznámí to odesílateli) REJECT ‐ paket zahodí a odesílateli zašle chybovou zprávu ICMP LOG ‐ provede záznam do logu MIRROR ‐ zamění cílovou a zdrojovou adresu paketu, než je paket poslán dál QUEUE ‐ předá pakety pomocí modulu jádra lokálním uživatelským programům REDIRECT ‐ přeposlání paketu místo jeho propuštění k cíli (např. proxy serveru). Např. všechny požadavky na webový server jsou přeposlány na webový vyrovnávací server např. Squid RETURN ‐ ukončí uživatelem definované příkazy (podobně jako příkaz návratu z volání podprogramu) ULOG ‐ rozšířené možnosti zápisu do logů. Často se doporučuje nastavit:
iptables -P INPUT DROP
iptables -P FORWARD DROP
řetěz
všechny pakety, které jsem v řetězci
vyloženě nepovolil pomocí jiných
pravidel, jsou implicitně zahozeny.
akce
Firewall je obvykle konfigurován jako startovní skript tvořený řadou příkazů iptables, přičemž příkaz iptables může být upřesněn řadou parametrů. Parametry příkazu iptables: -F˽ jméno řetězu odstraní všechna pravidla z daného řetězu -P˽ jméno řetězu ˽ cíl nastavuje akci pro daný řetěz -A přidá pravidlo na konec řetězu -t definuje tabulku ‐ filter, nat, mangle (není‐li zadáno, pravidlo se přidá do tabulky filter) -i˽rozhraní určuje, se kterým rozhraním je pravidlo svázáno -j˽akce definuje cíl (akci) -p˽protocol zachycuje pakety podle protokolu (IP, TCP, UDP, ICMP) -s˽zdrojová IP zachycuje pakety s danou zdrojovou adresou (lze použít zápis ve tvaru CIDR) -d˽cílová IP zachycuje pakety s danou cílovou adresou (lze použít zápis ve tvaru CIDR) --sport˽port zachytí pakety na základě zdrojového portu --dport˽port zachytí pakety na základě cílového portu --icmp-type˽typ zachytí pakety ICMP podle zadaného typu Podívejte se na následující příklad s vysvětlením, protože než vysvětlovat tisíc teorií je lépe ukázat jeden příklad. 72 Příklad ‐ použití firewallu Netwilter : Máte síť, v níž je směrovač tvořen zařízením s OS Linux (když si vzpomenete na teorii firewallů, určitě vás napadne, že toto řešení, bez DMZ, není nejlepší ). Ve schématu jsou zachyceny i požadavky na firewall. Požadavky:

na server 10.0.0.2 je povolen přístup k službě
HTTP a DNS
na server 10.0.0.2 je přístup přes SSH povolen
(i z Internetu)
na router je přístup přes SSH z lokální sítě
povolen


nastavení chování řetězců INPUT a FORWARD tak, že
vše, co jsem nepovolil, bude zahozeno
vyčištění tabulky filter
iptables
iptables
iptables
iptables
iptables
iptables
iptables
-F
-P
-P
-A
-A
-A
-A
všechen provoz přicházející z eth0 a mířící kamkoli jinam
než na směrovač, bude povolen. Řetěz FORWARD je
použit, protože se jedná o provoz, který není určen přímo
routeru (firewallu), ale míří k jiným cílům  je přeposílán
INPUT DROP
FORWARD DROP
FORWARD -i eth0 -p ANY
FORWARD -d 10.0.0.2 -p
FORWARD -d 10.0.0.2 -p
FORWARD -d 10.0.0.2 -p
-j ACCEPT
tcp --dport 80 -j ACCEPT
tcp --dport 22 -j ACCEPT
udp --dport 53 -j ACCEPT
je povolen provoz
mířící na služby
SSH, http a DNS
serveru 10.0.0.2
Protože se jedná o provoz z jednoho rozhraní na druhé, je pravidlo připojeno
do řetězce FORWARD. Kdyby provoz měl mířit přímo na router, tak
bychom použili řetěz INPUT.
je povoleno spojení s routerem z lokální sítě přes SSH
umožňuje spojení v rámci firewallu
iptables -A INPUT -i eth0 -d 10.0.0.1 -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -i lo -d 127.0.0.1 -p ANY -j ACCEPT
iptables -A INPUT -i eth0 -d 10.0.0.1 -p icmp --icmp-type 8 -j ACCEPT
dovoluje z lokální sítě spojení ICMP typu ECHO-REQUEST (používáno
příkazem ping)
iptables
iptables
iptables
iptables
-A
-A
-A
-A
INPUT
INPUT
INPUT
INPUT
-p
-p
-p
-p
iptables
iptables
iptables
iptables
-A
-A
-A
-A
FORWARD
FORWARD
FORWARD
FORWARD
icmp
icmp
icmp
icmp
-p
-p
-p
-p
--icmp-type
--icmp-type
--icmp-type
--icmp-type
icmp
icmp
icmp
icmp
--icmp-type
--icmp-type
--icmp-type
--icmp-type
0 -j ACCEPT
3 -j ACCEPT
5 -j ACCEPT
11 -j ACCEPT
Povolení
určitého
typu
provozu
protokolu
ICMP.
73 0 -j ACCEPT
3 -j ACCEPT
5 -j ACCEPT
11 -j ACCEPT
Pozor, mezi IP adresou
a maskou není mezera.
Následující pravidla slouží k ošetření paketů přicházejících na rozhraní eth1 a jsou použita ještě před provedením překladu NAT a směrováním. iptables
iptables
iptables
iptables
iptables
-A
-A
-A
-A
-A
PREROUTING
PREROUTING
PREROUTING
PREROUTING
PREROUTING
-i
-i
-i
-i
-i
eth1
eth1
eth1
eth1
eth1
-s
-s
-s
-s
-s
10.0.0.0/8 -j DROP
172.16.0.0/12 -j DROP
192.168.0.0/24 -j DROP
127.0.0.1/8 -j DROP
224.0.0.0/4 -j DROP
Z Internetu
nesmí
přijit
nic
z těchto
neveřejných
adres
Další pravidla kromě toho, že provedou záznam do logů. Defaultně by měl být proveden zápis do systemového logu /var/log/messages (pozor na přetečení logů). iptables -A INPUT -i eth1 -j LOG
iptables -A FORWARD -i eth1 -j LOG
Vzhledem k tomu, že se jedná zároveň o router, který přeposílá data z/do sítě, je nutné zajistit stavovou inspekci paketů. Povoluje veškerý odchozí
iptables -A FORWARD -i eth0 -p ANY -j ACCEPT
provoz ze sítě
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
Zpět do sítě jsou propuštěny Povoluje jen takový provoz,
jen reakce na komunikaci který je součástí stávající
relace ve stavové tabulce
vyvolanou z vnitřní sítě
Povolí provoz, který nějakým
způsobem
souvisí
s již
zavedeným
provozem
zapsaným ve stavové tabulce
Pokud vám část se stavovou inspekcí nebyla zcela jasná, zkuste se podívat ještě na následující vysvětlení. Netfilter obsahuje i stavové filtry, které můžete nastavit podle příkladu níže. První pravidlo povolí odchozí provoz (vyvolaný ze zařízení ‐ jedná se o řetěz INPUT ). Druhé pravidlo zajistí průchod návratového provozu. Výstup ze zařízení bude povolen jen novému a zavedenému provozu
iptables -A OUTPUT -p tcp -m state --state NEW,ESTABLISHED -j ACCEPT
Určuje, že se má pro pravidlo Pakety s příznakem SYN, Provoz, který již má
použít standardní modul state, které zahajují nové spojení a záznam ve stavové
každý nový výskyt spojení tabulce.
který je součástí iptables
se zapíše jako nový záznam
do stavové tabulky
Ze zařízení může odcházet jakákoli standardní komunikace tcp.
iptables -A INPUT -p tcp -m state --state ESTABLISHED -j ACCEPT
Pozor, pro návratový provoz pouze ESTABLISHED (tzn.
jen takový, který má záznam ve stavové tabulce). Pokud
bychom použili hodnotu NEW, pak by zařízení z vnějšku
mohla zahajovat komunikaci.
74 Vypsání stavu firewallu: iptables -L (případně s parametrem ‐v, který vypíše, kolikrát bylo dané pravidlo použito). Vymazání všech pravidel: iptables -F Odstranění konkrétního pravidla z řetězu (2 způsoby): 

iptables -D název_řetězu číslo_ pravidla iptables -D přesný tvar řetězu (jak byl zadán) Poznámky: 1) Nezapomeňte, že řešení, kdy počítač kromě firewallu a směrovače plní také i další funkce, je rizikové, protože útočník může mít žně. 2) Nezapomeňte, že Linux je citlivý na velikost písmen, takže názvy řetězů a akce je potřeba psát velkými písmeny! 5.5. FirewallveWindows
Na firewall ve Windows se podíváme jen zběžně, protože jestliže jste se naučili, jak se tvoří pravidla ACL v IOS (na zařízeních Cisco) nebo ve firewallu Linuxu, je už relativně snadné použití firewallu ve Windows. Nejtěžší na nastavování firewallu je správně navrhnout potřebná pravidla a odladit je tak, aby síť nebo zařízení chránila a co nejméně obtěžovala uživatele, který je jinak bude obcházet, nebo hůř, celý firewall vypne. Jedno úskalí nastavení firewallu v grafickém režimu ve Windows má, alespoň pro toho, kdo je zvyklý používat příkazovou řádku a mít vše před sebou. Tím úskalím je spousta oken, kterými se musíte proklikat, abyste provedli nastavení. Nastavení firewallu ve Windows provedete v Ovládacích panelech. A následně v levém sloupci zvolíte Upřesnit nastavení. 75 Vyberte, zda chcete konfigurovat pravidla týkající se příchozího nebo odchozího provozu. Na existující pravidla stačí poklepat a otevře se vám následující okno, ve kterém pak nadefinujete, jakých programů, služeb, počítačů, protokolů, portů a případně uživatelů se májí daná pravidla týkat. Když v nastavení Brány Windows firewall s pokročilým nastavení (tak se to jmenuje ) pomocí kontextového menu vyberete Vlastnosti, můžete nastavit chování firewallu podle toho, v jakých situacích se počítač nachází (zda je připojen k doméně, k veřejné síti apod.). Chcete‐li například získat přehled o spojeních, můžete logovat úspěšná připojení a pak se zamyslet nad tím, co jsou zač. 76 Shrnutí:
Firewally hrají důležitou roli v zabezpečení jak jednotlivých systémů, tak celých sítí. Firewally lze rozdělit podle řady kritérií na softwarové a hardwarové, osobní, integrované, firewally pro malé a střední organizace, firewally pro velké firmy atd. Z hlediska toho, jaké funkce firewally poskytují, je lze rozdělit na paketové filtry, stavové firewally nebo proxy firewally. Často se tyto funkce kombinují. Paketové filtry jsou založeny na filtrování podle IP adres a čísel portů a seznámili jste se s nimi v kapitole č. 4. Stavové filty (SPI ‐ stavová inspekce paketů) rozšiřují možnosti paketových filtrů o filtrování komunikace podle toho, zda pakety jsou součástí již probíhající komunikace, podle toho odkud byla komunikace zahájena apod., k čemuž se využívá příznaků v datagramech transportní vrstvy. Paketové filtry, a ani SPI, neumožňují kontrolovat přenášená data. K tomu slouží proxy firewally. Obecně platí, že čím "výše" z hlediska síťového modelu probíhá filtrování, tím je účinnější ale také náročnější na výpočetní kapacitu zařízení a čas. Nezapomeňte, že z hlediska bezpečnosti není vhodné, aby byly ve vnitřní síti služby, které jsou dostupné z Internetu, ale je vhodnější takové služby umístit do demilitarizované zóny a přístupu do vnitřní sítě z Internetu bránit.
77 6. Detekcevniknutí(IDS)
Klíčové pojmy: IDS, HIDS, IDS = Intrusion Detection System (Systém detekce vniknutí). Jak už název napovídá, jedná se o systém, který se snaží upozornit, že naše ochrana byla prolomena (vlastně takové poplašné zařízení). Obecně lze říci, že tento systém řeší:  kde se provádí sledování ‐ například na rozhraní vnější sítě, hostitelském počítači apod.  co se sleduje ‐ například systém zjistí, že někdo provádí skenování portů protokolu TCP  co se má dělat ‐ například zašle e‐mail, sms, zablokuje komunikaci Hned pro začátek je potřeba upozornit, že systém kontroluje jen to, co mu nařídíme. A navíc musíme vyjít z lidské přirozenosti, že jestliže bude IDS produkovat příliš falešných signálů, bude ho většina lidí ignorovat nebo ho vypne. Slyšíte toho Majera v Arabele, jak okřikne jezevčíka Pajdu, když se do domu vnikne zloděj: „Pajdo, ticho“… Funkce, které IDS poskytuje:  logování událostí  sledování závislostí mezi událostmi Umožňuje určit, který systém byl napaden jako první a z kterého napadeného systému se pak útok šířil dále (mimo jiné proto je nutné udržovat v síti správný čas).  centralizovaná správa senzorů Je‐li v síti více IDS, je žádoucí mít centrální místo, které umožňuje zpracovávat záznamy z více zařízení na jednom místě. Je pak snadnější dávat události z více systémů do souvislostí.  možnost úpravy projevů útoků a prahových hodnot IDS musí poskytovat možnost doplnit/upravit projevy útoků  eliminace falešných poplachů Administrátor si ale musí být jistý, že se jedná o falešný poplach  implementace postavená na standardech IDS by měl podporovat standard CVE (Common Vulnerabilities and Exposures), který umožňuje klasifikovat a členit události.  funkce pro prevenci vniknutí (IPS ‐ Instrusion Prevention Systém) IDS systém by měl být schopen v případě podezření na vniknutí zareagovat ‐ zabránit dokončení útoků: pasivně: upozorní, provede logování aktivně: zastaví útočníka (ukončením spojení pomocí paketu TCP reset, zasláním zprávy ICMP Unreachable, případně v kooperaci s firewallem nebo routerem zablokováním provozu úpravou ACL apod.).  kontrola projevů (signatury) útoků Monitoruje provoz a porovnává jej se signaturami útoků v databázi, kterou je nutné, obdobně jako u antivirů, aktualizovat.  analýza síťových protokolů 78 
Sleduje vlastnosti protokolů oproti nezvyklému chování. IDS zná normální chování protokolů a reaguje na jejich nenormální chování (příkazy, požadavky apod.). detekce anomálií Umožňuje srovnat normální provoz, a když je normální provoz „překročen“ přes prahovou hodnotu zareaguje. Například tehdy, když se na síti objeví nový protokol, objeví se významné odchylky ve využití disku, CPU apod. Poznámka. Můžete se setkat s tím, že označení IDS a IPS se často zaměňují, protože dnešní IDS by měla být schopna nežádoucí provoz zablokovat, čili se jedná o IPS (IPS jsou založena na technologii IDS‐ nejdříve musím rozpoznat problém a pak jej mohu řešit). Systémy IDS lze rozdělit na: Nezapomeňte na vrstvenou
bezpečnost  používat
v síti oba typy
NIDS (Network‐based Intrusion Detection ‐ síťové IDS) HIDS (Host‐based Instrusion Detection ‐ hostitelské IDS) NIDS (NIPS)  zařízení, které sleduje síťový provoz (jednotlivé pakety), ovšem některé typy mohou provádět analýzu až po aplikační vrstvu.  provedení: zařízení, které se umístí přímo na linku a přes které protéká provoz v daném segmentu zařízení, na které je zasílán provoz pomocí zrcadlení portů. Toto řešení, na rozdíl od předešlého, nevytváří úzké hrdlo sítě. Nevýhodou tohoto řešení je, že nemůže škodlivý provoz přímo zablokovat, ale musí o to požádat router nebo firewall (pokud to umí). Veškerý provoz proudící přes Fa0/2 je
zároveň zasílán přes port Fa0/5 do NIDS
Zařízení, které funguje jako NIDS, pracuje v promiskuitním
režimu (tzn. jeho síťová karta) - to znamená, že zpracovává i
rámce (potažmo pakety), které nejsou přímo určeny pro něj
(nemají jeho MAC a IP) - zpracovává i data určena někomu
jinému

jako NIDS (NIPS) může fungovat:  router nebo switch s integrovanými funkcemi NIDS  vyhrazené (dedikované) zařízení, které bude plnit roli NIDS  síťový modul, který se do routeru nebo switche doinstaluje  obvykle se umísťuje před a za firewall (nebo bránou VPN) a sleduje se:  příchozí provoz  odchozí provoz  provoz mezi systémy uvnitř sítě 79 

pokud je v síti více VLAN, umí NIDS sledovat komunikaci na trunk lince podle protokolu IEEE 802.1q (musí informace z trunk linky dostat ‐ buď je k ní připojen, nebo pomocí zrcadlení portu). výhodou NIDS je, že uživatelé o nich neví, ale nevýhodou je, že tvoří úzké hrdlo sítě některé switche mají zabudovanou podporu IDS 
HIDS (HIPS)  sledují se aktivity na koncových hostitelích ‐ počítačích (zejména veřejně dostupných serverech). Například, používáte‐li webový server, firewall propustí provoz mířící na server na port TCP 80. Díky HIDS můžete sledovat aktivity protokolu http na serveru.  na rozdíl od NIDS se nesleduje obsah jednotlivých paketů, ale spíše se určuje, zda uživatel (místní, vzdálený) nedělá něco nepovoleného  protože je na konci komunikace, umí, na rozdíl od NIDS, sledovat i výměnu dat v šifrované podobě, což NIDS nemůže (právě proto, že data jsou šifrována)  sleduje:  příchozí/odchozí provoz  změny souborového systému  změny v protokolech událostí  operace uživatelů  přístup k souborům serveru  pokusy o vniknutí  změny v aktualizacích, spuštěných službách, otevřených portech, aplikacích, změny v spuštěných aplikacích  Jedním z příkladů, kdy HIDS by měl upozornit, že je něco divného, když například účet guest nebo nobody získá oprávnění administrátora.  záleží na typu HIDS, zda umí získávat data z více zdrojů (protokoly, změny souborového systému atd.), nebo jen z některých zdrojů. Podle toho lze HIDS rozdělit na: o
HIDS kontrolující souborový systém  HIDS si vytvoří snímek souborového systému (tzv. srovnávací základnu) a pak oproti němu porovnává změny. Je potřeba zvážit, které části souborového systému sledovat, je možné vycházet z těchto úvah:  obsah pracovních adresářů (Temp) se mění  zbytečné, aby HIDS hlásil vznik každého souboru  knihovny jádra se mění málokdy  hlídat  soubory logů obvykle narůstají a vlastnictví a oprávnění se nemění  hlídat  změny souborů lze sledovat pomocí jednosměrného hashe  srovnávací základnu je dobré uložit na médium, které jen pro čtení (CD,DVD), to ale útočníkovi nemusí zabránit podstrčit systému jinou srovnávací základnu (a vy si toho nemusíte všimnout)  je nutné vytipovat, které soubory se mohou měnit a které nikoli (tzv. kritické soubory a adresáře)  nutné vycházet z definovaných zásad bezpečnosti. Vhodným postupem pro takovéto vytipování je začít od bezpečného stavu, nastavit sledování celého kořenového stromu a spustit systém v bezpečném prostředí (provozu)  sledovat, co se mění/nemění  z těchto údajů pak pro ostrý provoz nastavit, co má HIDS sledovat 80  HIDS systémy: AIDE (free i komerční verze), Tripwire, Snort apod. Pokud nemáte k dispozici HIDS, můžete například použít alespoň nástroj pro sledování nových a odstraněných souborů o
HIDS sledující síťová připojení  sbírá informace o síťových spojeních, která jsou na hostiteli zahajována, nebo je hostitel jejich cílem. Oproti NIDS dokážou přiřadit spojení ke konkrétním uživatelům a procesům (tzn. kdo spojení vyvolal nebo na koho spojení míří).  často umožňují reagovat na útok blokováním provozu, problémem ale mohou být falešné poplachy  HIDS systémy: Psionic (Linux, free), Black ICE Defender (Windows, komerční; dodáván ve 2 verzích ‐ pro stanice a pro servery) o
HIDS sledující soubory protokolů (logů)  získávají informace ze systémových logů a podezřelou událost oznámí adminovi o
HIDS systémy: Swatch (Linux, free), Psionic LogSentry (Linux, free), TNT Event Log Monitor (Windows) a LANguard Security Event Log Monitor (Windows) a v neposlední řadě Snort (Linux i Windows). Omezení IDS Stejně jako řada jiných nástrojů mají také systémy detekce vniknutí svá omezení, která je potřeba vzít v úvahu:  v síti jsou potřeba jak NIDS tak HIDS  rychlost aktualizací signatur útoků  falešné poplachy  rychlost zpracování dat (pozor, někteří výrobci uvádí rychlost v b/s, ale důležitý je počet paketů/s ‐ je rozdíl mezi výkonností při zpracování 1500 B paketů a 60 B paketů)  nedokáže sledovat útok probíhající v dlouhém časovém horizontu  slepota senzorů ‐ zahlcením rozhraní pakety, které nestihne zpracovat  omezení záznamového prostoru (když bude mít málo místa, tak buď začne odstraňovat staré záznamy, nebo přestane zapisovat nové ‐ obojí je problém)  odepření služeb  fragmentace ‐ zmenšením velikosti paketů, které má zpracovat, čímž IDS přetíží  změny v signaturách ‐ útočník upraví svůj útok tak, aby neodpovídal známé signatuře útoku zapsané v databázi návnady (honeypots)  účelem je odvést útočníkovu pozornost mimo hlavní systém  návnadou nesmí být systém, na kterém jsou ostrá data  je nutné návnadu sledovat, ideálně, aby spustila poplach  slouží ke zkoumání aktivit útočníka  často se umísťuje do DMZ, ale nikdy není uvedena v DNS ani jinak registrována (to znamená, že běžný uživatel by se o ní neměl dozvědět)  vytváří se systémy návnad ‐ v případě, že útočník skočí na 1 návnadu, je mu nabídnuta další  návnadu je nutné také zabezpečit firewallem např. tak, že z návnady může odcházet vše, ale na návnadu je povolen přístup jen z FTP, ICMP DNS apod.  nevýhody: 81  podaří‐li se útočníkovi do návnady prolomit, může ji použít jako výchozí bod pro další útoky  návnadu je nutné aktualizovat a udržovat, stejně jako jiné zařízení  jedná se o další prvek, o který je nutné se starat. Bližší informace o použití návnad můžete získat na stránce www.honeypots.net Shrnutí:
I při sebelepší snaze o zabezpečení systému se může stát, že se někdo bude pokoušet získat přístup do sítě. V takovýchto případech je vhodné, aby byl administrátor informován, že probíhá útok, nebo že se útočník dostal přes obranu. K tomuto účelu slouží IDS. Z hlediska použití se můžete setkat s pojmy jako HIDS a NIDS, kde HIDS je určeno pro cílová zařízení, kdežto NIDS označuje IDS pro sledování provozu sítě. IDS je založeno na sledování provozu a jeho porovnávání se signaturami útoků, podle kterých určí, zda se jedná o podezřelý provoz. Z těchto důvodů jsou IDS systémy závislé, stejně jako antivirové programy, na udržování aktuální databáze signatur útoků. Jedním z vhodných IDS systémů pro Linux i Windows je Snort.
82 7. Ochranahostitelskéhosystému
Klíčové pojmy: audit, nastavení uživatelských účtů, pravidla hesel Existuje několik důvodů, proč je potřeba dbát na ochranu samotných hostitelských (koncových) systémů:  útočník se prolomí skrz ochranu sítě z Internetu  zabezpečení sítě nechrání před všemi typy hrozeb  útok může přijít z vnitřní sítě Potřebujete chránit všechny systémy servery, síťová zařízení, ale také počítače běžných uživatelů, aby nemohly být zneužity. Bohužel ochrana jednotlivých systémů vás bude stát čas, úsilí a peníze a je na vašem zvážení, jakou úroveň ochrany budete jednotlivým systémům v síti věnovat. Pro ochranu každého systému můžete vyjít z následující bezpečnostní pyramidy: zabezpečení aplikací
zabezpečení proti síťovým útokům
Zabezpečení proti místním útokům
V následující části textu najdete shrnutí zabezpečení jednotlivých úrovní hostitelského systému, přičemž úvodní část je společná pro OS Windows i Linux a pak následují opatření typická pro daný operační systém. 7.1. Zabezpečeníprotimístnímútokům
Jedná se o takové útoky, které přicházejí od uživatele sedícího za klávesnicí počítače (ať už jsou to útoky úmyslné nebo neúmyslné). Měli byste věnovat pozornost následujícím opatřením:  dodržovat zásady fyzické bezpečnosti, tzn. fyzického přístupu k počítači  správně nastavit přístupová oprávnění a správu uživatelských účtů  provádět pravidelnou kontrolu uživatelských účtů ‐ měli byste sledovat jestli nějaký účet nepřibyl (a proč) a porovnávat seznam uživatelských účtů oproti seznamu oprávněných osob (zaměstnanců, brigádníků apod.) Měli byste pravidelně odstraňovat/zakazovat nepoužívané účty a kontrolovat, zda se nějaký účet „neaktivoval“.  provádět pravidelnou kontrolu členství uživatelů ve skupinách (zejména těch důležitých jako jsou Administrators nebo v Linuxu root). Řada útočníků se snaží rozšířit si oprávnění v napadeném systému tak, že si svůj účet přiřadí mezi administrátorské účty. Ideální je omezit v Linuxu členství ve skupině root jen na uživatele root a místo toho raději zajistit fungování pomocí příkazu sudo, který omezuje privilegia správců a činnost zaznamenává do logu. Obdobně pak postupovat ve Windows, kdy je také vhodné omezit účty ve skupině Administrators a využívat možností kontextového menu „Spustit jako“.  ve Windows přejmenovat administrátorský účet a v Linuxu omezit přihlášení k účtu root pouze z konzoly  bude‐li se chtít uživatel přihlásit vzdáleně, pak pouze pod jiným účtem  bude muset použít příkaz su.  věnovat pozornost správě hesel  mazat citlivé informace při vypínání systému  pravidelně archivovat data, která nejsou delší dobu potřeba a odstraňovat dočasné pracovní soubory 83 


pravidelně provádět zálohování provádět kontrolu dat před zálohováním, aby se při obnově dat ze zálohy neobnovily také případné napadené soubory zapnout audit informací o bezpečnosti. Můžete využít záznamů o přihlášení/odhlášení uživatele, informací o privilegovaných účtech a příkazech zadaných uživateli. Musíte si být ale vědomi, že v případě prolomení ochrany, může útočník tyto logy promazat. Poznámka:dobré pravidlo, které řada správců ignoruje, doporučuje, aby pro svou práci používali běžný, nijak neprivilegovaný, uživatelský účet a pouze v případě potřeby využili účet administrátora. Budete‐li pracovat jako běžný uživatel, pak program, který by chtěl provést něco za vašimi zády, na sebe upozorní, protože bude například ke své instalaci potřebovat oprávnění administrátora. 7.1.1. Windows









zamezení přístupu k některým částem a nástrojům systému např. správě disků, správě uživatelů apod., což ve Window jsou moduly snap‐in v konzoli MMC (Microsoft Management Console) a v Linuxu například nástroj linuxconf. naplánovat pravidelné aktualizace. Microsoft rozlišuje několik typů aktualizací ‐ důležité, doporučené a volitelné. Z hlediska zabezpečení rozlišuje aktualizace podle závažnosti na kritické, důležité, střední a nízké závažnosti. použít vestavěné šifrování souborového systému (tzv. EFS) případně důležitých složek zkontrolovat překlady adres v LMhosts (případně je vypnout) pokud to dovoluje kapacita RAM, pak vypnout použití SWAP paměti, protože se zde (do swapovacího souboru) mohou zapisovat citlivá data, která mohou být zneužita omezit úpravu registru nastavit oprávnění souborového systému Pozor na skupinu Everyone a Users, kterým bývá defaultně zajištěn přístup do nově vytvářených adresářů a souborů. ověřit členství uživatelských účtů ve skupinách a porovnat, zda se „někde někdo neobjevil, nebo naopak nezůstal uživatel“. Lze využít příkazy: net localgroup, net user, net group, icacls nastavit zásady hesel, uzamknutí účtu (net accounts) zapnout a nastavit audit systému a monitorovat například úspěšná i neúspěšná přihlášení, privilegované požadavky apod. Nastavení auditu provedete v Zásadách zabezpečení 
aby administrátor mohl objevit bezpečnostní problémy, měl by pravidelně sledovat a vyhodnocovat (sledovat změny) v Prohlížeči událostí: o systémových logů o mailových logů o špatných pokusů o přihlášení o chyb aplikací 84 o
o
o
změn důležitých souborů změn oprávnění důležitých souborů výkonnostní testy 7.1.2. Linux




úvodní úroveň zabezpečení včetně oprávnění je již nastavena vývojáři dané distribuce Linuxu. používat stínová hesla, silná hesla a nastavovat pravidla pro jejich obměnu v /etc/login.defs prověřit sílu hesel např. pomocí John The Ripper, Crack apod. Pozor, k takovému kroku potřebujete písemný souhlas nadřízeného! porovnat změny důležitých souborů jako jsou /etc/passwd, /etc/shadow , /etc/group apod., zda nebyl přidán „nežádoucí“ uživatel s vyšším oprávněním nebo zda se „nezvýšila“ oprávnění. Ke kontrole integrity souboru passwd a shadow lze použít program pwck. 
setUID a setGID bity, které umožňují uživateli spustit program jako by jej spustil vlastník, mohou při špatném nastavení představovat riziko. Proto je potřeba mít o takovýchto souborech přehled a zvážit změny jejich nastavení. Tyto bity mohou představovat riziko v případě, že vlastníkem programu je root. o sticky bit (1), setGID (2), setUID (4). o vyhledání programů, které mají nastaven setUID bit a vlastníkem je root se provede: find / -perm -4000 -uid 0



Pro zajištění bezpečnosti pak můžete zvážit, zda běžní uživatelé potřebují všechny vypsané programy. Buď u nich odstraňte speciální bit nebo oprávnění execute (x) pro danou skupinu uživatelů (jen nezapomeňte na princip 1 vlastník, 1 skupina, všichni ostatní). nepřiřazovat do skupiny root jiné členy než uživatele root systémové účty a účty uživatelů, kteří jsou dlouhodobě pryč, by měly mít zakázáno přihlášení pomocí shellu nologin v /etc/passwd
pro vzdálený přístup používat SSH a jeho chování řídit pomocí souboru /etc/ssh/sshd_config, kde můžete zvážit použití hodnoty PermitRootLogin no.
Pozor v adresáři /etc/ssh se nacházejí 2 soubory ssh_config pro nastavení klienta a sshd_config pro konfiguraci serveru Pokud zakážete vzdálené přihlášení přímo pod účtem root, pak máte 2 možnosti jak provést některé operace jako root: 1. zajít přímo ke konzoli serveru, což může být v některých případech obtěžující a někdy dokonce nemožné. 2. vzdáleně se přihlásit jako běžný uživatel a použít příkaz su  útočník nemůže použít účet root a musí znát přihlašovací údaje obyčejného uživatele a teprve pak může zkouše přihlášení k účtu root pomocí příkazu su. Výhodou tohoto řešení je také to, že v případě problémů můžete zjistit, z kterého účtu k problémům došlo.  je možné omezit počet uživatelů, kteří mohou spustit příkaz su na určitou skupinu uživatelů, a následně upravit defaultně nastavená oprávnění a vlastnictví příkazu su: o vytvořit si vlastní skupinu např. spustit_su 85 








použít defaultně vytvořenou skupinu wheel v /etc/group omezit přihlášení uživatelů (vč. roota) na určité konzoli, z určitých počítačů apod. pomocí /etc/security/access_conf na administrátorský účet je vázáno i použití příkazu mount, tzn., že připojení CD, flash apod. se provádí pod administrátorským účtem. V případě serveru se jedná o rozumné opatření, ale v případě běžné pracovní stanice může jít o obtěžující chování (byť bezpečné). Pokud jste zvýšli zabezpečení tím, že jste omezili spouštění příkazu su, může být pro běžné uživatele problém připojit CD apod. V žádném případě to neřešte tak, že byste dané uživatele přidali do skupiny, která má oprávnění spustit příkaz su, ale raději využijte možností příkazu sudo a jeho nastavení v /etc/sudoers. Obdobně můžete postupovat u ostatních příkazů a navíc tím získáte přehled o tom, kteří uživatelé spustili povolené příkazy. nastavit limity pro uživatele a skupiny v množství dat, počtu přihlášení apod. v /etc/security/limits.conf na souborové systémy, připojené do pracovních adresářů ( /tmp apod.) a jsou dostupné všem by mělo být nastaveno, že jsou nosuid, noexec, nodev, čímž se sníží riziko instalace trojských koňů zkontrolovat, že k logovacím souborům má přístup jen root (ještě vhodnější je odesílat záznamy do centrálního logovacího serveru) zablokovat bootování OS z CD nebo flash, aby nemohl být nastavený OS obejit (toto opatření je jen krátkodobé a týká se těch, kteří by se k počítači dostali na omezený čas, v žádném případě se netýká odcizení počítače). Hlavní ochranou je v takovém případě fyzické omezení přístupu k počítači (fyzická bezpečnost) a šifrování dat na disku. jemnější nastavení oprávnění lze provádět pomocí ACL sledovat změny v konfiguraci o změny v nainstalovaných balíčcích. K vypsání informací o nainstalovaných balíčcích může použít příkazy rpm-qai |grep jméno_balíčku nebo rpm qai jméno_balíčku (nebo aplikace). o udržovat opatchované jádro, protože jádro má administrátorský přístup k datům o provést kontrolu některých voleb jádra např.:  IP forwarding je‐li zapnuto, může Linux fungovat jako router, což v případě běžné stanice může být bezpečnostní riziko  tzn., že v /proc/sys/net/ipv4/ip_forward by měla být hodnota 0  Source‐routed frames mělo by být zakázáno zdrojové směrování 7.2. Odolnostprotisíťovýmútokům
Protože se jedná o bezpečnostní pyramidu, kde tento pilíř stojí na pilíři opatření k zabezpečení před místními útoky, budou opatření proti síťovým útokům vycházet např. z toho, že provádíte pravidelnou kontrolu uživatelských účtů, aby se pomocí nich nemohl někdo přihlásit k systému ze sítě. V rámci zabezpečení systému proti síťovým útokům byste měli věnovat pozornost následujícím opatřením:  provádět pravidelnou kontrolu serverů a stanic nejen na přítomnost virů, ale také zda nejsou otevřeny některé porty, spuštěny služby apod.  vypnout nepotřebné síťové služby ‐ účty služeb patří k nejzranitelnějším. Měli byste si uvědomit, že řada služeb pro své fungování používá vyšších oprávnění (například služba provádějící zálohování musí mít přístup k souborům a adresářům, které má zálohovat). Z tohoto důvodu byste měli: ‐ vypnout služby, které nejsou potřeba 86 ‐
‐
‐
‐





zabránit přihlášení na takovéto účty služeb zajistit opravdu pro účty služeb opravdu silná hesla zaznamenávat pokusy o přihlášení k těmto službám zablokovat otevřené porty, které nejsou potřeba (zjištění pomocí nmap nebo netstat -a) vypnout nepotřebné služby (i když jsou jejich porty zablokované) nespouštět na stanici serverové služby (web, e‐mail, ftp, sdílení souborů, LDAP apod.) bez opravdu důležitých důvodů jestliže existuje bezpečnější verze programu nebo protokolu, pak ji použít (Telnet  SSH, POP3  IMAP apod.) používat IDS (resp. HIDS) na důležitých systémech a pravidelně sledovat hlášení sledovat záznamy logů 7.2.1. Windows

ve Windows může být problém určit, k čemu jednotlivé služby slouží a zda je potřebujete. Zjištění můžete provést v Nástrojích pro správu nebo příkazem net
start.
Problémem Windows není způsob jak zajistit spouštění a vypínání služeb, ale určení, co která služba dělá a zda je pro chod vašeho systému nezbytná. Měli byste proto zvolit následující cyklus (docela pracný): 1.
2.
3.
4.
5.
zdokumentovat seznam běžících služeb určit účel jednotlivých služeb (z jejich popisu, Internetu) rozhodnout o potřebnosti služby deaktivovat/odinstalovat nepotřebné služby testovat funkčnost systému Jednou z možností, jak získat nad službami ve Windows kontrolu, je provést jejich identifikaci hned po instalaci Windows a následně po instalaci jednotlivých programů (tzn. před předáním počítače uživateli do provozu). A pak sledovat změny oproti vašemu záznamu. Při práci se službami byste měli: 1. Provést kontrolu nainstalovaných a běžících služeb 2. zjištění účelu služeb 3. provést rozhodnutí, zda je daná služba nezbytná 87 
pokud počítač nepotřebuje poskytovat svá data, pak zcela vypnout „Sdílení souborů a tiskáren v sítích Microsoft“ 
vypnout sdílení zdrojů. Výpis sdílených položek ve Windows získáte například v Správě počítače nebo pomocí příkazu net view nebo net share. Výhodou je, že zobrazí seznam všech sdílených položek
včetně jejich skutečného umístění. Nezapomeňte, že $ na
konci názvu určuje tzv. „skryté“ sdílení.
Příkaz net view vám umožní vypsat
sdílené položky na počítači, jehož adresu
zadáte. Při použití parametru /all vypíše i
„skryté“ sdílení - takže vidíte, že není
nijak zvlášť skryté …


omezit přístup ke sdíleným adresářům pouze na vymezené uživatele a skupiny omezit počet současných připojení ke sdíleným zdrojům. Jestliže má mít přístup například jen 1 uživatel, tak by měl přístup být omezen na omezený počet připojení (vezměte ale v úvahu, že uživatel může některé věci řešit na více počítačích) 7.2.2. Linux




v Linuxu vypnout služby pro vzdálený přístup, přičemž nejzranitelnější jsou tzv. r‐
příkazy (rsh, rlogin apod.), které umožňují vzdáleně spouštět příkazy, ale nešifrují komunikaci. Místo toho používejte SSH. vypnout nepotřebné služby a odstranit nepotřebné balíčky pokud je to možné, vyhnout se instalaci následujících programů a služeb o FTP a Telnet o NFS (Network File System) ‐ služba navržená pro sdílení souborů. Jedná se o RPC používající portmap. Pokud počítač nepotřebuje sdílet informace, neměla by být NFS nainstalována. o nfslock ‐ služba používaná NFS k zamykání souborů. Pokud není NFS, není potřebná o RPC ‐ vzdálené volání procedur o portmap o tzv. r příkazy (rsh, rpc, rlogin), které přenášejí citlivé údaje v nešifrované podobě (raději použít SSH) veřejně dostupné služby (DNS, HTTP apod.), které ideálně v DMZ a každá na samostatném serveru, ještě izolovat v rámci počítače od systému pomocí chroot 88 
zabezpečit jednotlivé spouštěné služby pomocí voleb jejich konfiguračních souborů 7.3. Ochranaaplikací
Kromě útoků na samotný operační systém a jim poskytované služby jsou častými cíli také aplikace, přes které se pak mohou útočníci dostat do systému. Mezi rizika patří:  slabé výchozí nastavení aplikace  buffer overflow (přetečení paměti) ‐ útok umožňuje získat přístup do systému a může k tomu dojít tehdy, když program nekontroluje velikost dat, která obdrží, a pokusí se vložit do vyrovnávací paměti příliš dat  paměť přeteče a mohou se přepsat jiná paměťová místa, přičemž se spustí libovolný kód přidaný útočníkem.  některé aplikace používají vlastní systém uživatelských účtů/hesel a k autentizaci uživatele například do databáze. Toto ověřování je často nezávislé na OS. Pozor na výchozí nastavení účtů a hesel. Pokud se navíc útočníkovi podaří získat přístup k přihlašovacím údajům aplikace, může je využit pro získání přístupu do systému. Mnozí uživatelé totiž používají stejné přihlašovací údaje k více systémům. Schválně si sami sáhněte do svědomí, kde všude používáte stejné přihlašovací jméno a kde stejné heslo …  aplikace (služby) se nesmí spouštět pod účtem správce  měly by mít vlastní účet Vidíte, že Apache (webový server v Linuxu) se
spouští pod vlastním účtem. Bylo by přímo
sebevražedné spouštět službu
pod účtem root!

pravidelně odstraňovat nainstalované programy, které nejsou potřeba Aplikace, stejně jako OS, mohou obsahovat řadu chyb, které se výrobci snaží odstraňovat pomocí záplat (tzv. patchů). Záplatování aplikací (systému) zvyšuje jejich odolnost, ale některé záplaty mohou způsobit problémy s funkčností (vzhledem k tomu, že nelze předpokládat všechny možné kombinace softwaru, které máte nainstalované na počítači) před záplatováním provést zálohu. Shrnutí:
Bezpečnost v oblasti IT by měla být vrstvená, tzn., k zajištění bezpečnosti by mělo být využito více různých technologií, které se vzájemně doplňují. Proto byla tato kapitola věnována úvodu k ochraně samotného hostitelského systému. Často se jedná o doporučení, která většinou známe, ale z různých důvodů je nerespektujeme. Protože i samotný jeden systém je příliš složitý, měli byste se zaměřit na ochranu před místními útoky od uživatelů (jako jsou vhodně nastavená oprávnění, pravidla pro práci s hesly apod.), na ochranu před síťovými útoky (kontrolu spuštěných služeb, otevřených čísel portů, přítomnost virů apod.) a v neposlední řadě na aplikace, které jsou v systému nainstalovány, jejich nastaven a pravidelnou aktualizaci. 89 8. Odděleníprostředků
Klíčové pojmy: bezpečnosntí zóny, chroot VLAN, Inter VLAN routing, typy VLAN, účel VLAN, výhody/nevýhody VLAN, tagged a untagged traffic, access mode, trunk mode, ISL, IEEE 802.1q, Router on the stick Už jsme si několikrát řekli, že fyzická bezpečnost je základním pilířem bezpečnosti vůbec. Součástí je také vzájemné oddělování prostředků pomocí bezpečnostních zón. Jednou z možností jak také vytvářet bezpečnostní zóny, je technologie VLAN, která je popsána v kapitole 8.2. Bezpečnostní zóna: bezpečnostní zónou se myslí skupina prostředků, které mají podobný stupeň rizika jako například: v síti uvnitř jednoho systému  veřejně dostupné webové servery, DNS servery, e‐mailové servery apod. Mohou být ve stejné zóně v případě, že neobsahují citlivé údaje. Může být například vhodné umístit servery s e‐maily do jiné zóny, než veřejně dostupné webové servery.  servery s údaji o zaměstnancích, zákaznících, studentech ‐ umístit do samostané zóny za firewally.  ideální je umístit jednotlivé služby na samostatné servery, což v případě umístění na fyzické servery s sebou nese zvýšené náklady a nároky na údržbu. Ale při použití virtualizace pro jednotlivé servery se tato nevýhoda eliminuje. Výhodou oddělení služeb na samostatné servery je minimalizace důsledků průniků a selhání hardwaru (při použití virtuálních strojů na jediném hardwaru to ovšem neplatí). 8.1. Odděleníprostředkůdobezpečnostníchzón
8.1.1. Odděleníbezpečnostníchzónuvnitřjednohosystému
Účelem je oddělit od sebe jednotlivé spuštěné služby například veřejný webový server a veřejně dostupný DNS server např. Bind (v Linuxu).  k určitému oddělení dochází, při správném nastavení oprávnění, uživatelských účtů a hesel tím, že služby jsou spouštěny pod různými omezenými uživatelskými účty ‐ například Bind v Linuxu pod účtem nobody.  lepší metodou oddělení je ale například v Linuxu použití funkce chroot, která v rámci jednoho operačního systému vytváří izolované podsystémy chroot: o uvězňuje procesy na jejich „kořenový adresář“. Umístění souborů se hledá vzhledem ke kořenovému adresáři a proces uvězněný v chroot vidí místo skutečného kořene jen kořen svého omezeného prostředí. Srozumitelné, že?!  Podívejte se raději na příklad. Příklad: Výhodu chroot si vysvětlíme na použití DNS serveru BIND. Defaultně používá BIND pro svou práci démona named a konfigurační soubor named.conf, které jsou umístěny v adresářích: /usr/local/sbin/named
Nevýhodou tohoto řešení je, že v případě
prolomení je k dispozici celý strom adresářů
připojených ke kořeni / (samozřejmě s omezením
90 přístupových
oprávnění).
/etc/named.conf
Bude‐li se používat omezení pomocí chroot s uvězněním BIND do adresáře /usr/local/bind-chroot, bude vypadat struktura adresářů následovně: /usr/local/bind-chroot/usr/local/sbin/named
/usr/local/bind-chroot/etc/named.conf
/
BIND
bude vše vztahovat k tomuto kořenu výše už jít nemůže  pokud by se
útočníkovi
podařilo
přes BIND dostat
dovnitř
systému,
skončí
své putování na
kořenu
/
a
výše
už
nemůže
(tzn.,že nemůže
výše než /usr/local/bind-chroot, protože to je
pro BIND kořen)
Program bude hledat konfigurační soubor
named.conf,
dle
defaultního
nastavení
v /etc/named.conf.  do uvězněného prostředí
je nutné nakopírovat všechny potřebné
soubory včetně systémových knihoven
a zařízení, protože uvězněný proces se k nim
mimo adresář /usr/local/bind-chroot/ (což je
pro něj kořen) nedostane. Ale také útočník
bude mít problém vylézt ven. Konkrétní postup
se pak bude lišit podle příslušné aplikace.
Funkce chroot je vhodným doplňkem zabezpečení hostitelského systému i když se v programech občas mohou vyskytnout díry, některé programy mají příliš komponent, takže pro ně uvěznění pomocí chroot není vhodné. Účinnější je samozřejmě oddělení služeb na samostatných serverech, ale i tam může být chroot vhodným doplňkem oddělení služby od samotného systému. Prostě se jedná o jednu z vrstev zabezpečení, takže vrstvíme . 8.1.2. odděleníbezpečnostníchzónnasamostatnéservery
Služby a aplikace jsou umístěny pokud možno na samostatné servery. V případě této strategie, kdy 1 server = 1 hardware, se jedná o dnes už dosluhující a nákladnou strategii. Lepší je použití samostatných virtuálních serverů na jednom nebo více hardwarových zařízeních. 8.1.3. Rozděleníbezpečnostníchzóndoněkolikapodsítí
Účelem je oddělit bezpečnostní zóny pomocí směrovačů a firewallů. Rozdělením mimo jiné dosáhnete:  zmenšení broadcastové domény, což jednak zvýší výkon sítě, ale také bezpečnost, protože broadcastové vysílání se nešíří ke všem zařízením v síti  oddělení komunikace ve vnitřní síti např. některé programy (často hry) mohou používat broadcast a tím snižovat výkon sítě  omezíte možnost zneužití podvržené MAC adresy a protokolu ARP (útočník může získávat veškerý provoz určený pro určitou IP)  provoz mířící do jiné bezpečnostní zóny musí procházet přes router (firewall), kde může být filtrován 91 Provoz v jednotlivých
zónách lze navíc ještě
řídit pomocí VLAN
Provoz
v jednotlivých
zónách lze snáze
filtrovat.
Určitou
cenou
za
tuto
bezpečnost
jsou
náklady
na
směrování provozu.
Rozdělení do bezpečnostích zón má smysl i v případě bezdrátových síti. V takovém případě je na zvážení, zda všechny bezdrátové sítě umístit do stejné bezpečnostní zóny, nebo má smysl od sebe oddělit i jednotlivé bezdrátové sítě (např. pomocí VLAN). Měli byste mít na mysli, že Access Pointy mají podobné vlastnosti jako HUB, tzn., že data se pomocí signálu šíří všemi směry a hostitel, který je v promiskuitním režimu zachytí a zpracuje vše, co se k němu na fyzické vrstvě (tzn. pomocí signálu) dostane. 8.1.4. Rozděleníslužebmezibezpečnostnízóny
Často je vhodné rozdělit některé služby, typicky služby poskytované webovým, e‐
mailovým a DNS serverem, na více serverů tak, že například služba DNS je rozdělena na jeden server, který bude poskytovat veřejně dostupné informace, a druhý server, který bude poskytovat překlady adres v rámci vnitřní sítě. Obdobně lze postupovat v případě webového serveru, kdy veřejně dostupné informace budou dostupné na serveru umístěném v DMZ a neveřejné informace určené jen pro pracovníky budou na serveru ve vnitřní zóně. Budou‐li totiž všechny informace například na stejném DNS serveru, pak může útočník získat informace o vnitřní síti (ať už dotazy na jednotlivé systémy nebo pokusem o převod zóny) a dál s nimi pracovat. V ideálním stavu je dobré všechny uvedené způsoby používat současně a „hezky je na sebe vrstvit“. Samozřejmě jste limitováni vším možným ‐ hlavně finančními prostředky, časem a nutností řešit aktuální problémy. 92 8.2. VLAN(VirtuálníLAN)
Občas je potřeba zajistit oddělení některých počítačů ve vnitřní LAN tak, aby na sebe nezískaly přístup, případně aby komunikace mezi nimi byla filtrována (řízena). Představte si, že máte výchozí síť LAN, kdy uživatelé ze všech počítačů mohou teoreticky komunikovat se všemi ostatními počítači v síti. To ve výsledku znamená, že z počítače obyčejného zaměstnance navázat spojení (vést útok) s počítači ředitele, ekonomického úseku apod. Rizikem takové sítě jsou i počítače, které si někdo přinese a do sítě připojí.  v takovémto případě všichni na sebe vzájemně
„vidí“ a útočník může přímo napadnout zvolené
počítače
 broadcastové vysílání zaslané z jednoho počítače
se šíří na všechna zařízení
Možná si řeknete, že aby spolu počítače nekomunikovaly, postačí je dát do jiné sítě na úrovni síťové vrstvy. Tzn., přiřadit jim IP s jinou síťovou částí IP adresy. Toto řešení rychle zapomeňte, protože změnit si IP dnes umí každé malé dítě. Pokud bude síťová maska /24, pak počítače spolu
nebudou komunikovat, ale:
1. postačí změnit IP na stejnou síť, jakou má
ředitel a omezení je vyřešeno
2. i když na počítačích zajistíte, že uživatelé
nemohou měnit nastavení TCP/IP (tedy IP
adresu), už nezajistíte, že si kdokoli může
připojit
vlastní
počítač,
jehož
je
administrátorem…
Pokud potřebujete zajistit požadavek na oddělení prostředků v síti např. počítače běžných zaměstnanců od počítačů účetních a ředitele, můžete využít tří řešení, z nichž dvě dnes většinou postrádají smysl a zvyšují náklady. 1. řešení: 

vytvořit 2 oddělené sítě, které nejsou vzájemně propojeny  data se musí dopravovat jiným způsobem  to, jak uznáte, postrádá smysl. zvýšené náklady na nákup nového přepínače a způsob výměny dat mezi sítěmi 93 2. řešení: 

rozdělit počítače od sebe pomocí routeru a vytvořit tak dvě samostatné sítě, mezi kterými se provoz bude směrovat. toto řešení již má z pohledu oddělení sítí efekt, protože komunikace z jedné sítě musí projít do druhé sítě přes router, na kterém pak můžete pomocí ACL (přístupových seznamů) řídit, kdo s kým může komunikovat. Tímto řešením jsme splnili požadavek na oddělení prostředků, ale:  pokud jste měli router, který měl pouze 2 rozhraní, musíte buď stávající router rozšířit a pokud to nejde, pak koupit nový  nárůst nákladů  zvýšené náklady na nákup dalšího switche Pozn. toto řešení, stejně jako řada jiných, stojí a padá na fyzické bezpečnosti tj., že obyčejný zaměstnanec se nemůže fyzicky připojit k přepínači vyhrazenému pro ředitele a účetní. Obě výše uvedená řešení zvyšují náklady a rozšiřují síťovou infrastrukturu, případně způsobují jiné problémy s výměnou dat. Třetím řešením je využití VLAN ‐ virtuálních lokálních sítí. 3.řešení ‐ VLAN Síť je pomocí technologie VLAN rozdělena do samotných částí (VLAN) přímo na switchích. Komunikace je možná jen v rámci dané VLAN a počítače umístěné v různých VLAN spolu nemohou komunikovat. Abyste se nevyděsili, jde zajistit vzájemnou komunikace mezi VLAN, ale to už bude komunikace, která bude řízená, což si ukážeme později.  jednotlivé VLAN jsou identifikovány číslem
 switch zajistí, že z VLANy 10 lze zaslat rámce jen
do VLANy 10 a naopak z VLANy 20 jen do
VLANy 20.
 přestože počítače dle IP adres patří do stejné sítě,
přesto spolu nemohou komunikovat, protože
switch rámce z jedné VLAN do druhé nepropustí.
Pozn. V tomto případě jsou v obou VLAN adresy ze
stejné sítě. Je to z důvodu, abyste si uvědomili, že přesto
spolu nebudou komunikovat. Je sice možné používat
v různých VLAN stejné IP, ale z praktických důvodů pro
pozdější propojení VLAN pomocí routeru se to
nedoporučuje používat. Proto je vhodnější používat pro
každou VLAN jinou IP síť. Viz část o možnostech
adresování VLAN.
Když se nad tím zamyslíte, tak použití VLAN má 2 hlavní důvody (výhody):  zmenšení velikosti broadcastových domén 94 
zvýšení bezpečnosti 8.2.1. PrincipvytvářeníVLAN:
Jak tedy switch dosáhne stavu, že lze posílat rámce pouze v rámci jedné VLAN? Switch si u každého portu v přepínací tabulce poznačí, do které VLAN port patří. Například, že porty Fa0/1 až Fa0/5 patří do VLAN 10 a porty Fa0/6 až Fa0/16 patří do VLAN 20. Když tedy dorazí rámec na určitý port switche, o kterém switch ví, do jaké VLAN patří, switch příjme rámec a pak jej odešle jen na porty, u nichž má poznačeno, že patří do stejné VLAN. Například příjme‐li broadcastový rámec na portu Fa0/8, který patří do VLAN 20, tak rozešle tento broadcast jen na porty Fa0/6, Fa0/7 a porty Fa0/9‐Fa0/16, protože jsou ve VLAN 20. Rozesílání broadcastového vysílání jen v rámci stejné VLAN je další efekt použití VLAN. Proto se jako jedna z výhod použití VLAN uvádí omezení broadcastového provozu (tzv. zmenšení broadcastových domén). Při navrhování a práci s VLAN je naprosto nezbytné uvádět do schématu sítě označení portů i u přepínačů, aby bylo jasné, do kterých VLAN jednotlivé porty patří! Principielně mohou při sestavování sítí s VLAN nastat následující situace. U všech situací předpokládejte, že všechny ostatní náležitosti, které jsou nutné pro chod sítě jako IP adresa, brána apod., jsou nastaveny správně a funkční. situace 1: 
vzájemná komunikace mezi počítači z různých VLAN je vyloučena Switch propustí vzájemnou komunikaci pouze
v rámci příslušené VLAN.
Pokud se podíváte na IP adresy, tak počítače ve
VLAN 10 a VLAN 20 jsou v odlišných sítích.
Určitě namítnete, že i tak spolu nebudou
komunikovat, ale to jsme si už vysvětlili na
začátku kapitoly - co někomu brání změnit si IP
adresu?! Takže to, že spolu počítače v různých
VLAN nemohou komunikovat zajišťuje switch na
linkové vrstvě.
situace 2a: 
Od této chvíle se už budeme držet zásady, že
každá VLAN by měla patřit do jiné sítě (síťová vzájemnou komunikaci mezi počítači v různých VLAN zajistí router 95 Na routeru není nastaveno ACL
Router zajistí komunikaci všech
počítačů mezi sebou. Výhodou
je, že veškerá komunikace mezi
VLAN musí projít přes router,
také tuto komunikaci pak
můžete filtrovat právě pomocí
VLAN.
Pamatujte, že pokud mezi 2
VLANy připojíte router, budou
počítače z různých VLAN spolu
komunikovat (router mezi nimi
zajistí směrování)
situace 2b: 

vzájemnou komunikaci mezi počítači v různých VLAN zajistí router v tomto případě je místo dvou fyzických rozhraní použito jedno fyzické rozhraní, na kterém jsou vytvořena dvě virtuální rozhraní (každé pro jednu VLAN) Na routeru není nastaveno ACL
Router zajistí vzájemnou komunikaci
mezi VLAN. V tomto případě jsou na
routeru vytvořena virtuální rozhraní
(jedno pro každou VLAN).
Všimněte si, že ve schématu je linka mezi
routerem a switchem označena jako
trunk. Jedná se o linku, po které proudí
data různých VLAN (tzv. značkovaný
provoz). Více v další části textu.
Jak v případě situace 2a), kdy je každá VLAN připojena k jednomu fyzickému rozhraní routeru, tak v případě situace 2b), kdy je použito virtuálních rozhraní, z nichž každé je „připojeno“ do jedné VLAN, je zajištěno, že chce‐li PC z VLAN 10 komunikovat s počítačem ve VLAN 20 (tedy v jiné síti), odešle komunikaci mířící do jiné VLAN (tzn. do jiné sítě) na router, který provede proces směrování a přepošle data do druhé VLAN. Jak je na obou schématech zdůrazněno, není na routerech nastaveno žádné omezení pro komunikaci v podobě ACL  měli byste si být vědomi, že máte‐li síť s VLAN a připojíte a nakonfigurujete router bez omezení v podobě ACL, je v tomto okamžiku komunikace mezi VLAN možná. Proto byste v případě VLAN měli pokračovat dalším krokem ‐ nastavením ACL (viz. situace 3). situace 3: Na routeru je nastaveno ACL, které filtruje komunikaci mezi VLAN 96 Na směrovačích je nastaveno ACL
Celé „kouzlo“ je nyní v tom, že v obou případech můžete filtrovat komunikaci mezi VLAN pomocí ACL. Výhodou řešení , kdy ke komunikaci mezi VLAN použijete router je v tom, že komunikace mířící z jedné VLAN do druhé musí projít přes router (kde použijete ACL pro filtrování). Tak například pokud na RA použijete pravidlo, že s počítačem ředitele může komunikovat pouze PC1, pak to zajistíte například tak, že pro příchozí provoz na rozhraní Fa0/1 stanovíte pravidla: ACL 101 na Fa0/1 in; nebo na Fa0/0.20 in:
povolí komunikaci jen
permit ip host 192.168.20.4 host 192.168.10.2
z PC1 na PC ředitele
deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255 zakáže jakoukoli jinou
komunikaci z VLAN 20
permit ip 192.168.20.0 0.0.0.255 any
do VLAN 10
povolí ostatní komunikaci z VLAN 20 kamkoli
(např. na Internet)
Možná přemýšlíte, proč celý ten „humbuk“ s VLAN, když stejně probíhá komunikace mezi VLAN bez omezení a klidně byste například požadavek „ze sítě 192.168.20.0 nesmí být možné komunikovat do sítě 192.168.10.0“, mohli vyřešit takto: deny ip 192.168.20.0 0.0.0.255 192.168.10.0 0.0.0.255
Odpověď zní, nemohli. Proč? a) vzpomínáte si na to, že jsme si připomněli, že uživatelé si většinou umí změnit IP adresu nebo přinést vlastní zařízení?! Takže pokud si uživatel na PC1 změní IP tak, aby patřil do sítě 192.168.10.0, pak komunikace mířící na PC_reditel nikdy na router nedojde a nastavené ACL je k ničemu. b) pokud by vás napadlo, že na routeru napíšete pravidlo deny ip
192.168.10.0 0.0.0.255 192.168.10.0 0.0.0.255, tak je to špatná úvaha, protože vytvoříte‐li pravidlo, kdy zdrojová i cílová adresa jsou ve 97 stejné síti, pak je to zbytečné pravidlo, protože takový paket na router nikdy nedorazí, protože na výchozí bránu jsou posílány jen pakety mířící do jiné sítě. Pakety mířící do stejné sítě, ve které je odesílatel, jsou zasílány přímo do místa určení. Proto, chcete‐li donutit počítače v jedné lokální síti komunikovat přes router, kde se musí podrobit filtrování pomocí ACL, měli byste použít VLANy. Princip použití IP adres ve VLAN IP adresy v jednotlivých VLAN můžete přiřazovat několika způsoby, z nichž každý má své výhody a nevýhody  1 VLAN = jedna podsíť IP tj. každá VLAN má mít jiný subnet. Jedná se o nejčastější způsob, protože pak pro komunikaci mezi VLAN můžete použít router (který by měl mít každé své rozhraní připojené do jiné sítě). 
1 VLAN = více podsítí IP (komunikace mezi VLAN je zajištěna pomocí sekundárních adres na routeru). V tomto případě se ale ztrácí výhoda VLAN, protože počítače z obou sítí, jsou ve stejné VLAN a uživatelé si mohou vyměnit IP adresu a už spolu komunikují. 
1 podsíť IP nad několika. To znamená, že ve všech VLAN se používají stejné IP adresy. Výhodou je, že počítače v jednotlivých VLAN jsou od sebe odděleny, takže v různé VLAN mohou mít různé počítače stejnou IP adresu (např. ve VLAN 10 je PC s IP 1.0.0.5 a také ve VLAN 20 je PC s IP 1.0.0.5). Problematičnost tohoto řešení se projeví v okamžiku, kdybyste chtěli jednotlivé VLAN propojit routerem. Velmi dobrým zvykem, který vám usnadní orientaci ve VLAN i IP adresách, je používat, pokud to jen jde, v síťové části IP adresy číslo VLAN. Tak například budete‐
li mít VLAN 10, pak je vhodné použít pro tuto VLAN adresy 192.168.10.0 a pro VLAN 20 adresy 192.168.20.0 apod. Toto je možné realizovat i v případě IPv6. Máte‐li například přidělenu adresu 2001:db8:0:1::/64, pak máte k dispozici 264 adres pro zařízení v síti. Můžete si pak jednoduše takové adresy podsíťovat například na 2001:db8:0:1:10::/80 pro vlan 10, 2001:db8:0:1:20::/80 atd. Princip trunk linky (značkování rámců) Zatím jsme si víceméně vysvětlovali fungování VLAN na 1 switchi, případně na routeru, kdy do příslušných VLAN měl připojené jedno fyzické rozhraní. Ale už jsme narazili na situaci, kdy na routeru byla vytvořena virtuální rozhraní a kdy ve schématu byl na lince zaznamenán pojem trunk. Nyní je na čase si vysvětlit, co to znamená. Zkuste se zamyslet nad tím, jak bude probíhat komunikace v případě, že v síti bude několik switchů, které budou mít nakonfigurovány několik VLAN. 98 Po této lince musí putovat rámce patřící do různých VLAN.
Tzn., putuje zde tzv. značkovaný (tagged) provoz.
Firma Cisco takovou linku označuje jako trunk. Ostatní výrobci
hovoří o značkovaném provozu (tagged). Ideálně je mít
takovou linku ve schématu sítě označenu, buď jako trunk nebo
jako T (ať už si to vyložíte jako slovo trunk nebo tagged).
Výsledek je stejný - po lince putují data více VLAN =
značkovaný provoz
Počítač PC 2 z VLAN 20
chce na počítač PC 1, který
je rovněž ve VLAN 20,
odeslat data. Switch SW2
může rámec odeslat na
SW1. Jak ale SW1 pozná,
že má rámec předat do
VLAN 20 a nikoli do
VLAN 10?
Switch SW2 musí do rámce
přidat značku, ve které
uvede, že posílaný rámec
patří do VLAN 20. Switch
SW1 si značku přečte a
podle ní pošle rámec jen do
VLAN 20.
Podívejte se na následující schéma s vysvětlením značkovaného provozu (trunku). Důležité pro konfiguraci, ať už zařízení Cisco nebo jiných výrobců, je, abyste se naprosto bezpodmínečně orientovali v tom, kdy a kde chodí značkovaný provoz a kdy a kde neznačkovaný provoz. Tzn., kdy se značka do rámce přidává a kdy odstraňuje.  značka se do rámce přidává: když rámec vstupuje z VLAN na trunk linku  značka se ponechává: kdy rámec putuje po trunk linkách  značka se odstraňuje: když rámec opouští trunk linku a je posílán do VLAN O portu, který patří do určité VLAN (není trunk linkou) říkáme, že je v tzv. access módu. Když si koupíte nový switch, jsou všechny jeho porty v access módu a všechny porty patří do VLAN 1. Příslušnost všech portů ve VLAN 1 zajistí, že spolu mohou komunikovat všechna zařízení, která jsou k ním připojena (jsou ve stejné VLAN a to VLAN 1 ). 99 Ve VLAN se rozlišují 2 režimy portů: přístupové (access) – provoz probíhá neznačkovaný. Jedná se o koncový port a vede do něj jen 1 vlan (výjimka: hlasový přístupový port tj. voice VLAN). Koncové zařízení připojené k lince v módu access netuší, že je členem nějaké VLANy. Pokud přístupový port příjme označkovaný rámec (např. 802.1q), tak jej zahodí. kmenové (trunk) – přenáší data více VLAN, provoz probíhá značkovaný (tagged) s výjimkou tzv. native VLAN (native vlan je VLAN, která běží v trunku neznačkovaná)  slouží k přenosu dat všech VLAN (na rozdíl od linky v módu access, kde putují jen data patřící do příslušné VLAN). Jako trunk se tak označuje port, který je zařazen do více VLAN.  na trunk portu je všechen provoz označkovaný (podle příslušné VLAN) s výjimkou tzv. native vlan  trunk se nastaví všude tam, kde mají putovat data více VLAN např. mezi přepínači nebo mezi přepínačem a směrovačem, který má podporu VLAN  protože při značkování dochází k vložení dat do hlavičky rámce a změnila se jeho velikost, je znovu přepočítán FCS  trunk může být definovaný i na agregované lince (Etherchanel).  na trunk linku může být připojen i počítač nebo router, ale musí umět používat protokol IEEE 802.1q (např. bude‐li plnit roli směrovače v síti, kde jsou nastaveny VLANy)  trunking protokoly : V Oblasti VLAN existují 2 nekompatibilní protokoly, které zajišťují fungování VLAN. Proprietární řešení firmy Cisco ISL (Inter Switch Link) a IEEE 802.1q. Abyste se vyhnuli problémům, je lépe používat protokol IEEE 802.1q, který podporují všichni výrobci. o použitý trunk protokol je lokální vždy mezi 2 přepínači (point‐to‐point)  mezi 1.a 2.přepínačem může být ISL a mezi 2.a 3.přepínačem může být použit 802.1q o v případě, že switch podporuje oba protokoly, je nutné před zapnutím trunku nastavit, který protokol se má použít: Switch(config-if)#switchport trunk encapsulation dot1q
Switch(config-if)#switchport mode trunk
o standardně jsou do trunku přidány všechny VLAN. Někdy ale může být vhodné po trunku přenášet data jen některých VLAN. Switch(config-if)#switchport trunk allowed vlan 10
Povolí na trunku jen vlan 10 (pro nastavení rozsahu si vypsat nápovědu) o pro zjištění, které protokoly přepínač podporuje Switch#show interface
encapsulation type)


capabilities
Standardy VLAN a jejich vliv na trunk IEEE 802.1q ISL do stávajících ethernetových  zapouzdřuje ethernetový rámců přidává značku VLAN rámec do rámce protokolu ISL (upravuje stávající rámec) (vznikne nový rámec) uvnitř značky IEEE 802.1q je  na vyšších přepínačích než 3bitové pole podle 802.1p pro 2960 100 (bude vás zajímat řádek Trunk


nastavení priority protokol 802.1q ukládá informace do 4B pole za cílovou a zdrojovou MAC adresu. První 2B obsahují informaci 0x8100, která udává, že následující 2B informace obsahuje ID VLANy a informace o prioritě ISL doplní rámec o 26B hlavičku a nové zápatí s FCS. V hlavičce je uvedena adresa, které provádí trunking (na obrázku SA), a jako cílovou adresu (na obrázku DA) používá multitaskingovou cílovou adresu 0100.0C00.0000 nebo 0300.0C00.0000 Přiřazení portu do VLAN VLAN: statické (podle portu): podle portu do kterého je stanice připojena. Porty jsou k VLAN přiřazeny manuálně, standardně do 1 VLAN dynamické (podle MAC): podle zdrojové MAC. Někde ve struktuře sítě je umístěn VMPS server (Vlan Membership Policy Server ‐ implementují je výkonnější a dražší modely Catalyst nebo pomocí OpenVMPS na Linuxu), na kterém je umístěna databáze MAC, podle které je stanice přiřazena do příslušné VLAN. Jedná se o dražší nákladnější a náročnější řešení. Výhodou je, že když se zařízení připojí k jinému portu, je automaticky zařazeno do správné VLAN. Protokol DTP a trunking módy: Pro automatické vyjednávání, zda se bude na lince mezi switchi vytvářet trunk, používají zařízení firmy Cisco protokl DTP (Dynamic Trunk Protocol). Port může být nastaven v několika módech: o
o
o
on(default): periodicky zasílá DTP informace na druhý port, který dynamicky mění trunking stav. Automaticky se zapne, když je použit příkaz switchport
mode trunk dynamic auto: dynamicky zasílá na vzdálený port informaci, že je schopen být trunk, ale nevyžaduje jeho zapnutí. Pokud jsou oba porty v tomto stavu, tak nic nevyjednají. Port změní svůj stav, jestliže na druhé straně je port v režimu ON (tj. ručně nastavený trunk) nebo Dynamic desirable. dynamic desirable: zasílá informace, že může být trunk a chce, aby se druhý port přepnul na trunk, tj. vyžaduje po protějšku, aby přešel do modu trunk (pokud není v módu Off) switchport mode dynamic desirable o
off: port o nastavení trunku nevyjednává V řadě sítí se při návrhu sítě staticky určí, které linky budou režimu trunk, které VLAN na nich budou povoleny a protokol DTP se nebude používat. Stejně musíte postupovat v případě, že máte zařízení jiných výrobců, kteří protokol DTP nepodporují. Proto je vhodné DTP vypnout: a) nevytvoří se trunk a neodesílají se zprávy DTP Switch(config-if)#switchport mode access
Switch(config-if)#switchport nonegotiate
b) je vytvořen trunk, ale zprávy DTP se nezasílají. Vhodné při spojení s jiným než Cisco přepínačem Switch(config-if)#switchport mode trunk
Switch(config-if)#switchport nonegotiate
101 Pro vypsání informací o protokolu DTP se používají příkazy: show dtp
show dtp interface
8.2.2. ÚčelavýhodyVLAN
 zmenšení broadcastových domén  oddělení fyzické a logické struktury (oddělení management, sklad apod. běží na jedné fyzické síti)  zlepšení bezpečnosti Měli byste si být ale vědomi, že i technologie VLAN má své slabiny a v oblastech, kde je kladen vysoký důraz na bezpečnost  nižší náklady než nákup dalších zařízení  zvýšení efektivity (v souvislosti s vrstveným modelem) 8.2.3. TypyVLAN






Data VLAN Management VLAN Native VLAN Default VLAN Voice VLAN Private VLAN Management VLAN  rozprostírá se přes přepínače a několik málo počítačů  slouží ke správě  k zabezpečení  nedávat do VLAN 1 Native VLAN:  VLAN, jejíž provoz běží na trunk lince neznačkovaná (jako by port byl v modu trunk, ale zároveň také v access pro danou VLAN). Neznačkovaný provoz generuje zařízení (např.PC) připojené k portu, který je nakonfigurovaný jako native  je definovaný, jestliže se používá IEEE 802.1q  účel: zařízení, které neumí značkovaný provoz, mohou komunikovat přes trunk  nativní VLAN musí být definovaná na obou stranách trunk linky stejně  defaultně je jako nativní vlan určena VLAN 1, z bezpečnostních důvodů doporučena změna např. na VLAN 99  když je rámec s native VLAN 99 ‐ ostatní výrobci připouští značkování nativního VLAN, Cisco to zakazuje změna: Switch(config-if)#switchport trunk native vlan 99 kontrola nastavení:  Switch# show running-config
 Switch# show interface fa0/1 switchport
102 Pozor, nastavení nativní VLAN musí být na obou stranách trunku stejné, jinač by mohl hlásit nějakou takovouto chybu: %CDP-4-NATIVE_VLAN_MISMATCH:
Native VLAN mismatch discovered
Switch FastEthernet0/24 (1).
on
FastEthernet0/1
(100),
with
Default VLAN  standardně jsou všechny porty ve VLAN 1  všichni jsou pak ve stejné broadcastové doméně  VLAN1 nelze přejmenovat ani smazat  je vhodné toto nastavení změnit, protože STP, CDP, VTP fungují ve VLAN 1 Voice VLAN  výjimka z pravidla, že přístupový port může být připojen pouze k 1 VLAN. V případě voice VLAN může přístupový port patřit jak do voice VLAN tak do VLAN, ke které je připojen počítač. Díky tomu je k jednomu přístupovému portu připojen jak telefon tak počítač a každý patří do samostatné VLAN. Privátní VLAN: 
Routery a firewally izolují
provoz jen při překročení
hranic VLAN (tj. mezi
VLANy resp. sítěmi), ale
privátní VLAN izolují
systémy uvnitř stejné
VLAN (resp. uvnitř stejné
podsítě)



skupina portů, které jsou v konfiguraci výslovně
izolovány od ostatních portů stejné VLAN
omezí komunikaci mezi hostiteli v rámci 1 VLAN
jedná se o další vrstvu zabezpečení (zejména,
rozhodnu-li se nasadit VLANy)
používá se například na serverové farmě, kde servery
jsou ve stejné podsíti, ale většinou nepotřebují
vzájemný neomezený přístup
privátní VLAN je vhodná tam, kde: 


porty potřebují komunikovat se všemi zařízeními. porty potřebují spolu komunikovat vzájemně a také se sdílenými zařízeními, zpravidla směrovači porty potřebují komunikovat jen se sdílenými zařízeními. Při konfiguraci portu lze nastavit, zda zařízení připojené k portu smí komunikovat s ostatními porty VLAN. Určí se, typ portů: promiskuitní: smí komunikovat se všemi ostatními porty. Obvykle jsou vyhrazený pro směrovač a firewall nebo přepínače izolované: skryté před všemi ostatními porty sítě VLAN s výjimkou promiskuitních portů skupinové (community): mohou komunikovat mezi sebou a promiskuitními porty Poznámka: někde se uvádí dělení privátní sítě na primární (s porty v promiskuitním režimu) a sekundární (porty v izolovaném a skupinovém režimu) 103 1. varianta 2. varianta P I I
S
S
S
P
I I S
S
S
 pc nesmí bez routeru komunikovat se servery,  pc mohou komunikovat s routerem, ale ale mohou komunikovat spolu nemohou se servery. Komunikaci se servery  servery mohou komunikovat s routerem, ale musí řešit přes router a jím řízeným nemohou komunikovat spolu navzájem omezením (bude‐li 1 server napaden, nemůže se z něj  servery mohou komunikovat s routerem i šířit útok na jiný server) mezi sebou navzájem (mohou si vyměňovat aktualizační data)  servery, ale mezi sebou nemohou přímo vyměňovat data (pouze přes router) Použití privátních VLAN má také své riziko. Protože router bývá na promiskuitním portu, může útočník, má‐li přístup k jednomu hostiteli privátní VLAN, záměrně směrovat pakety do sousedního systému přes směrovač a ten, navzdory izolované privátní síti, odešle provoz do sousedního systému. Řešením je nastavení ACL v primární VLAN tak, že bude zahazovat všechen provoz se zdrojem a cílem ve stejné podsíti. 8.2.4. Základní příkazy pro práci sVLAN a trunk linkami na
zařízeníchCisco
Číslování VLAN: o
o
1 – 1024 normal: VTP protokol o nich dokáže říct dalším přepínačům. Nestačí smazat jen konfiguraci, ale z flash paměti se musí smazat soubor vlan.dat 1025 – 4096 extended: jsou uloženy v konfiguraci přepínače, VTP protokol o nich neinformuje ostatní přepínače. Poznámka: Cisco 2960 mají max. 255 VLAN Informace o VLAN jsou v Cisco zařízeních uloženy v samostatné databázi v souboru vlan.dat v paměti flash (smazání všech VLAN viz. níže) 
Příkazy pro vypsání informací o VLAN:  switch show vlan
 switch show vlan brief

Smazání VLAN  smazání všech VLAN:  dir
 delete vlan.dat – smaže celou databázi VLAN  smazání jedné VLAN: 104 Zrušení jedné VLAN se provádí pomocí příkazu no VLAN  po výpisu se porty, které byly ve VLAN ztratí a nejsou v žádné VLAN (před zrušením je převést do defaultní VLAN). 
Informace o portu  show interface fa0/1 switchport
To že je trunk vyjednaný vidíte v části operational mode

Vypsání trunku  show interface trunk
 show interface switchport
Shrnutí
Z hlediska bezpečnosti hraje významnou roli vzájemné oddělování systémů, aby v případě napadení a prolomení jednoho systému nebyl ohrožen i jiný systém. Z těchto důvodů se systémy s podobným stupněm rizika zařazují do bezpečnostní zóny a platí pro ně obdobná bezpečnostní pravidla. Bezpečnostní zóny lze vytvářet jak v rámci jednoho systému, kdy se od sebe vzájemně oddělují služby, které server poskytuje, tak v rámci samostatných podsítí. Další možností je rozdělit služby, například webové nebo DNS, mezi více systémů. Pro oddělování systémů do různých podsítí je možné využít technologii VLAN. VLAN (virtuální lokální sítě) plní dva hlavní úkoly: zmenšení velikosti broadcastových domén a zvýšení bezpečnosti, protože rámce mohou být zasílány jen uvnitř stejné VLANy. V případě, že je potřebné zajistit komunikaci mezi systémy v různých VLANách, musí tuto komunikaci zajistit router, na němž mohou být aktivovány přístupové seznamy ACL, které budou komunikaci mezi VLANami filtrovat. Při konfiguraci na switch se v případě zařízení firmy Cisco určuje, zda je port v režimu access nebo trunk. V režimu access bude tehdy, pokud má zařízení připojené k tomuto portu patřit do určité VLANy. Mód trunk se na portu nastavuje, jestliže mají přes port proudit rámce z různých VLAN (například k jinému switch nebo routeru). V takovém případě jsou rámce před odesláním na trunk označkovány číslem VLANy, aby protější zařízení vědělo, do které VLAN rámec patří. Značkování na trunk lince je zajištěno buď podle standardu IEEE 802.1q nebo standardu ISL. Použití IEEE 802.1q je vhodnější, protože takto značkovaným rámcům rozumí zařízení různých výrobců. Kontrolníotázky:
1.
2.
3.
4.
5.
6.
Charakterizujte pojem bezpečnostní zóna. Jakými způsoby lze realizovat rozdělení bezpečnostních zón Uveďte účel VLAN. Objasněte výhody/nevýhody VLAN. Uveďte protokoly (standardy), které definují VLAN. Jaká pravidla je vhodné dodržovat při adresování VLAN? 105 7. Vyjmenujte typy VLAN a vysvětlete jejich účel. 8. Popište, jak se chová síťový provoz (unicast, broadcast apod.) při použití VLAN a bez jejich použití. 9. Popište módy, které lze nastavit na portech switche. 10. Vysvětlete Inter VLAN Routing. 11. Vysvětlete pojmy trunk a tagging . 12. Kdy lze použít ISL a kdy IEEE 802.1Q? 106 Použitáliteratura:
THOMAS, Thomas M. Zabezpečení počítačových sítí bez předchozích znalostí. Vyd. 1. Brno: CP Books, 2005, 338 s. ISBN 80‐7226‐983‐6. THOMAS, Thomas M. Bezpečnost sítí: velká kniha. Vyd. 1. Brno: CP Books, 2005, 589 s. ISBN 80‐251‐0697‐7. DONAHUE, Gary A. Kompletní průvodce síťového experta. Vyd. 1. Brno: Computer Press, 2009, xiii, 535 p. ISBN 978‐80‐251‐2247‐1. SELECKÝ, Matúš. Penetrační testy a exploitace. 1. vyd. Brno: Computer Press, 303 s. ISBN 978‐80‐251‐3752‐9. THOMAS, Thomas M. Zabezpečení počítačových sítí bez předchozích znalostí. Vyd. 1. Brno: CP Books, 2012, 338 s. ISBN 80‐251‐0417‐6. NEGUS, Chris. Linux bible: boot up to Ubuntu, Fedora, KNOPPIX, Debian, openSuse, and 11 other distributions. 2008 ed. Indianapolis, IN: Wiley Pub., 2005, xxxvi, 845 p. ISBN 04‐702‐3019‐3. STEWART, Eric L. CCNA security exam cram. Indianapolis, Ind.?: Que Certification, c2009. ISBN 07‐897‐3800‐7. 107