Už víte, co je to DoS. Tak teď se naučte bránit

Předchozí článek nám vysvětlil, co to vlastně DoS je, a přiblížil nám, jaké jsou nejčastější typy útoků. Většinou mluvíme o DoS problematice, ta se však vztahuje i na DDoS útoky, které nejsou ničím jiným než DoS útoky vedenými z více míst najednou.
Petr Hněvkovský: Předchozí článek nám vysvětlil, co to vlastně DoS je, a přiblížil nám, jaké jsou nejčastější typy útoků. Většinou mluvíme o DoS problematice, ta se však vztahuje i na DDoS útoky, které nejsou ničím jiným než DoS útoky vedenými z více míst najednou.

Pojďme se nyní podívat, jak se těmto útokům bránit. Jelikož je tato problematika dost široká, zaměřím se převážně na obecná pravidla obrany a případně na dílčí ochranu před nejčastějšími DoS a DDoS útoky.

Podstata DoS útoku

Jak již z názvu „Denial of Service“ vyplývá, útočníkův záměr je odepření služby. V tomto případě to většinou znamená odepření přístupu na Internet, přerušení nějaké konkrétní služby nebo i zahlcení celé vnitřní sítě. Taková závada má pro každého jiný dopad, ať již finanční nebo prestižní. On-line bankovní dům se nejvíce obává každé minuty nedostupnosti svých bankovních aplikací na webu, kdežto klasický úřad se bez svého webu obejde i týdny, ale zahlcení jeho vnitřní sítě má nedozírné důsledky.

Nesmíme však zapomenout, že DoS může sloužit jako zástěrka klasického hackerského útoku, kdy útočník využívá vaše soustředění na obranu. Pak takový útok není ničivý, ale jen částečně zahlcující, aby hacker měl současně s vámi přístup k napadeným systémům a mohl například získat root hesla nebo jinak kompromitovat systém.

Základní opatření

Pro úspěšnou obranu je potřeba pochopit základy jednotlivých DoS útoků a způsob vedení DDoS útoků, které jsou v současnosti stále častější. Proto doporučuji pročíst si předchozí článek a případně ho doplnit jedním z mnoha bezpečnostních zdrojů (viz tabulka).

Bohužel z podstaty DoSu, který většinou využívá základních vlastností TCP komunikace, nevyplývá jasně definovatelný způsob obrany. Celý proces ochrany lze rozdělit na 3 části: prevence před útokem, detekce útoku a reakce na něj.

Prevence

Nejprve si musíme uvědomit, že ISP (váš poskytovatel připojení) nebo CERT a jiné organizace vám mohou pomoci v případě útoku anebo poradit, jak jim předcházet, avšak zabezpečení sítě je pouze vaší vlastní starostí. Prvním krokem by mělo být sestavení zodpovědného havarijního týmu, který nastupuje v okamžiku krize. Čas může být v takovém případě nejkritičtějším faktorem, a proto čím více času strávíte rozhodováním o tom, kdo bude co a kdy dělat, tím déle budete odříznuti od okolního světa. Společně s tímto týmem sestavte krizový plán, kde jasně definujete jednotlivé role, úlohy a zodpovědné osoby. Tento plán navazuje na další kroky, které provedete v přípravné fázi.

Zaveďte anti-spoof pravidla

Na hranici sítě, tj. na směrovačích a firewallech, zaveďte taková pravidla, které omezí možnost průniku paketu s falšovanou IP adresou (spoofing).

Na Cisco směrovačích lze použít příkaz „ip verify unicast reverse-path“, který prozkoumá původ každého paketu a zjednodušeně řečeno, pokud jeho zdrojová adresa nevede ke stejnému interface, od kterého přišla, pak takový paket odmítne. Tento příkaz zastaví Smurf, Land a podobné útoky, které závisí na falšování zdrojových adres.

