}w!"#$%&'()+,-./012345<ya



Podobné dokumenty
PB169 Operační systémy a sítě

Firewally a iptables. Přednáška číslo 12

Zabezpečení v síti IP

Obsah. Část I Základy bezpečnosti...9 Kapitola 1 Základy obvodového zabezpečení Kapitola 2 Filtrování paketů...27

Routování směrovač. směrovač

12. Bezpečnost počítačových sítí

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Instalace. Samotný firewall již je s největší pravděpodobností nainstalovaný Zjistíme dle parametru při použití. aptitude search iptables

Y36SPS Bezpečnostní architektura PS

Počítačové sítě pro V3.x Teoretická průprava II. Ing. František Kovařík

Počítačová síť. je skupina počítačů (uzlů), popřípadě periferií, které jsou vzájemně propojeny tak, aby mohly mezi sebou komunikovat.

Počítačové sítě. Lekce 4: Síťová architektura TCP/IP

4. Síťová vrstva. Síťová vrstva. Počítačové sítě I. 1 (6) KST/IPS1. Studijní cíl. Představíme si funkci síťové vrstvy a jednotlivé protokoly.

Firewal ing v Linuxe

metodický list č. 1 Internet protokol, návaznost na nižší vrstvy, směrování

12. Virtuální sítě (VLAN) VLAN. Počítačové sítě I. 1 (7) KST/IPS1. Studijní cíl. Základní seznámení se sítěmi VLAN. Doba nutná k nastudování

Téma bakalářských a diplomových prací 2014/2015 řešených při

Osobní firewall s iptables

SSL Secure Sockets Layer

Operační systémy 2. Firewally, NFS Přednáška číslo 7b

Y36SPS Bezpečnostní architektura PS

1. Směrovače směrového protokolu směrovací tabulku 1.1 TTL

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

Systémy pro sběr a přenos dat

ISMS. Síťová bezpečnost. V Brně dne 7. a 14. listopadu 2013

Obsah. Úvod 13. Věnování 11 Poděkování 11

ISPforum 2016 Jezerka NAT++

Bezpečnostní aspekty informačních a komunikačních systémů KS2

Při konfiguraci domácího směrovače a bezdrátové sítě se setkáte s obrovským počtem zkratek, jejichž význam je jen málokdy dostatečně vysvětlen.

Bezpečnostní aspekty informačních a komunikačních systémů PS2-1

JAK ČÍST TUTO PREZENTACI

Provádí ochranu sítě před napadením (ochrana počítačů nestačí) Odděluje uživatele (prvek nespolehlivosti) od prvků ochrany

Téma 11: Firewall v CentOS. Nastavení firewallu

Analýza aplikačních protokolů

OpenVPN. Uvedené dílo podléhá licenci Creative Commons Uved te autora 3.0 Česko. Ondřej Caletka (CESNET, z.s.p.o.) OpenVPN 3. března / 16

Firewall, mac filtering, address filtering, port forwarding, dmz. Ondřej Vojtíšek, Jakub Niedermertl

Přednáška 3. Opakovače,směrovače, mosty a síťové brány

Bezpečnost vzdáleného přístupu. Jan Kubr

7. Aplikační vrstva. Aplikační vrstva. Počítačové sítě I. 1 (5) KST/IPS1. Studijní cíl. Představíme si funkci aplikační vrstvy a jednotlivé protokoly.

Obsah. O autorech 9. Předmluva 13. KAPITOLA 1 Počítačové sítě a Internet 23. Jim Kurose 9 Keith Ross 9

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

VPN - Virtual private networks

Studentská unie ČVUT v Praze, klub Silicon Hill. 22. února Ondřej Caletka (SU ČVUT) IPv6 nové (ne)bezpečí? 22.

FIREWALL - IPTABLES. 1. Co je to firewall 2. IPTABLES 3. Manuálové stránky 4. Nastavení směrovače 5. Příklady. 1. Co je to firewall?

Konfigurace DHCP serveru a překladu adres na směrovačích Cisco

Ověření možností generování provozu na platformě MikroTik + srovnání s Cisco a Open Source řešeními

Hot Standby Router Protocol (zajištění vysoké spolehlivosti výchozí brány)

Access Control Lists (ACL)

Průmyslový Ethernet. Martin Löw

Základy počítačových sítí Model počítačové sítě, protokoly

Aktivní prvky: brány a směrovače. směrovače

vlastnosti Výsledkem sledování je: a) Využití aplikací b) Používání internetu c) Vytížení počítačů d) Operační systém e) Sledování tisků

Komunikační protokoly počítačů a počítačových sítí

Bezpečnost webových stránek

TCP-Wedge ZDARMA. Přidává podporu TCP/IP: Sběr dat z adres portu IP na libovolné síti TCP/IP - ethernet / internet.

Demo: Multipath TCP. 5. října 2013

PB169 Operační systémy a sítě

Internet a zdroje. (ARP, routing) Mgr. Petr Jakubec. Katedra fyzikální chemie Univerzita Palackého v Olomouci Tř. 17. listopadu

Průmyslová komunikace přes mobilní telefonní sítě. Michal Kahánek

Bezpečnost počítačových sítí

3.17 Využívané síťové protokoly

Flow monitoring a NBA

Protokoly: IP, ARP, RARP, ICMP, IGMP, OSPF

Normy ISO/IEC NISS. V Brně dne 7. listopadu 2013

Řízení toku v přístupových bodech

Projekt Liberouter hardwarová akcelerace pro sledování a analyzování provozu ve vysokorychlostních sítích

5. Směrování v počítačových sítích a směrovací protokoly

Load Balancer. RNDr. Václav Petříček. Lukáš Hlůže Václav Nidrle Přemysl Volf Stanislav Živný

Použití Virtual NAT interfaces na Cisco IOS

Flow Monitoring & NBA. Pavel Minařík

6. Transportní vrstva

PROTOKOL RDS. Dotaz na stav stanice " STAV CNC Informace o stavu CNC a radiové stanice FORMÁT JEDNOTLIVÝCH ZPRÁV

Počítačové sítě Systém pro přenos souborů protokol FTP

POČÍTAČOVÉ SÍTĚ Metodický list č. 1

Základní konfigurace Linux firewallu

Konfigurace síťových stanic

