Netfilter
Transkript
„Netfilter“ semestrální projekt předmětu OBDAI 2011 Vypracoval: Obor: Ročník: Datum: E-mail: Pavel Vraný Aplikovaná informatika K-AI-4 1. 1.11.2011 [email protected] Obsah 1 Úvod..............................................................................................................................................3 2 Netfilter.........................................................................................................................................4 2.1 Funkcionalita.........................................................................................................................4 2.2 Netfilter a kernel ..................................................................................................................4 2.2.1 Průchod paketů protokolu IPv4 ....................................................................................5 2.3 Nástroje pro Netfilter ...........................................................................................................5 2.4 iptables .................................................................................................................................6 2.4.1 Slabiny iptables.............................................................................................................7 2.4.2 Rozšíření pro iptables....................................................................................................7 2.5 Příklady nasazení pro ethernet a IPv4...................................................................................8 2.5.1 Implicitní politika..........................................................................................................8 2.5.2 Stavový firewall............................................................................................................9 2.5.3 Zabránění detekce počítačů skrytých za NAT .............................................................9 2.5.4 Omezení provozu jen na protistrany z České republiky .............................................10 2.5.5 Port knocking..............................................................................................................10 2.5.6 Obrana proti spoofingu................................................................................................11 2.5.7 NAT ............................................................................................................................11 2.5.7.1 MAC NAT...........................................................................................................11 2.5.7.2 IPv4 NAT............................................................................................................12 2.5.8 přesměrování portů (DMZ).........................................................................................12 2.5.9 Značkování paketů......................................................................................................13 2.5.10 Vlastník paketu..........................................................................................................13 2.5.11 Zamezení provozu P2P sítí........................................................................................13 2.5.12 Obrana proti DOS .....................................................................................................14 2.5.12.1 Útok SYN flood ................................................................................................14 2.5.12.1 Obrana proti PING flood...................................................................................16 2.5.13 Obrana proti skenování.............................................................................................16 2.5.14 Reakce na detekovaný útok ......................................................................................18 3 Závěr...........................................................................................................................................19 4 Literatura.....................................................................................................................................20 5 Přílohy.........................................................................................................................................21 5.1 Základní pojmy...................................................................................................................21 1 Úvod Netfilter je framework pro manipulaci s pakety obsažený v linuxovém jádře. Jeho nejviditelnější součástí je nástroj iptables, jenž na většině linuxových stanic slouží k definici pravidel pro firewall. Cílem práce je seznámení se s principy vnitřního fungování Netfilteru, způsoby kterými lze pakety zpracovávat a uvést příklady nasazení frameworku z oblasti zabezpečení síťového provozu. 2 Netfilter1 2.1 Funkcionalita Netfilter je framework pro manipulaci s pakety obsažený v linuxovém jádře. S příchodem jader řady 2.4 nahradil Netfilter původní paketový filtr ipchains. Jeho hlavním přínosem oproti předchůdcům je přenesení rozhodovací procedury z kernelu do userspace a schopnost udržovat si v paměti stav existujícího spojení. Díky druhé vlastnosti je schopen zrychlit proces rozhodování, zda procházející pakety mohou být propuštěny dál nebo ne. Pakety z již povoleného spojení nemusí absolvovat celý rozhodovací proces a může být o nich rozhodnuto na základě uloženého stavu spojení. Kromě filtrování procházejících paketů umí Netfilter zajistit NAT (nad IPv4) a některé další manipulace s paketem (např. TTL). Velkou výhodou Netfilteru je jeho otevřenost skrze definované API. Z tohoto důvodu existují desítky nástrojů nad ním postavených a samozřejmě je možné vytvářet nové vlastní. Nástroje založené na frameworku Netfilter jsou obvykle používány k těmto účelům: • • • • • • • • • bezstavový firewall pro IPv4 a IPv6 stavový firewall pro IPv4 a IPv6 NAT nebo maškaráda pro sdílení jedné IPv4 adresy transparentní proxy server pomocí NAT pomocný prostředek pro QoS manipulace s hlavičkou paketu (TOS/DSCP/ECN) sniffer operující v kernelu skrytí paketů před sniffery v userspace backdoor v kernelu, který svůj provoz úspěšně skryje před ostatními nástroji (Jde o z pohledu útočníka o bezpečnější variantu ztrójštění binárek iptables, kterým si může útočník zajistit existenci skrytého pravidla umožňujícím jeho přístup bez ohledu na pravidla nastavená správcem.[4] Backdoor přímo v kernelu zabrání viditelnosti paketu všem nástrojům.) Zejména poslední položky v seznamu ukazují, že Netfilter sám o sobě je pouze nástroj. Mocný, protože umožňuje kontrolovat síťový provoz přímo z prostředí kernelu. Ale o to víc nebezpečný v případech, kdy k němu získá přístup neoprávněná osoba. 2.2 Netfilter a kernel Netfilter lze do linuxového kernelu volitelně zaškrtnout při kompilaci. Všechny běžné distribuce ho mají ve svých předkompilovaných jádrech již zahrnut. Netfilter je framework pro manipulaci s pakety na síťové a linkové vrstvě modelu ISO/OSI. Obsahuje moduly zajišťující podporu protokolů IPv4, IPv6, ARP a ethernet, moduly přidané obslužnými nástroji (např. iptables) a jiné rozšiřující moduly (např. nf_onntract, nf_nat). Každý modul definuje body (hooks) ve zpracování paketu nebo rámce, na které se může zaregistrovat i více obslužných rutin. Konkrétně IPv4 definuje pět takovýchto bodů. V každém 1 Kapitola zpracována za pomocí manuálových stránek iptables[1], xtables-addons[2] a dokumentace dostupné na domovské stránce projektu Netfilter[3]. bodě může obslužná rutina paket prozkoumat, změnit, zakázat, povolit, vynutit jeho zapomenutí či požádat o přesměrování do userspace k dalšímu zpracování. Návratové kódy z obslužné rutiny: • • • • • NF_ACCEPT: pokračovat v normálním průchodu NF_DROP: paket je stornován a je ukončen průchod NF_STOLEN: převzetí paketu (byl zpracován příjemcem), ukončení dalšího průchodu NF_QUEUE: zařazení paketu do fronty, ta často zpracována v userspace NF_REPEAT: znovu předat ke zpracování tomuto bodu Všechny registrované obslužné rutiny jsou volány při průchodu paketu kontrolním bodem, přičemž součástí volání je identifikace obslužného bodu a strukturu popisující paket. Struktura se skládá linkové (např. ethernet), síťové (např. IPv4) a transportní hlavičky (např. TCP, UDP). [5] 2.2.1 Průchod paketů protokolu IPv4 Dnes nejpoužívanějším protokolem síťové vrstvy modelu ISO/OSI je IPv4, proto bude implementace jeho zpracování ve frameworku Netfilter popsána podrobněji. --->[1]--->[ROUTE]--->[3]--->[4]---> | ^ | | | [ROUTE] v | [2] [5] | ^ | | v | A Packet Traversing the Netfilter System[3] Na vstup přicházejí pakety, které splnily základní podmínky: sedí kontrolní součet, nebyly zachyceny v promiskuitním módu a jsou skutečně určeny této stanici. 1. NF_IP_PRE_ROUTING: první bod, ve kterém je možné k paketům přistoupit pomocí frameworku. Je zpracován ještě před rozhodováním, zda je paket určen k přesměrování jinam nebo lokálnímu procesu 2. NF_IP_LOCAL_IN: pokud je paket určen pro lokální proces, je tento bod poslední, ve kterém lze k paketu přistoupit. Poté je již předán lokálnímu procesu. 3. NF_IP_FORWARD: bod pro přístup k paketům určeným k přesměrování 4. NF_IP_POST_ROUTING: poslední bod před předáním paketu linkové vrstvě 5. NF_IP_LOCAL_OUT: bod pro zpracování paketů, jež vznikly na této stanici. Pakety jsou k dispozici ještě před zpracováním pro routování. 2.3 Nástroje pro Netfilter Od počátku vzniku projektu Netfilter je jeho součástí nástroj iptables. Ten je určen pro nastavení filtrování, NAT a manipulace s pakety protokolu IPv4 na síťové vrstvě modelu ISO/OSI. Protože nástroje mají ve svých obslužných rutinách k dispozici i hlavičky transportní a linkové vrstvy, některá rozšíření nástroje iptables do těchto vrstev přesahují. K nástroji iptables existují alternativy [např. výkonnější, ale mrtvý projekt nf-hipac (http://www.hipac.org/)] a nástavby, stejně tak lze k frameworku přistupovat z vlastní aplikace skrze veřejné API. Ale právě iptables je nejpoužívanějším nástrojem pro manipulaci s pakety prostřednictvím Netfilteru, především kvůli své provázanosti s protokolem IPv4. K dispozici je i verze pro protokol IPv6 s názvem ip6tables a obdobnou funkcionalitou, samozřejmě bez voleb sloužících pro NAT. Pro všechny nástroje jsou k dispozici různé rozšiřující moduly, které přidávají novou funkcionalitu. Nejvíce rozšíření bylo vytvořeno pro nástroj iptables. Běžně požadovaná rozšíření jsou dostupná skrze projekt Xtables- addons (http://xtables-addons.sourceforge.net/). Rozšiřitelný je i samotný Netfilter. Jeho rozšíření registrují nové body (hooks), kterými paket bude nucen procházet. Rozšíření pro nástroje často pro zajištění funkcionality současně rozšiřují i Netfilter. Jako rozšíření Netfilteru fungují moduly iptables, stejně tak i moduly pro manipulaci s jinými protokoly: konkrétně arptables pro protokol ARP a ebtables pro filtrování ethernetových rámců na linkové vrstvě. Protože části kódu v těchto nástrojích jsou duplicitní a překrývající se (například rozšíření MAC pro iptables umí pracovat s MAC adresou), je snaha všechny tyto nástroje nahradit jedním, který by zastřešoval veškerou jejich funkcionalitu. Sjednocující nástroj je vyvíjen pod jménem nftables, ale v současnosti není zatím dokončen. 2.4 iptables iptables je tvořen moduly pro Netfilter a obslužným nástrojem. Pracuje na principu tabulek a řetězců (chains) pravidel. Na každý kontrolní bod protokolu IPv4 ve frameworku Netfilter jsou navázány (zaháčkovány) tabulky skrze řetězce, kterými musí paket projít[3]: --->PRE------>[ROUTE]--->FWD---------->POST------> Conntrack | Mangle ^ Mangle Mangle | Filter | NAT (Src) NAT (Dst) | | Conntrack (QDisc) | [ROUTE] v | IN Filter OUT Conntrack | Conntrack ^ Mangle | Mangle | NAT (Dst) v | Filter Nástroj iptables umožňuje manipulaci s vestavěnými řetězci v těchto tabulkách i vytváření vlastních řetězců, vytváření a mazání pravidel v řetězcích a nastavení implicitní politiky pro tabulky. Pravidla specifikují co je třeba vykonat s pakety, které prochází daným řetězcem a těmto pravidlům odpovídají. Výsledná akce je zapsána ve formě cíle pro odskok z pravidla. Pokud není explicitně uvedena cílová tabulka (pomocí parametru -t nebo --table), je použita tabulka filter. Výslednou akcí může být uživatelem definovaný řetězec nebo jedna ze speciálních hodnot. Ty jsou buď vestavěné nebo mohou být přidány některým z rozšiřujících modulů. Nejběžněji používané hodnoty jsou: • • ACCEPT: povolí průchod/přijetí paketu DROP: popření paketu, paket je odstraněn a neproběhne žádná reakce na něj • • QUEUE: pošle paket do userspace, kde může být zpracován skrze obslužný handler (např. ip_queue) RETURN: ukončí zpracování paketu v aktuálním řetězci, zpracování pokračuje ve volajícím řetězci. Pokud žádný volající řetězec neexistuje (tedy aktuální řetězec je jeden z vestavěných), výsledkem zpracování je dán implicitní politikou řetězce. Implicitně Netfilter/iptables obsahují pro IPv4 tabulky raw, filter, nat a mangle, další tabulky mohou být vytvořeny pomocí rozšíření. Nástroj iptables pro tyto tabulky definuje řetězce, kterými musí paket projít: • • • • raw: Tabulka umožňuje filtrovat pakety předtím, než jsou spouštěny náročnější operace. Její pravidla jsou spouštěna před ostatními, což umožňuje například definovat výjimky z provozu ošetřeného pomocí connection tracking vlastnosti. ◦ PREROUTING řetězec pro pakety dorazivší na síťové rozhraní ◦ OUTPUT pro lokálně vzniklé pakety filter: Slouží k filtraci paketů, v této tabulce nikdy nedochází ke změnám. Tabulka je napojena na tři různé řetězce: ◦ INPUT pro pakety určené lokálním procesům ◦ FORWARD pro routované pakety ◦ OUTPUT pro lokálně vytvořené pakety nat: Umožňuje přepis adres a portů. ◦ OUTPUT pro lokálně vzniklé pakety předtím, než proběhne routování. Tento řetězec je konzultován pouze pokud byl Netfilter do jádra kompilován s volbou CONFIG_IP_NF_NAT_LOCAL. ◦ PREROUTING provádí přepis cílových adres a portů (např. za účelem transparentní proxy). Řetězec je konzultován ještě před routováním. ◦ POSTROUTING: zde se provádí přepis zdrojových adres a portů (např. za účelem maškarády). Řetězec je konzultován až po routování. mangle: Tabulka umožňuje úpravu hlaviček paketu (např. TOS). ◦ PREROUTING: pro příchozí pakety před routováním ◦ OUTPUT: pro lokálně vzniklé pakety před routováním ◦ INPUT: pro pakety určené pro tuto stanici ◦ FORWARD: pro průchozí přeposílané pakety ◦ POSTROUTING: pro odcházející pakety po procesu routování 2.4.1 Slabiny iptables Způsob zápisu pravidel pro nástroj iptables sebou přináší výkonnostní problémy. Ty se projevují již při zavádění pravidel do systému, kdy se rozsáhlé konfigurace zahrnující tisíce pravidel mohou inicializovat i několik minut (v závislosti na výkonu stroje). Současně je iptables neefektivní při zpracování velkého množství rozsáhlých řetězců, kdy nároky na systémové prostředky rostou lineárně s počtem pravidel. 2.4.2 Rozšíření pro iptables Aby uživatelé nebyli nuceni opakovaně programovat pravidla se stejnou funkcionalitou, případně nebyli limitováni dostupnými volbami iptables, je tento nástroj uzpůsoben pro rozšiřování. Rozšíření může zahrnovat obslužný modul pro kernel a samotné rozšíření aplikace iptables. Modul pro kernel může registrovat nové porovnávací funkce, proti kterým mohou pravidla testovat paket, a nové cíle pro odskok z pravidla. Mohou také vytvářet nové tabulky, které budou vůči konečnému uživateli působit stejně jako ostatní vestavěné. Rozšíření iptables (a Netfilteru) obecně byla dříve soustředěna v podprojektu patch-omatic, případně patch-o-matic-ng. Nevýhoda starého řešení spočívala ve formě, v jaké byla rozšíření dostupná. Jednalo se o patche zdrojového kódu jádra a iptables. Z toho důvodu bylo nutné překompilovat kernel a iptables pokaždé, kdy bylo vyžadována dosud neobsažená funkcionalita. Proto byl tento koncept nahrazen projektem xtables-addons, který tímto omezením netrpí. Rozšíření jsou nyní k dispozici ve formě modulů. Aplikace iptables obsažená ve většině linuxových distribucí bývá zkompilována tak, aby uměla pracovat se všemi moduly v distribuci obsaženými. Pokud je potřeba přidat nový nepodporovaný modul, je někdy nutné překompilovat iptables, ale nikdy ne samotný kernel. Ke změně došlo v hlavní větvi linuxovém kernelu 2.6.17 (rok 2008)[6], proto je dodnes běžně možné narazit na stroje používající starší verzi. 2.5 Příklady nasazení pro ethernet a IPv4 2.5.1 Implicitní politika Pro každou tabulku lze definovat implicitní politika, která je vykonána, pokud žádné obsažené pravidlo nevybere jinou akci. Při tvorbě pravidel pro firewall je doporučeno řídit se zásadou: „Co není výslovně povoleno, mělo by být zakázáno.“[4]. Takovému přístupu nejlépe vyhoví stanovení implicitní politiky na zahazování paketů a následné explicitní povolování všeho, co je žádoucí. Ostatně termínem technika explicitního povolení se tento přístup v některé literatuře označuje[8]2. # implicitni politika pro tri hlavni retezce - technika explicitniho povoleni iptables -P INPUT DROP iptables -P FORWARD DROP iptables -P OUTPUT DROP Nevýhodou tohoto přístupu je fakt, že některé funkce vyžadují výjimky v přístupu, tedy díry ve firewallu[8]. Proto je vhodné dokumentovat jakoukoliv změnu a její důvod a pravidelně hodnotit, zda důvody přetrvávají. Opačný přístup je pak nazýván technikou explicitního zamítnutí. Při ní je povoleno vše, co není výslovně zakázáno. Při zápisu implicitní politiky hlavních řetězců v iptables by se technika projevila nastavením řetězců na ACCEPT. Tyto politiky se promítají i hlouběji než do implicitní politiky řetězců a obvykle se vzájemně kombinují. Například povolení veškerého příchozího provozu na TCP port 80 předchází zákaz konkrétního rozsahu IP adres. 2 Jiná literatura[7] používá pro techniku explicitní zákazu označení implicitní povolení a pro explicitní povolení termín implicitní zákaz. To aby to nebylo tak jednoduché na pochopení... 2.5.2 Stavový firewall Stavovostí se rozumí schopnost nahlížet nejen na jednotlivé pakety, ale na celé spojení a pamatovat si jejich stav. V iptables je tohoto dosaženo kombinací modulů state a conntrack. Rozšíření state přidává do nástroje iptables schopnost detekovat stav spojení, do kterého paket náleží: • • • • • INVALID pro paket, který se nepodařilo identifikovat (např. došla paměť nebo jde o ICMP error, který se ale nepovedlo přiřadit k existujícímu spojení) ESTABILISHED pro paket, který patří do nějakého existujícího spojení NEW pro paket navazující nové spojení RELATED pro paket, který otevírá nové spojení, které ale má nějakou vazbu na již existujícího spojení (např. FTP DATA, ICMP error) UNTRACKED pro paket, který sledován (byl použit cíl NOTRACK v tabulce raw) Následuje jednoduchá ukázka, kdy jsou zakázány všechny příchozí pakety vyjma těch, jež patří do nějakého již existujícího spojení. To je typicky navázáno lokálním procesem a v takovém případě je žádoucí, aby pakety obsahující odpověď protistrany dorazily ke svému příjemci. Ukázka by mohla tvořit základ pravidel pro běžnou činnost na desktopovém počítači: žádné služby poskytované ven a naopak povolit všechna odchozí spojení. # ukazka stavoveho firewallu pro prichozi pakety urcene lokalnimu procesu # povolit vsechna navazana spojeni iptables -I INPUT -i eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # zakazat vsechna ostatni prichozi spojeni iptables -I INPUT -i eth0 -j DROP 2.5.3 Zabránění detekce počítačů skrytých za NAT Pokud router provádí NAT pro počítače v síti, lze tento zvenčí dedukovat na základě paketů s odlišnou hodnotou TTL v hlavičce. TTL je hodnota, která dekrementuje při každém průchodu přes nějaký router. Jakmile TTL poklesne na nulu, je paket zahozen. Důvodem existence je prevence vzniku “nesmrtelných” nikdy nedoručených paketů, které by časem zahltily síť. Nástroj iptables umožňuje manipulaci s hlavičkou paketu v tabulce mangle. Pro přímou podporu manipulace s TTL je třeba použít rozšiřující modul TTL. Úprava je provedena v rámci tabulky mangle pro všechny odchozí nebo přesměrovávané pakety: # sjednoceni TTL u odchozich paketu iptables -v -t mangle -A OUTPUT -o eth0 -j TTL --ttl-set 64 iptables -v -t mangle -A FORWARD -o eth0 -j TTL --ttl-set 64 Další možnosti manipulace s TTL: # ukazky moznosti manipulace s TTL iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 3 iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-inc 1 První příklad ukazuje, jak snížit hodnotu TTL, druhý naopak jak ji zvýšit. Při tomto druhu manipulace je třeba si uvědomit, že síťový subsystém při routování hodnotu TTL nakonec ještě dekrementuje. Zvýšení hodnoty TTL o jedna umožňuje router skrýt před trasováním prováděným například aplikací traceroute. Ta slouží k zmapování spojení do zvolené cílové adresy. Princip jejího fungování je založen na posílání paketů se zvyšující se hodnotou TTL. Traceroute první paket obvykle posílá s TTL rovnou jedna. Tato hodnota způsobí, že první router na cestě paket zahodí a odešle o této akci informaci zpět pomocí protokolu ICMP. Tím aplikace zjistí adresu prvního routeru na cestě. Totéž se opakuje pro další pakety, u kterých je postupně hodnota TTL zvyšována o jedna. Pomocí odpovědí obdržených přes ICMP je zmapována celá cesta. Snížení hodnoty TTL může být motivováno snahou donutit uživatele používat služby, které se nacházejí blíže naší síti. 2.5.4 Omezení provozu jen na protistrany z České republiky Rozšíření geoip umožňuje omezit příchozí nebo odchozí provoz na konkrétní zemi. Rozlišení státu probíhá podle IP adresy a příslušnosti ISP, který ji má ve svém rozsahu. # omezeni prichoziho provozu jen na Ceskou republiku iptables -A INPUT -m geoip --src-cc CZ -j ACCEPT 2.5.5 Port knocking Rozšíření pknock se používá nejčastěji pro zabezpečení přístupu k ssh serveru. Princip fungování spočívá v zákazu jakékoliv spojení na port, kde běží ssh. Pokud ale uživatel zaklepe na nějaký jiný port, je jeho IP adrese dočasně povolen přístup na port ssh. # ukazka pouziti pknock v TCP modu pro zpristupneni ssh serveru iptables -P INPUT DROP iptables -A INPUT -p tcp \ -m pknock --knockports 4002,4001,4004 --strict --name SSH \ --time 10 --autoclose 60 --dport 22 \ -j ACCEPT Ukázkové pravidlo čeká na zaklepání formou obdržení SYN paketů na TCP porty 4002, 4001 a 4004. Pakety musí dorazit přesně v daném pořadí (--strict), v maximálním rozmezí deseti sekund a nesmí mezi nimi přijít nic jiného, což je prevence proti hromadnému skenu. Povolený přístup na ssh port je zde nastaven tak, aby byl po šedesáti sekundách opět zakázán. V kombinaci s conntract lze povolit všechna již navázaná spojení tak, aby se toto časové omezení nedotklo běžících včas navázaných spojení. Při poklepání po protokolu TCP existuje nebezpečí, že bude sekvence kroků útočníkem cestou odposlechnuta a později zrekonstruována. Proto rozšíření pknock nabízí i UDP mód, který funguje na odlišném principu. Místo sekvence portů se přístup autentizuje pomocí dat obsažených v paketu. Na zvolený port dorazí zpráva vytvořená pomocí tajného klíče zašifrováním klíče, IP adresy klepajícího a aktuálního času (unix time v minutách). Po úspěšném přihlášení může uživatel poslat novou zprávu, která jemu udělenou výjimku z pravidel zruší, případně se ta po nějakém čase zruší sama. Výhodou UDP módu je nemožnost útočníkem zrekonstruovat odemykací sekvenci. Útočník sice může zachytit klepající paket, ale ten je časově omezen na jednu minutu a je platný pouze pro konkrétní IP adresu. Pro úspěšný útok by tedy musel být schopen se vydávat za tuto adresu (přijímat její síťový provoz) a současně během jediné minuty od odchycení úspěšně napadnout ssh server. Pokud oprávněný uživatel po svém připojení pošle i uzamykací paket, časové omezení útočníka se může zmenšit na milisekundy. Nevýhodou UDP módu je nutnost časové synchronizace mezi klientem a serverem plynoucí ze zaslání času v minutách v odemykacím paketu. Dalším omezením je nutnost používat na klientovi veřejnou IP adresu, která je rovněž zahrnuta do odemykacího paketu. UDP mód tedy není možné jednoduše provozovat za NATem. # ukazka pouziti pknoc v UDP modu pro zpristupneni ftp serveru # odemykaci klic je "foo", uzamykaci "bar" iptables -A INPUT -p udp \ -m pknock --knockports 4000 --name FTP \ --opensecret foo --closesecret bar \ --autoclose 240 -j DROP iptables -A INPUT -p tcp -m pknock --checkip --name FTP --dport 21 -j ACCEPT 2.5.6 Obrana proti spoofingu Termín spoofing je označení používané pro situaci, kdy se některý stroj v síti vydává za jiný. Nástroje pro Netfilter3 umí zkontrolovat, zda IP adresa paketu odpovídá MAC adrese, ze které ethernet frame dorazil[10]: #rešení pro ebtables ebtables -A FORWARD -p IPv4 --ip-src 172.16.1.4 -s ! 00:11:22:33:44:55 \ -j DROP #rešení pro iptables iptables -A FORWARD -s 172.16.1.4 -m mac --mac-source ! 00:11:22:33:44:55 \ -j DROP Taková kontrola dává pochopitelně smysl pouze tam, kde topologie sítě zaručuje jedině přímé spojení zdrojového a cílového stroje na úrovni linkové vrstvy. Současně není zárukou, že protistrana je skutečně tím, za koho se vydává. Protože útočník může podvrhnout i MAC adresu. 2.5.7 NAT Překlad síťových adres je nástroji Netfilteru podporován na síťové a linkové vrstvě modelu ISO/OSI. Pro ethernet je používán nástroj ebtables, pro protokol IPv4 nástroj iptables. 2.5.7.1 MAC NAT Nástroj ebtables lze použít pro vytvoření bridge na linkové vrstvě: # bridge na linkove vrstve ebtables -t nat -A PREROUTING -d 00:11:22:33:44:55 -i eth0 -j dnat \ --to-destination 54:44:33:22:11:00 V příkladu je v tabulce NAT v řetězci PREROUTING přepsána cílová MAC adresa rámce na jinou. K přepisu dochází ještě před samotným routováním, které je tedy přepisem ovlivněno. Přepis může způsobit i zahození paketu, pokud se nová cílová adresa nachází na síti, odkud ethernetový rámec dorazil.[10] 3 Jako obrana proti IP spoofingu se také používá linuxová volba rp_filter, která umožní zahazovat pakety dorazivší na jiné síťové zařízení, než jaké odpovídá jejich zdrojové adrese.[9] 2.5.7.2 IPv4 NAT Aby bylo možné používat NAT, musí se pro linuxový síťový systém povolit: # povoleni routovani v linuxu echo 1 > /proc/sys/net/ipv4/ip_forward Pro NAT protokolu IPv4 nabízí iptables dvě metody: maškarádu a SNAT (source NAT). Maškaráda se používá, pokud router připojí LAN skrze jednu veřejnou adresu do vnější sítě. K maškarádě je potřeba rozšíření Netfilteru ip_conntract. Při průchodu prvního paketu spojení se do tabulky ip_conntrack zapíše informace o navázaném spojení a povolí se průchod. Další spojení jsou povolována již na základě existujícího spojení. # ukazka maskarady iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE Obdobného efektu lze dosáhnout i bez modulu masquerade přepisem zdrojové adresy (SNAT). Pak je ale nutné v pravidle uvádět zdrojovou adresu, kterou si maškaráda nastavovala automaticky sama. Tento způsob tedy činí konfiguraci složitější tam, kde nemá stanice přidělenou pevnou IP adresu. Hlavní výhodou SNAT proti maškarádě je fakt, že při reinicializaci síťového rozhraní se nerozpadnou již navázaná spojení.[11] # ukazka prepisu zdrojove adresy iptables -t nat -A POSTROUTING -o eth1 -j SNAT --to-source 192.168.1.1 Při NAT nastává často problém s protokolem ftp. Zde ftp server naslouchá na portu 21, ale data po vyžádání putují z portu 20. Má-li maškaráda fungovat i pro protokol ftp, musí být nataženy moduly ip_conntrack_ftp a ip_nat_ftp. S obdobnými problémy se lze setkat i u jiných protokolů, často pak existuje i obdobné řešení (např. ip_conntract_irc). 2.5.8 přesměrování portů (DMZ) Přesměrování portů je užitečné například tehdy, když má síť přidělenou jen jednu vnější adresu a chce poskytovat ven nějaké služby. V takovém případě se obvykle použije firewall, který zabraňuje nepovolenému přístupu do vnitřní sítě (LAN), zprostředkovává stanicím ve vnitřní síti přístup na internet (SNAT/maškaráda nebo aplikační proxy) a přesměrovává příchozí požadavky na porty nabízených služeb do tzv. demilitarizované zóny (DMZ). # ukazka presmerovani portu iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 \ -j DNAT --to-destination 192.168.1.10:8080 # soucasne musi byt povoleno preposilani na cilovou stanici iptables -A FORWARD -i eth0 -o eth1 -d 192.168.1.10 -p tcp --dport 8080 \ -j ACCEPT Pro lokální přesměrování portů lze použít jednodušší zápis pomocí odskoku do speciálního cíle REDIRECT: # ukazka presmerovani na lokalni port iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 \ -j REDIRECT --to-port 8080 2.5.9 Značkování paketů Někdy nastane potřeba s paketem pracovat i poté, co dojde k modifikaci unikátního kritéria, podle kterého byl rozpoznáván (např. zdrojové adresy). V takovém případě je možné paketu přiřadit značku a později provádět jeho identifikaci pomocí ní. iptables nabízí moduly mark a connmark. Zatímco první slouží k označení konkrétního paketu, druhý za pomoci modulu conntract značku přiřadí celému spojení. Je-li cílem pracovat s celým spojením, potom lze s jeho pomocí výrazně snížit náročnost průchodu paketu na systémové prostředky. Svůj význam ale má i značkování jednotlivých paketů, které lze využít například pro traffic-shaping. # priklad oznackovani spojeni pomoci rozsireni CONNMARK iptables -A PREROUTING -t mangle -i eth0 -p tcp --dport 25 \ -j CONNMARK --set-mark 25 # priklad detekce oznackovaneho spojeni iptables -A POSTROUTING -t mangle -m mark --mark 25 -j ACCEPT Specifické značkování provádí rozšíření ipmark, které přiděluje značku založenou na zdrojové nebo cílové IP adrese. Toho lze využívat například pro QOS. # ukazka oznacovani rozsirenim ipmark pomoci cilove IP adresy iptables -t mangle -A POSTROUTING -o eth3 \ -j IPMARK --addr=dst --and-mask=0xffff --or-mask=0x10000 2.5.10 Vlastník paketu Rozšíření owner umožňuje pakety označit podle vlastníka lokálního procesu, který jejich provoz generuje. V rámci této odchozí komunikace se může hodit filtrovat pakety na základě UID nebo GID procesu, který je generuje: iptables -A OUTPUT -o eth0 \ -m owner --uid-owner podezrely-uzivatel \ -m limit --limit 1/s --limit-burst 10 \ -j LOG Pravidlo zajistí logování paketů generovaných procesy uživatele podezrely-uzivatel a směřující na síťové rozhraní eth0. Při logování je nutné pomocí modulu limit zajistit ochranu proti přeplnění logů tak, aby se nelogoval každý jednotlivý paket[11]. Obdobně lze logovat spojení všech členů libovolné uživatelské skupiny: iptables -A OUTPUT -o eth0 \ -m owner --gid-owner users \ -m limit --limit 1/s --limit-burst 10 \ -j LOG 2.5.11 Zamezení provozu P2P sítí4 IPP2P je rozšíření iptables, které se snaží o rozpoznání paketů patřících do spojení sdílející data v různých P2P sítích. V pravidlech lze specifikovat konkrétní podporované P2P sítě, případně jednou volbou filtrovat všechny. # ukazka routeru zakazujiciho P2P sitovy provoz iptables -A FORWARD -m ipp2p --ipp2p -j DROP 4 Kapitola zpracována podle [12] Provoz pochopitelně nemusí být zcela zakázán, ale P2P přenosy mohou být jen monitorovány nebo provozovány v omezeném přenosovém pásmu. # ukazka oznaceni P2P provozu pro dalsi zpracovani # (napriklad logovani nebo traffic-shaping) iptables -A PREROUTING -p tcp -m ipp2p --ipp2p -j MARK --set-mark 1 Protože rozšíření ipp2p pracuje vždy jen s jedním paketem, je vhodné rozpoznané spojení označkovat a jeho pakety již neanalyzovat. # ukazka nasazení ipp2p v kombinaci s connection tracking # modul connmark obnoví pro paket značku spojení iptables -t mangle -A PREROUTING -p tcp -j CONNMARK --restore-mark # pokud nejaka znacka jiz existuje, spojeni je akceptovano # a dalsi pravidla v tomto retezci nebudou vykonana iptables -t mangle -A PREROUTING -p tcp -m mark ! --mark 0 -j ACCEPT # pokud je paket rozpoznan jako P2P, oznaci se iptables -t mangle -A PREROUTING -p tcp -m ipp2p --ipp2p \ -j MARK --set-mark 1 # oznaceni paketu se ulozi pro cele spojeni iptables -t mangle -A PREROUTING -p tcp -m mark --mark 1 \ -j CONNMARK --save-mark 2.5.12 Obrana proti DOS Útoky, které počítači nebo síti zabraňují obvyklé využití síťových zdrojů, jsou obvykle označovány jako Denial of Service (DOS). Tyto útoky obvykle slouží k obtěžování, k blokování síťového provozu a obchodu na komerčních serverech a k potlačení síťové existence hostitelů, za které se útočník chce vydávat.[4] DOS útok obvykle spočívá v zaplavení napadeného počítače proudem paketů, jejichž zpracování a reakce na ně stojí oběť značné systémové prostředky. Ty potom chybí pro provoz běžných služeb případně regulérní síťový provoz. Základní ubranou proti DOS útokům vedeným po síti je nastavení systému či provozovaných služeb, ale některá opatření lze realizovat současně či výhradně na úrovni paketového filtru. 2.5.12.1 Útok SYN flood Konkrétně v Linuxu je volba /proc/sys/net/ipv4/tcp_syncookies základní prevencí proti DOS útoku známému pod označením SYN flood, tedy zahlcení napadeného stroje SYN pakety. Protokol IPv4 používá při navázání spojení tzv. three-way handshake, kdy klient pošle serveru paket se žádostí o synchronizaci SYN, server na něj odpoví paketem SYN-ACK a klient navázání spojení dokončení zasláním ACK paketu. Pokud server používá pro evidenci částečně navázaných spojení omezenou frontu, stačí aby útočník vynechal závěrečný ACK paket a dokáže tuto frontu zaplnit. Server pak není schopen přijímat další žádosti o navázání spojení a je nucen je zahazovat. Jako obrana proti tomuto chování vznikla technologie SYN-cookies, která umožňuje serveru pomocí volby počátečního čísla TCP-sekvence zrekonstruovat SYN frontu, aniž by si ji skutečně vytvářel a udržoval. Do zvoleného čísla jsou zakódovány všechny potřebné informace k tomu, aby server ověřil platnost došlého SYN-ACK paketu a byl schopen dokončit proces navázání spojení. Tato technologie má i své nevýhody, konkrétně dochází k zapomenutí některých nastavení spojení ze SYN paketu (konkrétně velikost datového okna).[13] Na úrovni iptables lze se SYN flood útokem bojovat pomocí modulů limit a connectionlimit omezením počtu přijatých SYN paketů. Modul limit lze využít pouze pro omezení podle pevně daných kritérií. Prakticky tedy nelze omezit jen konkrétního útočníka, protože jeho zdrojovou adresu v době vytváření pravidel obvykle neznáme. #ukazka obrany pred SYN flood utokem pomocí modulu limit #vytvorit pomocny retezec iptables -N synfloodchain #nastavit zvolené limity #zde maximálně pět spojení, pokud je limit vyčerpán, # obnovuje se rychlostí 1/s iptables -A synfloodchain -m limit --limit 1/s --limit-burst 5 -j RETURN #co se nevejde do limitu, je zahozeno iptables -A synfloodchain -j DROP #nasměrovat všechny příchozí SYN pakety do pomocného chainu iptables -A INPUT -p tcp --syn -j synfloodchain Jinou ochranu před DOS nabízí modul connectionlimit. Ten pomocí síťové masky umožňuje omezit paralelní spojení z konkrétní IP či celého IP rozsahu. Umožňuje tak obranu proti DOS útokům přetěžujícím konkrétní běžící služby. Například útok na webový server by mohl probíhat na úrovni HTTP protokolu a spočívat v zasílání GET požadavků na obsah, pro jehož přípravu musí webový server vykonávat výpočetně náročné operace. Při použití pravidel je třeba brát v úvahu regulérnost požadavků! Konkrétně pro webový server může přicházet neobvyklé množství požadavků od proxy serveru a na takovém chování není obvykle nic závadného. Manuálová stránka iptables uvádí poměrně srozumitelné příklady použití, proto jsou zde uvedeny bez úprav: # ukazky omezeni poctu paralelnich spojeni # allow 2 telnet connections per client host iptables -A INPUT -p tcp --syn --dport 23 \ -m connlimit --connlimit-above 2 -j REJECT # you can also match the other way around: iptables -A INPUT -p tcp --syn --dport 23 \ -m connlimit ! --connlimit-above 2 -j ACCEPT # limit the number of parallel HTTP requests # to 16 per class C sized network (24 bit netmask) iptables -p tcp --syn --dport 80 \ -m connlimit --connlimit-above 16 --connlimit-mask 24 -j REJECT # limit the number of parallel HTTP requests # to 16 for the link local network ip6tables -p tcp --syn --dport 80 -s fe80::/64 \ -m connlimit --connlimit-above 16 --connlimit-mask 64 -j REJECT Za pomoci modulů recent a state můžeme omezit počet spojení pocházejících z konkrétní adresy za určitou časovou jednotku. Na rozdíl od modulu connlimit tedy neomezuje jen paralelní spojení, ale pracuje s uloženým seznamem. #pro jakékoliv nové příchozí spojení (-m state --state NEW) # na port 80 (--dport 80) # je zdrojová adresa přidána na seznam (-m recent --set) iptables -A INPUT -p tcp --dport 80 -m state --state NEW -m recent --set #zajistí, aby neprošlo více než deset nově navázaných spojení za minutu iptables -A INPUT -p tcp --dport 80 -m state --state NEW \ -m recent --update --seconds 60 --hitcount 10 -j DROP 2.5.12.1 Obrana proti PING flood Útok typu PING flood je založen na zahlcení napadeného stroje echo pakety protokolu ICMP. Pokud napadený stroj na tyto pakety odpovídá, může dojít k vyčerpání jeho přenosové kapacity, a tím ke zpomalení síťového provozu. Předpokladem úspěšného útoku je, aby útočník disponoval rychlejším připojením k Internetu než napadený. Slabinou napadeného může být poddimenzování odchozí rychlosti ve prospěch příchozích dat, které je běžné u mnoha poskytovatelů konektivity. Útočník může útok vylepšit podvržením cizí IP adresy, takže napadený se snaží odpovídat někomu jinému. # ukazka omezeni ping pozadavku iptables -A INPUT \ -p icmp --icmp-type echo-request \ -m limit --limit 1/s --limit-burst 5 -j ACCEPT 2.5.13 Obrana proti skenování5 Rozšíření lscan detekuje skenování stanice na základě obsahu obdržených paketů. Tento způsob je náročný na systémové prostředky a nejsložitější typy detekce mohou i stonásobně snížit rychlost síťového provozu. Současně ale umožňuje detekovat i sken, který je časově rozložen do desítek hodin a pro detekci založenou pouze na množství navazovaných spojení je prakticky nezjistitelný. Rozšíření lscan umí detekovat čtyři typy skenů: • --stealth vyhoví pakety, které nepatří do žádného známého TCP spojení (sem patří skenování označované jako Stealth/FIN/XMAS nebo NULL). • --synscan vyhoví pokud spojení nedokončilo three-way handshake • --cnscan vyhoví pokud spojení sice bylo navázáno (proběhl three-way handshake), ale okamžitě poté protistranou ukončeno. • --grscan vyhoví, pokud bylo spojení ukončeno ihned poté, co server odeslal první data (např. identifikaci služby). Tuto volbu je třeba používat s rozvahou a pouze na protokoly, kde data proudí obousměrně (např. ne na FTP DATA). 5 Kapitola zpracována podle [14] Ilustrace 1: stavový graf detekce SYN skenování[14] Některá rozšíření iptables slouží primárně pro obtěžování, zpomalení nebo zmatení potenciálního útočníka. Jejich použití je kontroverzní, protože je založeno na často kritizovaném přístupu Security through obscurity. Současně ztěžuje regulérní testování dostupnosti služeb a parametrů sítě. Rozšíření tarpit trápí protistranu udržováním spojení v perzistentním stavu, současně ale zcela neprůchozím. U protokolu TCP je přijímací strana zodpovědná za zvětšování a zmenšování velikosti datového okna, aby tak mohla přizpůsobit přenos kvalitě spojení. Tarpit naoko akceptuje příchozí spojení (na SYN odpoví SYN-ACK), ale nastaví pro ně velikost okna na nulu. Protistrana tedy nemůže začít posílat data, ale musí opakovaně žádat o pokračování (zvětšení okna). Veškeré její pokusy spojení uzavřít jsou ignorovány (na FIN se nepošle odpověď FIN). Takové chování udržuje spojení aktivní, jen je neprůchozí. Proces na protistraně jím může být zablokován i na několik minut, než vyprší timeout. # ukazka jednoducheho pouziti rozsireni tarpit iptables -A INPUT -p tcp -m tcp --dport 80 -j TARPIT Tarpit lze nasadit i pro přeposílání: # ukazka pouziti tarpit tak, aby sliboval preposlani paketu iptables -A FORWARD -p tcp -j TARPIT iptables -A FORWARD -j DROP Při použití rozšíření tarpit v kombinaci s běžně používaným rozšířením conntract je vhodné mu dát na vědomí, že takové spojení není nutné sledovat. Tím se zásadně šetří systémové prostředky. # ukazka pouziti tarpit tak, aby # a soucasne setril systemove iptables -t raw -A PREROUTING -p iptables -A INPUT -p tcp --dport predstiral beh IRC serveru prostredky tcp --dport 6667 -j NOTRACK 6667 -j TARPIT Rozšíření delude na úvodní SYN paket odpovídá správně SYN-ACK, ale na všechny další pakety posílá RST. Z pohledu skeneru, který nedokončuje three-way handshake, tak port působí jako otevřený. Kombinaci chování tarpit a delude umožňuje rozšíření chaos. Jeho hlavním cílem je doslova vyvolat chaos v informacích, které port skener o systému získá. Na portech náhodně mění způsob odezvy, takže výstup ze skenování je nepoužitelný. Vedlejším pozitivním důsledkem nasazení chaos rozšíření může být změna chování skeneru. Ten může nabýt dojmu, že překročil firewallem stanovené limity (například na počet spojení) a ve snaze skrýt se může zvolnit tempo skenování. # ukazka pouziti modulu chaos # pri spatne navazanem spojeni je nekdy nasazen delude a nekdy ne iptables -A INPUT -i eth0 -p tcp \ -m state --state INVALID,NEW \ -j CHAOS --delude iptables -A INPUT -i eth0 -p tcp \ -m state --state INVALID,NEW \ -j DROP Zajímavá je i ilustrace chování modulu chaos zapsaná za pomoci rozšíření statistic, které umožňuje práci s náhodným číslem: # simulace chovani modulu chaos # nahodne je spojeni bud zamitnuto nebo zpracovano modulem delude iptables -N chaos iptables -A chaos -m statistic --mode random --probability 0.01 \ -j REJECT --reject-with icmp-host-unreachable iptables -A chaos -p tcp -m statistic --mode random --probability 0.0101 \ -j DELUDE iptables -A chaos -j DROP 2.5.14 Reakce na detekovaný útok Modul recent pracuje se seznamem IP adres, do kterého lze přidávat záznamy, odebírat je, aktualizovat u nich časové razítko a ověřovat jejich existenci. Pokud například v nějakém pravidle vyhodnotíme chování protistrany jako nežádoucí, můžeme si ji zařadit na seznam, a poté zahazovat všechny její pakety. Případně jí udělit „trestné minuty”, tedy na určitou dobu přerušit komunikaci. Příklad z domovských stránek projektu: # ukazka zarazeni utocnikovi IP na blacklist # zde na vnejsi rozhrani dorazily pakety urcené pro loopback, # za toto nezadouci chovani je zdrojova adresa # zarazena na seznam (-m recent --set) a nasledne spojeni zahozeno iptables -A FORWARD -i eth0 -d 127.0.0.0/8 -m recent --set -j DROP #soucasne existuje pravidlo, ktere overi zdrojovou adresu paketu na seznamu # a pokud ma zaznam z poslední minuty, jsou jeho pakety zahozeny iptables -A FORWARD -m recent --rcheck --seconds 60 -j DROP Sankce lze dokonce zpřísnit. Záměnnou --rcheck za --update v posledním pravidle zajistíme, že jakýkoliv provoz od potrestané protistrany způsobí prodloužení doby trestu. Trest tedy již nebude udělen přesně na jednu minutu, ale protistrana po přidání do seznamu musí držet nepřetržitě „minutu ticha“, při které nesmí posílat vůbec žádné pakety. Jakýkoliv příchozí paket před vypršením trestu bude znamenat vynulování odpočtu trestného času. 3 Závěr Přestože uvedené ukázky zdaleka nepokrývají veškeré možnosti nasazení frameworku Netfilter, jeho nástrojů a rozšíření, z popisu lze odvodit univerzálnost frameworku. Ten svým zabudováním do samotného jádra operačního systému a rozkročením skrze linkovou, síťovou a transportní vrstvu ISO/OSI poskytuje prakticky neomezené možnosti pro manipulaci a filtraci síťového provozu. Slabinou se jeví dostupné nástroje zpřístupňující běžně požadované služby uživatelům. Nástroje poskytované samotným frameworkem se funkcemi částečně překrývají, což vede k zesložitění správy pravidel. 4 Literatura 1 Man page of IPTABLES, http://ipset.netfilter.org/iptables.man.html 2 Man page of Xtables-addons, http://www.digipedia.pl/man/doc/view/xtables-addons.8/ 3 Netfilter.org, http://www.netfilter.org 4: HATCH, Brian; LEE, James; KURTZ, George. Linux hackerské útoky : bezpečnost Linuxu - tajemství a řešení. Praha : Softpress, 2002. 576 s. ISBN 8086497178. 5 Some fun with Linux Netfilter Hooks, 2005, http://whatisthekernel.blogspot.com/2005/01/some-fun-with-linux-netfilter-hooks.html 6 ENGELHARDT, Jan. An Introduction to Xtables-addons, 2008, http://jengelh.medozas.de/documents/IntroXta.pdf 7 O'REILLY, ; VESELSKÝ, Jiří. Bezpečnost v Unixu a Internetu v praxi. Vyd. 1. Praha : Computer Press, 1998. 948 s. ISBN 8072260820. 8 SHAH, Steve. Administrace systému Linux : jak porozumět svému počítači : podrobný průvodce začínajícího administrátora. 1. vyd. Praha : Grada, 2002. 533 s. ISBN 8071695866. 9 LECHNYR, David. Linux Gazette, 2002, Network Security with /proc/sys/net/ipv4, http://linuxgazette.net/issue77/lechnyr.html 10 ebtables, http://ebtables.sourceforge.net 11 DOČEKAL, Michal. 2010, QCM, http://linuxexpres.cz/praxe/sprava-linuxoveho-serveru-linuxovy-firewall-zaklady-iptables-3 12 Official ipp2p homepage, http://www.ipp2p.org/ 13 SYN cookies, Wikipedia, http://cs.wikipedia.org/wiki/SYN_cookies 14 ENGELHARDT, Jan. Detecting and deceiving network scans, 2008, http://jengelh.medozas.de/documents/Chaostables.pdf 5 Přílohy 5.1 Základní pojmy • • • • • • • • • • • • • • • • • • API - rozhraní pro programování aplikací backdoor - aplikace sloužící k nelegálnímu vstupu do systému Connection Tracking - sledování spojení, schopnost stavového firewallu sledovat spojení jako celek a ne jen po jednotlivých paketech DMZ - demilitarizovaná zóna, podsíť v LAN určená pro poskytování služeb z vnější sítě DSCP - Differentiated Services Code Point - náhrada TOS, klasifikace do tříd, využitelné zejména pro QoS ECN - Explicit Congestion Notification - slouží k notifikaci o zahlcení sítě bez nutnosti zahazovat pakety. Musí ho podporovat obě strany. ISO/OSI - síťový referenční model NAT - Network Address Translation - Překlad síťových adres P2P - architektura sítě, kde spolu komunikují rovnocenné uzly, všechny plní funkce klient i serveru QoS - Quality of Service - řízení datových toků tak, aby při zahlcení sítě jedním účastníkem nevedlo ke snížení kvality síťových služeb ostatním Security through obscurity (bezpečnost skrze utajení) - bezpečnostní přístup založený na poskytování co nejmenšího množství o vnitřní implementace potenciálním útočníkům. Vychází z předpokladu, že co není známo, je hůře napadnutelné. Přístup je alternativou i doplňkem opačného Secure by design (bezpečnost díky návrhu). sniffer - aplikace určená k odposlechu komunikace three-way handshake - trojcestné navázání spojení v TCP (SYN, SYN-ACK, ACK) TOS - type of service - v hlavičce IP paketu zakódovaná informace o službě, která komunikuje (telnet, ftp data) traffic-shaping - řízení rychlosti přenosu dat, obvykle slouží k dělení přenosové kapacity mezi více uživatelů TTL - Time to live - kolik routerů může paket projít, než bude zničen unix time - čas počítaný v sekundách uplynutých od 1.1.1970 user space - procesy a paměť oddělené od jádra operačního systému
Podobné dokumenty
IG.kolo AJAX PIVODAM
vhazovani. Jeste v teze minute byl v obrovske sanci Zdena, ale jeho dorazka mirila nad branu
hostu. V 16.minute zabrnkal na nase nervy Hroch s Dozou, kteri se vzadu nedomluvili a po
teto minele mel...
stavíme si vlastní cloud pro vývoj a testování
Přes libvirt - vyžaduje placennou verzi kvůli API
Návod k použití digitální telefonní ústředny M6501/02/04
V dalším textu budeme uvádět postupy jak v názorné obrázkové formě, tak
formou symbolů. Důležité je vědět, že význam tlačítka je dán nápisem na displeji nad
ním a nikoli jeho umístěním. Je proto mo...
„S TURem tu i zítra budem“: evaluace programu
Například program Strážci Země (Earthkeepers)2 uplatňuje širokou škálu
motivačních prostředků. Děti jsou nejprve „zaháčkovány“ dopisem, ve kterém je tajemný
E.M. zve na návštěvu svého střediska. Ce...
Počítačové sítě a Linux
Od routeru budeme vyžadovat následující činnosti:
- ze stroje adminClient je povolen SSH přístup na router
- z rozhraní eth1 jsou všechny požadavky na služby: HTTP, FTP a SSH přeposílány na
intraSe...
Novépřekvapujícízpůsoby,jakuspokojitvašepotřeby–od
server/internetový fax; rozhraní pro síťové
funkcí: skenování po síti a do e-mailu,
účtování; kancelářský finišer
síťový server/internetový fax; rozhraní
pro síťové účtování; kancelářský finišer
Téma 11: Firewall v CentOS
Firewall v Linuxu je tvořen projektem Netfilter, který pracuje na úrovni jádra a umožňuje filtrovat
pakety na základě mnoha kritérií.
Netfilter není pouze firewall, je to především paketový filtr, ...
Aastra 7147a uživatelský návod
Pomocí osobních čísel a funkcí profilů můžete být k zastižení na vašem
obvyklém pracovním čísle, i když jste mimo kancelář. Podle situace lze
nastavit 1–5 vyhledávacích profilů (v kanceláři, na ces...