Byť se to může zdát zbytečné, je vhodné nastavit vstupní a výstupní filtry adres na hraničních směrovačích vaší sítě a vašeho ISP dle RFC 2267. ISP směrovač poté bude akceptovat pouze pakety se zdrojovou adresou patřící vaší síti a obrácené pravidlo platí pro váš směrovač.

Pro úplnost ještě dodám samozřejmé pravidlo pro filtraci všech rezervovaných adres dle RFC1918.

Omezte ICMP a SYN provoz

Limitujte frekvenci ICMP (Ping) paketů, nebo jejich část (např. ECHO) nebo je zakažte úplně. Zákaz ICMP se používá pouze u firewallů, u směrovačů je většinou jeho funkčnost nutná. Limitace nebo úplný zákaz ICMP nedovolí zahlcení sítě velkým množstvím ping zpráv při Smurf útoku. V jiném případě může zastavit DDoS TFN, kdy se ICMP používá právě pro řízení celého distribuovaného útoku.

Konfigurace limitu SYN paketů již není tak jednoduchá. SYN nelze zakázat, jelikož je potřeba pro každé navázání spojení. Zároveň je však nejslabším místem, které využívá SYN Flood útok. Zde doporučuji důkladně postupovat dle přiložené dokumentace, aby jste předešli takovému omezení, kdy budou legitimní SYN považovány za nebezpečné a nedojde ke spojení. Pro běžný Cisco IOS platí pravidlo držet hodnoty mezi 30-50 % SYN flood rate v závislosti na 100% využití celé šíře pásma. Zároveň je vhodné zvětšit buffer používaný pro SYN-ACK.

Udržujte systémy aktuální

Každý operační systém klasického serveru nebo přepínačů a směrovačů je potřeba pravidelně kontrolovat a případně aktualizovat příslušnou bezpečnostní „záplatou“. Seznam těchto záplat je vždy dostupný na webových stránkách výrobce nebo všeobecně na: www.cert.org/advisories/CA-2000-21.html.

Pravidelně skenujte

Tento krok souvisí s předchozím bodem. Jelikož není dost možné v reálném čase neustále sledovat aktuálnost všech záplat na veškeré použité operační systémy, je nevhodnější nasadit detekční nástroje neboli skenery. Takových nástrojů je několik a liší se většinou zaměřením na určité operační systémy nebo databáze. Hlavním kritériem výběru je jeho aktuálnost a také možnost automatického updatu, jako je tomu u antivirů. Ty nejkvalitnější produkty nejen vyhledají zranitelné místo, ale obsahují i expertní znalostní databázi, která vám poradí, jak napravit chybu, a případně kde a jaký patch je nutno nainstalovat. K takovým produktům patří špičkový Internet, System a Database Scanner (ISS) nebo CyberCop Scanner (Network Associates) a Kane Security Analyst (Intrusion.com).

Nezapomeňte na QoS

Quality of Service (QoS) neboli řízení kvality služeb může významně omezit vlastní útok. Dobře nastavená pravidla QoS vám také umožní v případě útoku stále komunikovat s napadenými systémy, proto je dobré si rezervovat pravidlo pro administrátorskou komunikaci, které má maximální prioritu, ale v případě nevyužití neblokuje volnou kapacitu linky. Pravidla QoS doporučuji nastavit jak na směrovači, např. pomocí funkce QoS v Cisco IOS, dále na tvrdší pravidla na firewallu, kupříkladu pomocí CheckPoint FloodGate. Také je možné obecná pravidla nastavit pomocí HP OpenView VantagePoint Internet Services, který nedovoluje zahlcení pakety z jednoho zdroje.

Detekce

Na jednu stranu se množí takové útoky i od amatérských hackerů, jelikož jsou všechny DoS nástroje volně dostupné na Internetu. Na druhou stranu nám však tato dostupnost nahrává, protože statistiky ukazují, že i velmi zkušený hacker si raději stáhne hotový prográmek, než aby si ho sám programoval. To nám umožňuje vcelku jednoduše takové ataky rozpoznat, protože zanechají stejný „podpis“ na napadeném systému.

Sledujte logy