Provozní statistiky Uživatelský manuál

Protokol TELNET. Schéma funkčních modulů komunikace protokolem TELNET. Telnet klient. login shell. Telnet server TCP/IP.

Představení Kerio Control

Datum vytvoření. Vytvořeno 18. října Očekávaný výstup. Žák chápe pojmy URL, IP, umí vyjmenovat běžné protokoly a ví, k čemu slouží

Analýza protokolů rodiny TCP/IP, NAT

Bezpečnost sítí, Firewally, Wifi. Ing. Pavel Píše

STRUČNÝ NÁVOD K POUŽITÍ

1 Protokol TCP/IP (Transmission Control Protocol/Internet Protocol) a OSI model

Abychom se v IPv6 adresách lépe orientovali, rozdělíme si je dle způsobu adresování do několika skupin:

Definice pojmů a přehled rozsahu služby

Projektování distribuovaných systémů Lekce 2 Ing. Jiří ledvina, CSc

MPLS MPLS. Label. Switching) Michal Petřík -

Propojování sítí,, aktivní prvky a jejich principy

Počítačové sítě Teoretická průprava II. Ing. František Kovařík

Možnosti IPv6 NAT. Lukáš Krupčík, Martin Hruška KRU0052, HRU0079. Konfigurace... 3 Statické NAT-PT Ověření zapojení... 7

Zkrácení zápisu dvojitou dvojtečkou lze použít pouze jednou z důvodu nejednoznačnosti interpretace výsledného zápisu adresy.

Informatika / bezpečnost

Distribuované systémy a počítačové sítě

K čemu slouží počítačové sítě

Technologie počítačových sítí

POLICEJNÍ AKADEMIE ČESKÉ REPUBLIKY FAKULTA BEZPEČNOSTNÍHO MANAGEMENTU. DMZ z pohledu akademické sféry

MPLS Penultimate Hop Popping

Internet protokol, IP adresy, návaznost IP na nižší vrstvy

Transkript:

}w!"#$%&'()+,-./012345<ya Masarykova univerzita Fakulta informatiky Testování firewallů pomocí hardwarového testovacího přístroje Bakalářská práce Petr Potůček Brno, 2012

Prohlášení Prohlašuji, že tato bakalářská práce je mým původním autorským dílem, které jsem vypracoval samostatně. Všechny zdroje, prameny a literaturu, které jsem při vypracování používal nebo z nich čerpal, v práci řádně cituji s uvedením úplného odkazu na příslušný zdroj. Petr Potůček Vedoucí práce: doc. RNDr. Eva Hladká, Ph.D. ii

Poděkování Touto cestou bych chtěl poděkovat panu Ing. Jiřímu Novotnému za rady a vedení práce, Ing. Viktorovi Poušovi, za rady a pomoc při nastavování firewallů a propojů a paní doc. RNDr. Evě Hladké, Ph.D., za vedení práce a cenné informace. iii

Shrnutí Cílem této bakalářské práce je seznámit čtenáře se základní strukturou zabezpečení počítačové sítě, principem fungování firewallů a přiblížením firewallů NIFIC a firewallu založeného na IP Tables. Tyto dva firewally otestovat pomocí hardwarového testovacího přístroje s důrazem na výkonnostní charakteristiky a porovnat je. iv

Klíčová slova NIFIC, firewall, testování, Liberouter, IP Tables, zabezpečení, bezpečnost, COMBO, RFC v

Obsah 1 Úvod........................................... 2 1.1 Přehled kapitol................................... 3 2 Zabezpečení sítě.................................... 4 2.1 Bezpečnostní politika................................ 4 2.2 Hloubková ochrana sítě.............................. 5 2.2.1 Obvod sítě................................. 5 2.2.2 Vnitřní síť.................................. 6 2.2.3 Lidský faktor................................ 7 3 Firewally......................................... 8 3.1 Základní rozdělení a charakteristika firewallů.................. 8 3.1.1 Paketový filtr................................ 8 3.1.2 Stavový firewall............................... 8 3.1.3 Aplikační brána.............................. 10 3.1.4 Hardwarově akcelerovaný firewall..................... 10 4 Přehled základních dokumentů o testování síťových prvků......... 11 4.0.5 RFC 1242.................................. 11 4.0.6 RFC 2544.................................. 11 4.0.7 RFC 2647.................................. 12 4.0.8 RFC 3511.................................. 13 5 Testované firewally.................................. 14 5.1 Hardwarově akcelerovaná filtrace síťového provozu NIFIC........... 14 5.1.1 NIFIC verze................................. 17 5.2 Filtrování paketů v systému Linux........................ 17 5.2.1 NetFilter.................................. 17 5.2.2 IP Tables.................................. 18 6 Metody testování síťových zařízení........................ 20 6.1 Testování pomocí hardwarových zařízení..................... 20 6.1.1 Spirent TestCenter2000.......................... 20 6.2 Testování pomocí softwaru............................. 20 7 Testy........................................... 22 7.1 Test propustnosti hw přeposílání......................... 22 7.2 Test vlivu počtu pravidel na propustnost..................... 25 7.3 Test ztrátovosti hardwarového přeposílání paketů................ 27 7.4 Test propustnosti do cílové aplikace pro NIFIC 3.1 a 4.0............ 29 7.5 Shrnutí výsledků.................................. 30 8 Závěr........................................... 31 A Reporty jednotlivých testů............................. 33 1

1 Úvod Internet je systém navzájem propojených počítačových sítí, ve kterých mezi sebou počítače komunikují podle síťových protokolů. Jeho vznik je datován kolem roku 1947, kdy za studené války hrozilo rozsáhlé ničení komunikační infrastruktury jadernými zbraněmi. Tato hrozba byla impulzem pro zadání požadavku na vývoj komunikační sítě pro počítače, která by v případě výpadku jednoho segmentu byla schopna stále fungovat. První takováto síť byla vyvinuta pouze pro vojenské účely, konkrétně pro radarové systémy. V roce 1958 byla založena agentura ARPA, která o jedenáct let později uvedla do provozu síť ARPANET se 4 uzly, které představovaly univerzitní počítače v různých částech USA. Tato síť byla decentralizovaná a neměla tedy snadno zničitelné centrum. Od této doby počet připojených počítačů roste ohromným tempem, síť se stává komerční a v současné době je připojeno přes 2 miliardy uživatelů. Vzhledem k velikosti Internetu požadavky na bezpečnost stále rostou. Každý den jsou uživatelé vystavováni pokusům o útoky, často i v řádech tisíců, až stotísíců denně. Proto vyvstává otázka, jak síť před těmito útoky ochránit. Základní infrastrukturu zabezpečení v každé organizaci řeší bezpečnostní politika, která určuje co, jak a proti komu se má chránit. Specifikuje, co se chápe jako citlivá data, jaká existují rizika, jaká je pravděpodobnost jejich naplnění, co dělat v případě útoku, jak se před ním bránit a další. Opatření proti útokům tvoří hloubkovou ochranu, která se skládá z obvodu sítě, první obranné linie, vnitřní sítě a často opomíjeného lidského faktoru. Tato práce se zabývá firewallem, který může být součástí obvodu i vnitřní sítě a určuje, jakým způsobem se budou filtrovat jednotlivé pakety, které jím procházejí. Firewall se umísťuje na hraniční směrovače, které jsou prvními vstupními, respektive posledními výstupními prvky naší sítě, osobní počítače, směrovače, případně další prvky přes které proudí pakety. Takovéto filtry je potřeba v období návrhu, při vývoji i po něm velmi důsledně otestovat a to jak funkčně tak výkonnostně. Cílem mé práce je, mimo seznámení se strukturou zabezpečení sítě, otestovat a porovnat dva různé firewally se zaměřením na jejich výkonnostní charakteristiky. Jedná se o firewall založený na IP Tables, což je nástroj pro specifikaci pravidel firewallu v Linuxu a hardwarově akcelerovanou filtraci síťového provozu NIFIC[11]. Tento filtr je vyvíjen a testován v rámci projektu Liberouter[1] na Masarykově Univerzitě. Zabývá se vývojem vysokorychlostních hardwarově akcelerovaných síťových zařízení založených na programovatelných čipech FPGA 1. Projekt Liberouter spolupracuje se společností CESNET 2 a Vysokým učením technickým v Brně. 1. Field-programmable Gate Array 2. sdružení založené v roce 1996 českými veřejnými vysokými školami a Akademií věd ČR 2

1. Úvod 1.1 Přehled kapitol První kapitola seznamuje s tématem bezpečnosti počítačových sítí. Následuje část o zabezpečení počítačové sítě, ve které jsou shrnuty základní pojmy, používané dále v práci, popsána bezpečnostní politika a jednotlivé komponenty hloubkové ochrany sítě. Třetí část pojednává o firewallech a jejich rozdělení. Ve čtvrté části jsou rozebírány základní dokumenty RFC 3 zabývající se testováním síťových zařízení a firewallů. Praktická část práce se skládá z popisu testovaných firewallů NIFIC a IP tables, popisem metod pro testování síťových zařízení a samotných testů. V závěru shrnuji poznatky o firewallech. Na konci práce uvádím reporty z jednotlivých testů. 3. Request for Comments 3

2 Zabezpečení sítě Zabezpečení počítačové sítě by mělo být realizováno ve vrstvách. Příchozí i odchozí pakety musí projít hraničními směrovači organizace, vnitřními směrovači a dalšími prvky uvnitř organizace až k cíli. Jednotlivé prvky uvnitř sítě jsou rozloženy do vrstev, přičemž každá z nich je na své úrovni nějak zabezpečena (princip vrstvené ochrany). V případě útoku by útočník potřeboval dostatečně výkonný hardware a znalosti, aby se mu podařilo prolomit všechny vrstvy a dostal se k citlivým datům v přiměřeném čase. Základní strukturu zabezpečení sítě nám popisuje bezpečnostní politika. 2.1 Bezpečnostní politika Bezpečnostní politika řeší zabezpečení organizace od ostrahy, až po ochranu dat. Tvoří ji několik hierarchicky provázaných dokumentů, které určují strukturu zabezpečení uvnitř organizace. Jedná se o: Bezpečnostní politiku organizace Bezpečnostní politiku informací Bezpečnostní politiku IT Bezpečnostní politika organizace Souhrn bezpečnostních zásad a principů, definujících správu a ochranu aktiv. Aktivum představuje něco, co má pro organizaci neopominutelnou hodnotu. Každé aktivum má svou hodnotu, na základě které je mu přidělena míra ochrany. Dokument definuje zabezpečení organizace jako celku. Hlavním cílem je zajištění dostupnosti, důvěrnosti a integrity. Dostupnost Prevence ztráty přístupu k datům. Dostupnost musí být zajištěna spolehlivým a včasným přístupem k datům pro autorizované osoby. Zapříčinění nedostupnosti se stává oblíbeným způsobem útoků. Zavádějí se proto redundantní mechanismy, záložní systémy a školí zaměstnanci, jak systém uvést zpět do funkčního stavu. Důvěrnost Prevence neautorizovaného vyzrazení dat. Důvěrnost dat by měla být zachována jak při uchovávání dat, tak při posílání a předání. Integrita Zajištění, že data jsou přesná, s daným obsahem a bez neautorizované úpravy dat. Integrita může být porušena například virem, podvržením programu nebo i vlastní chybou. Bezpečnostní politika informací Jedná se o souhrn bezpečnostních zásad a principů pro ochranu informačních aktiv. Běžně 4