Hledejte v logu firewallu, směrovače apod. stopy průniku. Pokud se v logu nevyznáte, můžete opět využít nějaký nástroj, např. CheckPoint Reporting Module. Pro kvalitní analýzu je nejvhodnější přesměrovat všechny logy různých zařízení na jedno místo jako HP OpenView VantagePoint, které vám dovolí vzájemnou korelaci údajů a také nastavení prahových hodnot pro vysílání varovných signálů.

Hledejte zombie

Nebojte, opravdu nemusíte do podzemí, stačí jen prohledat každý server (převážně UNIXový) a najít nečinné procesy/démony (neboli zombie), které pouze čekají na externí příkaz, než začnou vykonávat nějakou nekalou činnost. Vyhledat je můžete buď pomocí skenerů nebo ručně pomocí jasných stop, které zombie zanechávají v infikovaném systému. Dokonce i některé antiviry jako je McAfee VirusScan obsahují popisy zombie ve svých virových databázích a umí infikované systémy vyléčit. Popis takových stop je možné najít na CERTu.

Nastavte varovná hlášení

Klasickým příkladem varovného hlášení může být detekce nevyžádaných ICMP ECHO odpovědí nebo nezvykle vysoká úroveň provozu na síti. Taková pravidla lze nejlépe sestavit na základě výsledků statistik, které se provedou v úvodní fázi pro zjištění standardní úrovně provozu.

Použijte IDS

IDS je zkratka pro Intrusion Detection System neboli systémy pro detekci průniku. Dovolím si použít analogii vaší sítě jako domu; pokud firewall definuje přístupová dveře a okna, tak IDS je potom hlídací pes nebo novodobě alarm, který hlídá neautorizovaný pohyb. IDS nehledá díry v systému nebo síti, to dělá skener. Ale sleduje každý paket sítě, jestli někdo nehledá zranitelné místo, nebo se přímo nesnaží prolomit nějaký systém. IDS je asi nejdůležitějším nástrojem bezpečnostního správce.

Check Point Firewall-1 umožňuje integraci RealSecure, který rozpozná současně známé DoS ataky a na základě nastavených pravidel ihned varuje administrátora nebo případně pozmění pravidla firewallu tak, aby se útok nešířil dál. Podobně je tomu u specifické řady přepínačů Cisco CSS 11000, jež vyniká vysokou propustností a zároveň vysokou úrovní bezpečnosti.

Opět existují i samostatná řešení IDS, z nichž je celosvětově nejpoužívanější RealSecure (ISS). Ano, název je stejný jako u CheckPointu, jelikož se jedná o stejný produkt pouze s rozšířeným počtem agentů. Další produkty jsou opět doplněním předchozích skenerů: CyberCop Monitor (Network Associates) a Kane Security Enterprise (Intrusion.com). Velmi mě zaujal CyberCop Monitor, který také obsahuje CyberCop Sting. Sting simuluje několik NT a UNIX serverů a Cisco přepínačů a má za úkol nalákat útočníka do této falešné virtuální sítě. CyberCop „Žihadlo“ zároveň podává tiché varovné signály ostatním systémům a správcům, čímž docílí rychlého zachycení útoku dříve, než dojde k nějakému poškození.

Reakce

Pokud dojdete až do této fáze i v reálném životě, tak vám vaši situaci nezávidím. Nyní již nelze útok odvrátit, ale pouze zmírnit jeho následky a postupně vrátit systém do původního stavu. Způsobů obrany je mnoho a zaleží na typu ataku a také na povaze vaší sítě.

Informujte havarijní tým

Pro rychlou reakci je potřeba ihned informovat celý havarijní tým, který by měl zahrnovat vnitřní administrátory, bezpečnostního správce, ale také kontaktní osoby z ISP a zodpovědné osoby z přidružených společnostní, které sdílejí vaše připojení nebo dokonce část sítě. Toto je velmi důležité hlavně u holdingových společností, kdy často pod tlakem minimalizace nákladů dochází ke snížení úrovně bezpečnosti nějaké části, ze které pak může být veden (ne řízen) útok na zbytek sítě.