2. Zabezpečení sítě se píše neformálně v přirozeném jazyce, lze však použít i formální logicko-matematické jazyky. Pak je možné dosáhnout vysoké úrovně důvěryhodnosti. Politika dále musí splňovat nadřazenou bezpečnostní politiku organizace, z níž částečně vychází. Stanovuje koncepci zabezpečení informací organizace na 5-10 let. Dokument obsahuje definici, co lze chápat jako citlivá aktiva, klasifikuje odpovědnosti za jejich stav, definuje třídu útočníků, proti kterým se přijímají opatření. Měla by být nezávislá na použitých technologiích. Maximální rozsah dokumentu by měl být přibližně dvě strany A4. Při její tvorbě se postupuje následovně: Posouzení vstupních vlivů Hodnocení rizik organizace (analýza rizik a jejich vyhodnocení) Vypracování projektu, který obsahuje plán zvládnutí rizik a prohlášení o aplikovatelnosti Implementace a prosazení Plnění činnosti pod kuratelnou Vyhodnocení Některé kroky mohou být prováděny současně, můžeme se však setkat i s vynecháním některého z nich. Bezpečnostní politika IT Prezentuje ve svých pravidlech široký souhrn pečlivě vybraných opatření, závazných pro celou oblast IT organizace. 2.2 Hloubková ochrana sítě S bezpečnostní politikou jsme již seznámeni, proto mohu přejít k popisu hloubkové ochrany sítě, která je součástí bezpečnostní politiky, jelikož chráníme aktiva a strukturu zabezpečení určenou bezpečnostní politikou a jejími dokumenty. Hloubková ochrana sítě má také několik částí. Obvod sítě, vnitřní síť a samotné zaměstnance nebo obecněji lidský faktor. Každá z těchto částí je složena z dalších komponent, které se vzájemně doplňují a tvoří tak celkové zabezpečení sítě. Jednotlivé vrstvy jsou na sebe vázány, a měly by být zabezpečeny bez výjimky. Není totiž možné dosáhnou efektivního zabezpečení, například pokud nemáme chráněnou vnitřní síť nebo pokud zaměstnance neinformujeme o bezpečenostních zásadách. [2] 2.2.1 Obvod sítě Do obvodu sítě spadá mnoho prvků od všech druhů firewallů přes detekční systém IDS, až po virtuální privátní sítě. V této části bych chtěl přiblížit jednotlivé prvky a jejich roli v zabezpečení sítě. Statický paketový filtr bývá zpravidla použit na hraničním směrovači, který je prvním prvkem naší sítě, přes který proudí pakety ze sítě vnější. Tento filtr kontroluje v každém paketu jen základní informace, proto má minimální vliv na propustnost oproti například proxy 5

2. Zabezpečení sítě firewallu, který již zohledňuje více informací, ale zároveň při velkém provozu na síti již nemá propustnost dostatečnou. Takto kontrolujeme především vstupní, případně i výstupní provoz. Účinnost filtru závisí na nadefinovaných pravidlech. Při sestavování pravidel je vhodné využít veřejné seznamy škodlivého provozu jako SANS Top 20 [10]. Stavový firewall mimo statického filtrování sleduje i aktivní spojení. Jedná se o nejběžnější typ firewallů. Proxy firewall je nejvyspělejším, ale i nejméně používaným typem. Oproti stavovému komunikují vnitřní a vnější hostitelské systémy přes proxy. Není vhodný na místa, kde je nutný plynulý a rychlý provoz. Podrobněji rozeberu jednotlivé firewally v samostatné kapitole. Detekční systémy IDS (Intrusion Detection System) detekují neobvyklé aktivity, které by mohly vést k narušení bezpečnosti v počítačové síti. Na strategických místech jsou rozmístěny senzory, které obsahují mechanizmy pro detekci škodlivých a nebezpečných kódů. V případě detekce o tom informují. Výstrahy se obvykle generují pomocí dvou metod. První je detekce anomálií. Ta je založena na statistické analýze a detekuje odchylky nespadající do běžného chování. Druhá metoda je detekce signatur. Signatura je vzor, který se v síti vyhledává a na základě které se případně pošle výstraha. Na rozdíl od firewallů tedy do provozu nijak nezasahují, pouze analyzují. Existují však i senzory, které dokáží aktivně reagovat na podezřelý přenos a například přerušit podezřelá TCP spojení. Poslední zmiňovanou částí obvodu sítě je virtuální privátní síť (VPN). Jedná se o logické spojení, které je zavedeno nad již existující veřejnou infrastrukturou pomocí autentizačních, nebo šifrovacích technologií pro vytvoření bezpečného komunikačního kanálu. Komunikace může být zabezpečena na mnoha odlišných vrstvách, například na aplikační, kde šifrování může být zajištěno programově nebo pomocí zabezpečených kanálů jako SSH, transportní (protkolem SSL) či síťové (protokol IPSec). 2.2.2 Vnitřní síť Pomocí výše popsaného obvodu sítě chráníme vnitřní síť organizace, ve které jsou umístěny servery, vnitřní směrovače, pracovní počítače, úložné systémy, systémy UPS 1 a další potřebná zařízení. To však neznamená, že by vnitřní síť nebylo třeba zabezpečit, opak je pravdou. Vnitřní síť je třeba chránit před útoky zevnitř, kdy uživatel může nevědomě zavést škodlivý software do naší sítě nebo při prolomení obvodu sítě. Důkladným zabezpečením vnitřní sítě přispíváme k již zmíněné vrstvené ochraně. Z mechanizmů zabezpečení se zde využívá filtrování na vnitřních směrovačích, senzory IDS, proxy servery, osobní firewally, které nás částečně zabezpečí například při zmiňovaném připojení mimo organizaci, antivirový software, konfigurace operačního systému, kdy se u všech systémů a zařízení v síti zavádí jistá známá konfigurace. Jako kontrola našeho zabezpečení 1. systém, který zajišťuje souvislou dodávku elektřiny pro zařízení, která nesmějí být neočekávaně vypnuta 6

2. Zabezpečení sítě slouží audit, při kterém nezávislá třetí strana pozoruje realitu, vyhodnocuje ji a navrhuje změny. Ten by se měl pravidelně opakovat kvůli ověření, že je vše tak, jak má být. 2.2.3 Lidský faktor Za veškerým návrhem, konfigurací a správou, však stojí člověk a ten může chybovat. V tomto případě mám na mysli zaměstnance ve firmě, který pracuje na firemním počítači. Člověk neseznámený s bezpečnostními procedurami tvoří jisté riziko, proto se nesmí zapomínat na tuto poslední část hloubkové ochrany a zaměstnance pravidelně informovat o zásadách bezpečnosti například formou školení. Samozřejmě je seznamovat s interními pravidly, které definuje bezpečnostní politika. 7

3 Firewally Před tím, než přejdeme k samotnému testování, přiblížím, co to firewall vlastně je, jaké existují základní typy a jak fungují. Firewall je síťové zařízení, které slouží k řízení a zabezpečení provozu na síti, mezi dvěma nedůvěryhodnými sítěmi. Má nadefinovaná pravidla, podle kterých určuje, jaký provoz smí projít a jaký bude zahozen. Mezi nejjednodušší firewally patří ty, které filtrují provoz pouze na základě zdrojové a cílové IP adresy a čísla portu. Takovýto filtr je vcelku efektivní, protože není příliš časově náročný. Modernější typy firewallů již využívají více informací například o stavu spojení, znalosti kontrolovaných protokolů nebo se opírají o prvky IDS. Obrázek 3.1: Ukázka umístění firewallu 3.1 Základní rozdělení a charakteristika firewallů 3.1.1 Paketový filtr Paketový filtr filtruje pakety na základě informací v jejich hlavičce. Konkrétně zdrojové a cílové adresy, zdrojového a cílového portu či rozhraní. Přijde-li tedy paket, firewall si zjistí potřebné informace, porovná s nadefinovanými pravidly a buď ho přepošle dál nebo zahodí. V základní podobě pracuje firewall pouze na síťové vrstvě ISO/OSI modelu a není schopen se rozhodovat podle vyšších vrstev. Tento způsob se stále pro svoji nenáročnost na výkon používá na místech, kde není třeba důkladné filtrování a je třeba velká propustnost, například u směrovačů. Jako nevýhodu lze brát, že nerozumí návaznosti paketů, jelikož se rozhoduje pouze podle jedné vrstvy ISO/OSI (viz obr. 3.2). Aby byl filtr účinný, je klíčové správně nastavit pravidla. Povolit opravdu jen to, co je potřeba a dbát na správné pořadí pravidel. Paketové filtry můžeme využít buďto ve spojení s jinými firewally, nebo v oblastech nízkého rizika i rozpočtu, jelikož se nejedná o drahé řešení. 3.1.2 Stavový firewall Stavový firewall je již oproti paketovému filtru chytřejší, pracuje na transportní a nižší případně částečně aplikační vrstvě ISO/OSI modelu (viz obr. 3.2). Kromě funkce paketového filtru si udržuje tabulku aktuálně navázaných spojení. Jednotlivé položky se v tabulce tvoří při zahájení relace, která jde přes stavové zařízení. Příchozí pakety jsou pak porovnávány s tabulkou a v případě shody podle pravidla propuštěny dál nebo zahozeny. Informace ve 8

3. Firewally Obrázek 3.2: ISO/OSI model a znázornění firewallů stavové tabulce musí být jednoznačné a podrobné, aby případný útočník nemohl napodobit provoz, který by mohl projít. O každém spojení se uchovává určitá skupina informací, která by měla relaci jednoznačně identifikovat, tedy například zdrojová a cílová adresa, čísla portů, pořadové číslo, příznaky, protkol, typ ICMP 1. Nejnáročnější kontrola je prováděna během navázání spojení, poté jsou již pakety zpracovávány rychleji. Datagram může spadat do následujících kategorií: NEW - zahájení nové komunikace ESTABLISHED, RELATED - navázané spojení INVALID - datagram je neidentifikovatelný, nenáleží do žádného existujícího spojení Stav relace lze sledovat různými způsoby, přičemž nelze zvolit jeden konstantní. Například u protokolu TCP je využit trojcestný handshake. Jako zahajovací paket je považován paket, který má nastavený příznak SYN 2 na 1, čímž firewall pozná, že se jedná o nové spojení. Jeli služba na serveru k dispozici, odpoví odesláním paketu s nastaveným příznakem SYN na 1 a ACK 3 na 1. Celou úvodní komunikaci završí klient, který pošle serveru paket s nastaveným příznakem ACK na 1, čímž je spojení ustaveno jako ESTABLISHED. Filtr pak propustí pouze pakety s již navázaným a povoleným spojením. Aby spojení v tabulce nezůstávala navždy, je třeba je také ukončit. To lze pomocí sledování stavu, kdy podle příznaku poznáme, že se například jedná o poslední paket nebo pomocí času do konce (TTL 4 ), což je položka v hlavičce IP datagramu, která určuje maximální dobu existence paketu a chrání tak síť před zahlcením. Případně při dlouhé odmlce posílá klient serveru zprávy keepalive, aby spojení zůstalo navázáno. U protokolu UDP už je to složitější, protože se jedná o nespojovanou službu. V tomto případě můžeme použít IP adresy a čísla portů. Podobně v dalších protokolech je vždy třeba najít atributy, které stav definují. 1. Internet Control Message Protocol 2. Synchronize 3. Acknowledgement 4. Time To Leave 9

3. Firewally Celkově je stavový firewall bezpečnější než paketový filtr a není tak náročný na výkon jako vyspělejší proxy firewall, proto najde své využití například při obvodovém zabezpečení nebo ve větší síti. 3.1.3 Aplikační brána Tetno typ firewallu se liší od předešlých především tím, že není možné komunikovat mezi dvěma sítěmi napřímo, tak jako tomu bylo u stavového či paketového filtru. V praxi to znamená zakázání IP forwardingu. Filtr pracuje na aplikační vrstvě ISO/OSI (viz obr. 3.2), proto lépe rozumí obsahu paketů a jejich návaznosti. Veškerá komunikace mezi klientem a serverem probíhá přes třetí stranu, kterou zastává proxy brána (proxy server). Nikdo z vnější sítě proto nevidí do vnitřní sítě. Pakety určené do vnější sítě nejdříve putují na proxy bránu se zdrojovou adresou původce, na aplikační bráně se zdrojová adresa změní na adresu brány, která dále vystupuje jako zprostředkovatel. Zpětná komunikace funguje na podobném principu, tedy paket, který je určen pro naši síť, jde nejdříve na bránu, ze které je následně poslán na cílovou adresu. (viz obr. 3.3) Proxy bránu si lze představit jako kombinaci klienta a serveru v jednom, navíc se specializací pro jednu službu. Existují tedy brány zvlášť pro služby WWW, FTP, SSH, elektronickou poštu a mnoho dalších. Obrázek 3.3: Znázornění průchodu paketů přes aplikační bránu Výhodou aplikační brány je kvalitní zabezpečení známých protokolů, díky tomu, že pracuje na aplikační vrstvě. Nevýhodou však je poměrně velká náročnost na hardware počítače, brány nejsou schopné pracovat na stejné rychlosti jako například paketové filtry a mají vyšší latenci. Aplikační brány se využívají v místech, kde není třeba filtrovat velké množství dat během krátké doby.[3] 3.1.4 Hardwarově akcelerovaný firewall Hardwarově akcelerované firewally jsou většinou formou externího zařízení (například PCI karty), které obsahuje programovatelný hardware. Samotné filtrování paketů probíhá na kartě, čímž není tolik zatížen procesor hostitelského počítače. Toto řešení umožňuje filtrovat vysokorychlostní sítě, což je při použití samotných softwarových řešení obtížně proveditelné. Záleží však na hardwarové architektuře daného firewallu. Jako příklad hardwarově akcelerovaného firewallu uvádím NIFIC[11], který je vyvíjen v rámci projektu Liberouter[1] na Masarykově Univerzitě. Podrobnějšímu popisu tohoto firewallu se věnuji v následující kapitole. 10