Pracujte rychle

Postupujte podle krizového plánu krok za krokem k identifikaci typu a zdroje útoku a ihned informujte druhou stranu o potřebných opatřeních (např. filtrování určitých adres). Spolu s druhou stranou postupujte dál k dalšímu zdroji tak dlouho, až naleznete úplný počátek DoS útoku. Bohužel tento úkol je snadný teoreticky, ale velmi těžko proveditelný prakticky. Proto mějte vždy aktualizovaný seznam členů havarijního týmu, který obsahuje všechny společnosti, se kterými máte přímé spojení, a zároveň se také ptejte těchto společností, zda-li oni sami mají také podobný specializovaný tým.

Omezujte, ale nezakazujte

Pro úspěšné přežití útoku je nutné odfiltrovat útočné pakety. Obě cesty jsem již naznačil: jedna je manuální filtrace spolu s druhou stranou, druhá je mnohem elegantnější a nevyžaduje vaši přítomnost. Stačí použít inteligentní IDS jako je RealSecure, který umí automaticky právě takové filtrování nastavit přímo na firewallu. Obdobnou funkci ve spojení s Event Orchestrator zajišťuje CyberCop Monitor, který umí v reálném čase upravovat pravidla Gauntlet firewallu. Je potřeba si uvědomit, že úplný zákaz služby také není řešení, protože to je přesně to, čeho chtěl útočník dosáhnout.

Přestěhujte cíl

Cílový systém není nutné fyzicky stěhovat, ale stačí mu přidělit jinou IP adresu. Zároveň s tím je potřeba změnit DNS záznam a případně pozměnit směrovací tabulky. DoS i DDoS používají DNS lookup před vlastním útokem a potom používají pouze IP adresu, proto zbytek útočných paketů nebude doručen, protože není kam a novou adresu si nezjistí. Takové řešení je velmi rychlé, ale bohužel ne vždy možné, proto je potřeba si uvědomit veškeré důsledky změny IP adresy.

Logujte, logujte, logujte...

Bezpečně si uchovejte veškeré logy zúčastněných přepínačů, firewallů, skenerů aj. V době útoku použijte na nějakém dostatečně rychlém serveru (ne na tom pod útokem) tcpdump, snoop nebo jiný příkaz k zachycení veškerého provozu spojeného s útokem. Tato data můžou později sloužit k vyhledání všech zranitelných míst, které byly použity k útoku. Také velmi dobře poslouží v případném soudním sporu s útočníkem anebo ve sporu s jinou postiženou společností, kdy vaše síť byla zneužita pouze jako zrcadlo útoku, se kterým jste vlastně neměli nic společného.

Závěr

Co říci na závěr? Snažil jsem se podat co nejucelenější přehled o tom, jak se bránit DoS atakům. Pokud vám zde něco chybí, podívejte se na přiložené odkazy. Přidám ještě jednu obecnou radu. Snažte se co nejvíce svých serverů schovat za ochranou zeď. A ty, co schovat nemůžete, důkladně „opečujte“, ať je vaše síť co nejméně lákavá pro potenciálního útočníka. Pokud nevíte, jak je vaše síť viditelná z Internetu, doporučuji přehlednou grafickou službu ASP na www.qualys.com.
  • www.cert.org - Asi nejznámější centrum na bezpečnost IS.
  • www.securityfocus.com - Velmi komplexní portál o bezpečnosti. Například BugTraq je jeden z mailing listů zmíněného webu.
  • www.ciac.com - Diskusní skupina přidružená k výzkumné a prjektové společnosti pracující převážně pro americkou vládu a finanční sektor.
  • www.securitysearch.net - Bezpečnostní vyhledávač.
  • www.idefense.com - Domovská stránka servisní organizace s kvalitními dokumenty.
Diskuze (7) Další článek: Chladiče 5. - test

Témata článku: , , , , , , , , , , , , , , , , , , , , , , , ,