4 Přehled základních dokumentů o testování síťových prvků Testování síťových prvků podléhá standartizaci. Vytvářením těhto standardů se zabývá skupina BMWG 1, patřící pod IETF 2. Definuje v těhto dokumentech základní pojmy kvůli jednoznačnosti, popisuje jednotlivé testy a metodiky testování a definuje, jak by měl vypadat výstup testů. Pro účely této práce jsem vybral následující dokumenty. 4.0.5 RFC 1242 Tento dokument s názvem Benchmarking terminology for Network Interconnection Devices je prvním dokumentem vydaným skupinou BMWG v roce 1991[4]. Definuje základní pojmy používané v dalších vydaných dokumentech a formát, v jakém by měly být prezentovány výsledky jednotlivých testů. Jedná se o pojmy jako Back-to-back rámce, most, router, konstantní zatížení a další. Pro účely této práce podrobněji vysvětlím: Latence Časový interval, který začíná v momentě, kdy první bit dosáhne vstupní port a končí, když ho vidíme na výstupním portu. Router Zařízení, které přeposílá data na základě informací v síťové vrstvě. Propustnost Maximální rychlost, při které se neztratí žádný rámec. 4.0.6 RFC 2544 Tento dokument nahradil dřívější RFC 1944[5] z roku 1996 a definuje několik testů, které mohou být použity pro popsání výkonnostních charakteristik síťových zařízení[7]. Výsledky testů poskytnou porovnatelná data pro různé výrobce. Tento dokument vychází částečně z dokumentu RFC 1242, ve kterém je definováno mnoho pojmů zde používaných. Rozlišuje se zde mezi výrazy musí, měl by a volitelné, jako i v jiných dokumentech RFC a podle toho, jak testy splňují požadavky, buď vyhovují zcela, částečně, nebo nevyhovují. Na síťové zařízení se v tomto dokumentu díváme jako na blackbox, tedy nás nezajímá co je uvnitř, zajímají nás pouze jeho výkonové charakteristiky. V dokumentu je dále popsáno ideální zapojení testovaného zařízení, dále pouze DUT (Device Under Test) a testeru. Ideálně by měly být rámce posílány z odesílajícího portu testeru na přijímající port DUT a z posílajícího portu DUT zpátky do testeru. Díky tomu, že tester poslal i přijal všechny rámce, dokáže snadno určit, zdali se nějaký ztratil. Část dokumentu je věnována nastavení zařízení, které musí odpovídat konfiguraci uvedené v testovací zprávě. Všechny protokoly podporované testovaným zařízením by měly být nakonfigurovány a spuštěny. Testy by také měly být provedeny beze změny v konfiguraci zařízení. Všechny popisované testy by měly být spuštěny vícekrát, nejméně s pěti rozdílnými velikostmi rámců, ideálně včetně rámců s minimální a maximální povolenou velikostí pro dané médium. 1. Benchmarking Methodology Working Group 2. nternet Engineering Task Force 11

4. Přehled základních dokumentů o testování síťových prvků Pro Ethernet jsou to velikosti rámců: 64, 128, 256, 512, 1024, 1518 bytů. Také zmiňuje problematiku filtrování paketů, kdy je filtr nejdříve nastaven pouze s jedním pravidlem, které přepošle vše na výstupní port. Poté se test zopakuje, avšak s 25 pravidly, přičemž 24 s vyšší prioritou nebude mít vliv na provoz. Všechen ostatní provoz by měl být zamítnut. Cílem tohoto testu je vliv počtu pravidel na výkon, přičemž počítá, že zařízení bere pravidla lineárně za sebou. Poslední částí dokumentu před popisem jednotlivých testů jsou obecné zásady provádění testů. Po zapojení a nakonfigurování testováného zařízení spustíme generátor provozu. Po odeslání všech přichystaných rámců počkáme dvě vteřiny. Následně vyhodnotíme výsledky a před dalším testem počkáme alespoň 5 vteřin, kvůli stabilizaci testovaného zařízení. Jeden test by měl trvat nejméně 60 vteřin, RFC připouští i zkrácení tohoto intervalu, avšak pouze s tím, že poslední měření by mělo být provedeno na plném intervalu. Následuje popis jednotlivých testů, z nichž jsem pro potřeby své práce vybral: Test propustnosti Testo test má za cíl určit propustnost definovanou v RFC 1242. Postup: Na DUT je určitou rychlostí posláno množství rámců, přičemž zjišťujeme, kolik jich bylo pomocí DUT přeposláno zpět. Pokud je počet poslaných rámců rovný počtu přijatých, zvýšíme rychlost posílání a zkusíme test znovu. Výsledná hodnota je největší rychlost, jakou je možné rámce posílat, bez toho, že se některý ztratí. Výsledky by měly být prezentovány grafem, kde osa x představuje délku rámců a y rychlost jejich posílání. Mimo jiné by v grafu měla být zanesena i maximální teoretická propustnost. Test ztrátovosti Cílem je určit ztrátovost rámců definovanou v RFC 1242, za použití celé šíře rychlosti posílání dat a délky rámců. Postup: Tento test začíná odesláním rámců se 100 procentní rychlostí linky. Pokud je počet vyslaných a přijatých rámců rovný, ztrátovost je nulová, pokud ne, snížíme rychlost posílání dat a opakujeme. Jednotlivé kroky by měly být menší než 10 procent. Výsledky jsou počítány za použití následujícího vzorce: ((počet odeslaných rámců počet přijatých rámců) * 100) / počet odeslaných rámců Hodnoty by měli být zaneseny do grafu, kde osa x představuje procentuální zatížení linky a osa y procentuální ztrátovost. [7] 4.0.7 RFC 2647 Dokument RFC 2647[8] s názvem Benchmarking Terminology for Firewall Performance definuje pojmy používané v měření výkonu firewallů, vychází mimo jiné i z RFC 1242, avšak místo rámců již používá pakety, vzhledem k vrstvě, o které se v souvislosi s tímto dokumentem 12

4. Přehled základních dokumentů o testování síťových prvků bavíme. Z definovaných pojmů jsem vybral následující: Povolený provoz Pakety, které prošly na základě nastavených pravidel DUT. Spojení Stav, kdy dva hosté nebo host a DUT souhlasí s výměnou dat za použití známého protokolu. Ustanovení spojení Data vyměněná mezi hosty nebo mezi hostem a DUT, pro zahájení spojení. Demilitarizovaná zóna (DMZ) Prvek sítě umístěný mezi chráněnou a nechráněnou sítí. Firewall Zařízení nebo skupina zařízení, která prosazuje politiku řízení přístupu mezi sítěmi. Network adress translation (NAT) Metoda mapování jedné nebo více privátních rezervovaných IP adres na jednu nebo více veřejných. Zamítnutý provoz Pakety zahozené na základě nastavených pravidel DUT. 4.0.8 RFC 3511 Tento dokument se zabývá testováním výkonnosti firewallů, avšak výhradně stavových filtrů a aplikačních bran. Obsahuje popis testů IP propustnosti, přenosové rychlosti HTTP, zpoždění, zvládání fragmentace IP paketů apod.[9] 13

5 Testované firewally 5.1 Hardwarově akcelerovaná filtrace síťového provozu NIFIC Hardwarově akcelerovaná karta s filtrací síťového provozu NIFIC[11] slouží ke zpracovávání síťových toků maximální rychlostí linky bez ztráty paketu. Umožňuje filtrovat počítačovou síť s rychlostí linky až 10 Gbit/s. Architekturu NIFICu lze využít například jako bezstavový firewall, inteligentní rozbočovač či jako nástroj pro sledování datového toku. Tato karta je vyvíjena v rámci projektu Liberouter na Masarykově Univerzitě. Systémová architektura NIFICu je složena z několika vrstev. První a základní vrstvou je hardware, pod kterým se skrývá samotná akcelerovaná karta COMBOv2[1] s FPGA čipem, odpovědná za fyzickou úroveň, například přenos signálů. Vrstva, kde je umístěn firmware zajišťuje akceleraci pomocí FPGA čipu. Všechny pakety jsou přijímány a klasifikovány právě v této vrstvě. Nad firmwarem se nachází jádro, což je modul operačního systému Linux, který je zodpovědný za konfiguraci a komunikaci s uživatelským prostorem. Ten zahrnuje software a knihovny pro správu systému (viz obr. 5.1). Obrázek 5.1: Struktura firewallu[13] Obrázek 5.2: Lokální konfigurace[13] Lokální konfigurace V tomto případě je firewall konfigurován přímo z hostitelského pořítače. Uživatel musí vytvořit soubor s pravidly, zapsanými speciálním jazykem a nahrát je pomocí nificgend démona zobrazeného na obrázku. Ten připraví strukturu dat a nakonfiguruje klasifikaci v jádru systému. Pravidla nahrajeme za pomocí nástroje nific-config[11] (viz obr. 5.2). 14

5. Testované firewally Vzdálená konfigurace Pokud budeme chtít konfigurovat firewall vzdáleně, musíme využít vzdálené kontrolní centrum, které komunikuje s hostitelským počítačem firewallu pomocí Netconf protokolu. Nificgend démon je zde použit podobně jako v lokální konfiguraci, s tím rozdílem, že konigurační data přijímá od vzdáleného centra. Co v lokální konfiguraci nevystupovalo a nebylo třeba, je démon nificexp, který přeposílá vybrané pakety na vzdálené centrum, které je monitoruje. Nificd zde vystupuje jako prostředník mezi všemi částmi (viz obr. 5.3). Obrázek 5.3: Vzdálená konfigurace[13] Obrázek 5.4: Klasifikace paketů[13] Algoritmus klasifikace paketů Klasifikační algoritmus je tou nejdůležitější částí nificu, jelikož tento firewall je určen pro vysokorychlostní sítě a při větším množství pravidel by neměl ztrácet na propustnosti. Filtrace je založena na dekompozici problému. V prvním kroku jsou paralelně zpracovávána všechna významná pole z hlavičky jednotlivých paketů za pomocí LPM algoritmu[13]. Tento algoritmus použitý v NIFICu je založený na TreeBitmap algoritmu. Jako výsledek prvního zpracování hlaviček paketů je jedno 67 bitové slovo. Analýzy však ukázaly, že pro několik slov je možné dosáhnout stejného pravidla. Tato slova se nazývají pseudopravidla. Aby se tomuto problému předešlo, byla vytvořena speciální hašovací funkce, která předchází kolizím a všechna pseudopravidla, která směřují na stejný výsledek pomocí hašovací funkce, převede na stejné číslo(viz obr. 5.4). Hašovací funkce ale přiřadí výsledek pro každý paket, tedy i pro ten, který nemá odpovídající pravidlo, proto se v poslední části porovnává hlavička paketu s odpovídajícím pravidlem. Pokud hlavička sedí pravidlu, bylo nalezeno správné pravidlo, pokud ne, pravidlo neexistuje. Pakety mohou být filtrovány na základě MAC adres, Ipv4 adres, L4 protokolů, TCP a UDP portů, TCP příznaků a čísla rozhraní. Jednoduchá pravidla, která konfigurují NIFIC firmware pro přeposílání paketů z jednoho portu na druhý, by vypadala následovně: 1 pass 0 on 1 2 pass 1 on 0 3 block 15

5. Testované firewally Architektura firmwaru Firmware je vyvinut nad platformou NetCOPE, která obsahuje vstupní a výstupní bufffery a DMA kontrolory. Na obrázku (č. 5.5) můžeme vidět celý proces zpracovávání paketů. Systém poskytuje tři cesty, dvě přes 10G porty a jednu přes PCI rozhraní, jelikož aplikace mohou také přijímat a posílat pakety. Všechny tři cesty jsou implementovány FrameLink protokolem v FPGA čipu. Pakety ze sítě jsou přijaty XGMII IBUF modulem a konvertovány do FrameLink formátu. Pokud je paket poslán ze softwaru, jde přes DMA 1 TX Buffer a poté je stejně jako v ostatních cestách přeložen. Přeložené pakety dále proudí do HFE (Header Field Extraction), kde jsou, jak jsem již výše popisoval, rozparsovány hlavičky paketů. Po rozparsování jdou jednou cestou pakety zabalené FrameLink protokolem a druhou pouze rozparsované hlavičky, které míří do klasifikačního algoritmu, popsaného dříve. Výsledek tohoto algoritmu je poslán do Header Insert modulu, kde se přidělí paketu pravidlo a akce. Crossbar modul pak má na starost poslání rámce na správný výstup. Tok do softwaru je ukládán na DMA RX Bufferu, odkud je přeposlán do apliakce. QDR-II paměť slouží k ukládání pravidel[13]. Obrázek 5.5: Struktura firmwaru[13] 1. Direct Memory Access 16

5. Testované firewally 5.1.1 NIFIC verze V této práci testuji a porovnávám dvě různé verze firewallu NIFIC. Základní architektura je u obou verzí stejná, pouze s několika málo rozdíly. Proto v následujícím odstavci popíši, v čem se verze 3.1 a 4.0 liší a proč tomu tak je. Asi nejpodstatnějším rozdílem je přidaná podpora klasifikace podle IPv6 adres, jelikož ta ve verzi 3.1 chyběla. Tato vlastnost byla přidána do firmwaru a softwaru NIFICu. Implementace probíhala ve dvou fázích, v té první bylo využito již implementované jednotky z klasifikačního jádra NIFICu. Ta ale zapříčinila nízký počet podporovaných Ipv6 adres (maximálně 128). Na FPGA čipu byla proto z důvodu úspory místa vynechána podpora klasifikace podle MAC adres. Naopak přibyla možnost klasifikovat pakety podle značek VLAN 2 a MPLS 3 a byla zvýšena propustnost do softwaru hostitelkého počítače. Druhá fáze byla zaměřena na zvýšení počtu adres IPv4 a IPv6 v pravidlech firewallu. Implementace pro hledání nejdelšího prefixu z předchozí verze byla kompletně předělána. Nový algoritmus je nyní založen na vyhledávání pomocí rozptylovací funkce a treebitmap algoritmu. Tímto řešením bylo dosaženo teoretické propustnosti 100Gbps za podpory tisíců IPv4 i IPv6 adres, čímž se stává vyhovujícím i do budoucna pro potencionální karty do 40 a 100 Gb sítí. Dále byl zvýšen počet podporovaných pravidel z 2048 na 10 000 i více. Toho bylo dosaženo přesunutím tabulky pravidel z blokové paměti na FPGA čipu do exerní paměti QDRII SRAM. 5.2 Filtrování paketů v systému Linux V operačním systému Linux je paketový filtr zabudován v jádře již od verze 1.1. Od té doby prošel razantním vývojem a v současných verzích Linuxu se používá netfilter a iptables. V následujících podkapitolách popíši, jak funguje a co je Netfilter a IP tables, včetně znázornění průchodu paketů. 5.2.1 NetFilter Zakladatelem projektu Netfilter[12] a IP tables se stal roku 1998 Rusty Russell, australský programátor a advokát, který dal dohromady skupinu programátorů zvanou Core Team. Jejich software je licensován pod General Public Licence (GPL) a byl připojen do operačního systému Linux 2.3 v roce 2000. Současným lídrem této skupiny je Patrick McHardy. Netfilter framework je součástí jádra Linuxu a poskytuje prostředek k manipulaci a zachytávání síťových paketů. Umožňuje řadu věcí, mezi které patří i možnost vytvoření pravidel zastávajících funkci firewallu. Zjednodušené schéma tabulek Netfilteru (viz obr. 5.6). Ebtables Jedná se o nástroj pro filtrování Ethernetových rámců. Je podobný IP tables, pouze jednodušší, jelikož Ethernet protokol není tak složitý jako IP protokol. 2. Virtual Local Area Network 3. Multiprotocol Label Switching 17

5. Testované firewally Obrázek 5.6: Tabulky Netfilteru Arptables Nástroj pro manupulaci a správu pro filtraci ARP paketů. IP tables Nástroj IP tables vzhledem k jeho rozšíření a velikosti popíši v samostatné kapitole níže. Conntrack Jedna z důležitých vlastností postavená na Netfilter framework je sledování spojení. To umožňuje jádru stále sledovat všechna logická spojení sítí a přiřazovat pakety, které spojení náleží. Mimo jiné se o tyto informace opírá NAT a překládá všechny související pakety stejnou cestou. Ip tables můžou využít tyto informace pro chování jako stavový firewall. Jednotlivá spojení mohou být: NEW ESTABLISHED RELATED INVALID UNTRACKED snaha o vytvoření nového spojení součást již existujícího spojení připsáno paketu, který se snaží navázat nové spojení a který byl očekáván paket byl zhodnocen jako vadný speciální stav, který může paketu přiřadit administrátor, aby se vyhnul jeho sledování Pro lepší pochopení lze jako příklad uvést první paket spojení. Conntrack subsystém jej uvidí a označí ho jako NEW. Další pakety náležící tomuto spojení budou již označeny jako ESTABLISHED, případný ICMP error daného spojení by byl označen jako RELATED. Paket, který nebude souhlasit s žádným z navázaných spojení, bude označen jako INVALID. 5.2.2 IP Tables IP tables[12] je nástroj pro konfiguraci a správu tabulek filtrovacích pravidel. Tyto tabulky obsahují předem nebo i uživatelsky definované skupiny pravidel, které se nazývají řetězce a na základě kterých samotné filtrování běží. Jedná se o tabulky filter, nat a mangle, přičemž přístupnost záleží na konfiguraci jádra. Filter Tato tabulka se použije automaticky, pokud nedefinujeme jako výchozí jinou. Mezi základní předdefinované řetězce této tabulky patří INPUT, OUTPUT a FORWARD (viz obr. 18