Co se týče DNS, Cricket Liu doslova napsal knihu. Je spoluautorem všech pěti vydání knihy „DNS a BIND“ nakladatelství O’Reilly, která je obecně považována za definitivního průvodce v oblasti všeho, co se týká systému doménových jmen. Cricket je v současné době ředitelem infrastruktury ve společnosti Infoblox.
DNS je nepochybně důležitou součástí počítačových sítí, ale existují případy, kdy mohou být tyto nástroje zneužity k nekalým účelům. V pořadu New Tech Forum se tento týden Cricket podívá na rostoucí problém útoků DDoS založených na DNS a na to, jak se s nimi vypořádat. — Paul Venezia
Útoky DDoS založené na DNS: Jak fungují a jak je zastavit
Útok DDoS založený na DNS (distributed denial-of-service attack) se stal jedním z nejčastějších destruktivních útoků na internetu. Jak ale fungují? A jak se proti nim můžeme bránit?
V tomto článku popíšu, jak útoky DDoS využívají infrastrukturu DNS a jak se na ni zaměřují. Ukážu vám také, co můžete udělat, abyste ochránili sebe i ostatní.
Velký podvrh
Vytvoření útoku DDoS pomocí infrastruktury DNS je pozoruhodně jednoduché: Útočníci posílají dotazy na jmenné servery po celém internetu a tyto jmenné servery vracejí odpovědi. Místo odesílání dotazů ze svých vlastních IP adres však útočníci podvrhnou adresu svého cíle, kterým může být webový server, směrovač, jiný jmenný server nebo téměř jakýkoli uzel na internetu.
Podvrhnutí dotazů DNS je obzvláště snadné, protože jsou obvykle přenášeny protokolem UDP (User Datagram Protocol) bez spojení. Odeslání dotazu DNS z libovolné IP adresy je přibližně stejně jednoduché a má zhruba stejný účinek jako napsání cizí zpáteční adresy na pohlednici.
Podvržení dotazů však nestačí k vyřazení cíle z provozu. Pokud by odpovědi na tyto dotazy nebyly větší než dotazy samotné, udělal by útočník stejně dobře, kdyby cíl zahltil podvrženými dotazy. Ne, aby se maximalizovalo poškození cíle, měl by každý dotaz vrátit velmi velkou odpověď. Ukazuje se, že to lze velmi snadno vyvolat.
Od nástupu EDNS0, sady rozšíření DNS zavedené v roce 1999, mohou zprávy DNS založené na protokolu UDP přenášet velké množství dat. Odpověď může mít velikost až 4 096 bajtů. Na druhou stranu většina dotazů má délku menší než 100 bajtů.
Kdysi dávno bylo poměrně obtížné najít v internetovém jmenném prostoru tak velkou odpověď. Nyní, když organizace začaly zavádět DNSSEC, rozšíření zabezpečení DNS, je to však mnohem snazší. DNSSEC ukládá kryptografické klíče a digitální podpisy do záznamů v prostoru názvů. Ty jsou pozitivně obrovské.
Na mém blogu si můžete prohlédnout příklad odpovědi ze zóny isc.org, která obsahuje záznamy DNSSEC. Velikost odpovědi je 4077 bajtů ve srovnání s dotazem o velikosti pouhých 44 bajtů.
Teď si představte útočníky z celého internetu, kteří posílají tento podvržený dotaz z IP adresy vašeho webového serveru na jmenné servery isc.org. Na každý 44bajtový dotaz obdrží váš webový server 4 077bajtovou odpověď, což představuje téměř 93násobné zesílení.
Provedeme rychlý výpočet, abychom zjistili, jak špatné to může být. Řekněme, že každý útočník má relativně skromné připojení k internetu o rychlosti 1 Mb/s. Přes toto spojení může odeslat přibližně 2840 44bajtových dotazů za sekundu. Tento proud dotazů by vedl k tomu, že by na váš webový server dorazily odpovědi v hodnotě téměř 93 Mb/s. Každých 11 útočníků představuje 1Gb/s.
Kde by asociální útočníci našli 10 přátel, kteří by jim pomohli útok provést? Ve skutečnosti žádné nepotřebují. Použijí botnet složený z tisíců počítačů.
Konečný efekt je zničující. Ve své čtvrtletní zprávě o globálních útocích DDoS uvedla společnost Prolexic (společnost zabývající se mitigací DDoS) nedávný útok na zákazníka založený na DNS, jehož rychlost přesáhla 167 Gbps. Společnost Prolexic dále uvedla, že průměrná šířka pásma útoku DDoS se za jediné čtvrtletí zvýšila o 718 % na 48 Gb/s.
Ale počkejte! Nešlo by jmenné servery isc.org upravit tak, aby rozpoznaly, že jsou stále dokola dotazovány na stejná data, a to ze stejné IP adresy? Nemohly by útok potlačit?
Jistě mohou. Ale jmenné servery isc.org nejsou jediné, které může útočník použít k zesílení svého provozu. Jistě, existují i jiné autoritativní jmenné servery, které může útočník použít, ale ještě horší jsou otevřené rekurzivní jmenné servery.
Otevřený rekurzivní jmenný server je jednoduše jmenný server, který zpracuje rekurzivní dotazy z libovolné IP adresy. Mohu mu poslat dotaz na data isc.org a on mi odpoví a vy můžete udělat totéž.
Na internetu by nemělo být mnoho otevřených rekurzivních jmenných serverů. Úkolem rekurzivního jmenného serveru je vyhledávat data v internetovém jmenném prostoru jménem klientů DNS, například těch ve vašem notebooku nebo smartphonu. Správci sítě, kteří nastavují rekurzivní jmenné servery (například oddělení IT), je obvykle zamýšlejí používat pro určitou komunitu (například pro vás a vaše kolegy). Pokud neprovozují služby jako OpenDNS nebo Google Public DNS, nemají v úmyslu, aby je používali občané Moldavska. Proto veřejně prospěšní, bezpečnostně smýšlející a hlavně kompetentní správci konfigurují na svých rekurzivních jmenných serverech řízení přístupu, aby omezili jejich používání na autorizované systémy.
Za těchto okolností, jak velký problém mohou otevřené rekurzivní jmenné servery představovat? Dost velký. Projekt Open Resolver Project shromáždil seznam 33 milionů otevřených rekurzivních jmenných serverů. Hackeři mohou na libovolný počet z nich posílat podvržené dotazy a chrlit data isc.org na váš webový server, jmenný server nebo hraniční směrovač, dokud se nezadusí.
Tak fungují útoky DDoS založené na DNS. Naštěstí máme několik způsobů, jak proti nim bojovat.
Jak přečkat bouři
Prvním úkolem je instrumentace infrastruktury DNS, abyste věděli, kdy jste pod útokem. Příliš mnoho organizací nemá představu o tom, jaké je zatížení jejich dotazů, takže se nikdy nedozví, zda jsou vůbec napadeny.
Zjištění zatížení dotazů může být tak jednoduché, jako použití vestavěné podpory statistik systému BIND. Jmenný server BIND vypíše data do svého statistického souboru například při spuštění příkazu rndc stats nebo v konfigurovatelném statistickém intervalu. Ve statistikách můžete zkoumat četnost dotazů, chyby v soketech a další příznaky útoku. Nebojte se, pokud si zatím nejste jisti, jak bude útok vypadat – součástí cíle monitorování DNS je stanovit výchozí úroveň, abyste mohli identifikovat, co je nenormální.
Příště se podívejte na svou infrastrukturu směřující do internetu. Neomezujte se pouze na externí autoritativní jmenné servery; prozkoumejte infrastrukturu přepínačů a směrovačů, firewallů a připojení k internetu. Identifikujte všechna jednotlivá místa selhání. Zjistěte, zda je můžete snadno (a nákladově efektivně) odstranit.
Pokud je to možné, zvažte široké geografické rozložení externích autoritativních názvových serverů. To samozřejmě pomáhá vyhnout se jednotlivým bodům selhání, ale také to pomáhá, když nejste napadeni. Rekurzivní jmenný server překládající doménové jméno v některé z vašich zón se bude snažit dotazovat nejbližší autoritativní jmenný server, takže geografické rozložení bude mít tendenci zajistit lepší výkon pro vaše zákazníky a korespondenty. Pokud jsou vaši zákazníci soustředěni v určitých geografických oblastech, snažte se umístit autoritativní jmenný server v jejich blízkosti, aby poskytoval co nejrychlejší odpovědi.
Snad nejzákladnějším způsobem boje proti útokům DoS je nadměrné vybavení infrastruktury. Dobrou zprávou je, že nadměrné vybavení jmenných serverů nemusí být nutně nákladné; schopný jmenný server zvládne desítky nebo dokonce stovky tisíc dotazů za sekundu. Nejste si jisti, jaká je kapacita vašich jmenných serverů? K otestování výkonu jmenných serverů můžete použít dotazovací nástroje, jako je dnsperf – nejlépe pomocí testovací platformy podobné vašim produkčním jmenným serverům v laboratoři, nikoliv na samotných produkčních serverech.
Rozhodování o tom, jak moc naddimenzovat jmenné servery, je subjektivní: Jakou hodnotu má vaše online prezentace? Existují jiné součásti vaší infrastruktury zaměřené na internet, které selžou dříve než jmenné servery? Je samozřejmě pošetilé utrácet peníze za vybudování prvotřídní infrastruktury DNS za hraničním směrovačem nebo bránou firewall, která selže mnohem dříve, než se vaše jmenné servery vůbec zapotí.
Pokud vám na penězích nezáleží, může být užitečné vědět, že nejmodernější útoky DDoS na infrastrukturu DNS mohou přesáhnout 100 Gb/s.
Útoku DDoS může pomoci odolat také použití technologie Anycast. Anycast je technika, která umožňuje více serverům sdílet jednu IP adresu a funguje obzvláště dobře u DNS. Internetové kořenové jmenné servery ve skutečnosti již léta používají technologii Anycast k poskytování dat kořenových zón po celém světě a zároveň umožňují, aby se seznam kořenů vešel do jediné zprávy DNS založené na protokolu UDP.
Pro nasazení technologie Anycast musí hostitelé podporující vaše jmenné servery používat dynamický směrovací protokol, například OSPF nebo BGP. Směrovací proces bude svým sousedním směrovačům inzerovat trasu na novou virtuální IP adresu, na které naslouchá váš jmenný server. Směrovací proces musí být také dostatečně inteligentní, aby přestal tuto trasu inzerovat, pokud místní jmenný server přestane odpovídat. Směrovacího démona můžete přilepit ke stavu svého jmenného serveru pomocí kódu vlastní konstrukce – nebo si můžete koupit produkt, který se o to postará za vás. NIOS od společnosti Infoblox nikoli náhodou obsahuje podporu služby Anycast.
Jak se Anycast brání proti útokům DDoS? No, řekněme, že máte šest externích jmenných serverů ve dvou skupinách Anycast (to znamená, že tři sdílejí jednu IP adresu Anycast a tři jinou). Každá skupina obsahuje jednoho člena ve Spojených státech, jednoho v Evropě a jednoho v Asii. Hostitel, který proti vám připravuje útok DDoS, může z libovolného místa na internetu posílat přenosy – a tedy útočit – pouze na jednoho člena obou skupin. Pokud útočníci nezískají dostatečné množství provozu ze Severní Ameriky, Evropy a Asie současně, aby zahltili vaši infrastrukturu, neuspějí.
Nakonec existuje způsob, jak můžete využít výhod širokého geografického rozložení a služby Anycast současně, aniž byste museli vynaložit značné kapitálové náklady: Použijte poskytovatele DNS založeného na cloudu. Společnosti jako Dyn a Neustar provozují vlastní jmenné servery Anycast v datových centrech po celém světě. Platíte jim za hostování vašich zón a zodpovídání dotazů na vaše data. A můžete si i nadále zachovat přímou kontrolu nad daty svých zón tím, že požádáte poskytovatele, aby nakonfiguroval své jmenné servery jako sekundární pro vaše zóny a načítal data z hlavního jmenného serveru, který určíte a spravujete sami. Jen se ujistěte, že hlavní server provozujete skrytě (tj. bez záznamu NS, který by na něj ukazoval), jinak riskujete, že se na něj útočník zaměří jako na jediný bod selhání.
Jedno upozornění při používání cloudových poskytovatelů DNS: Většina z nich vám účtuje alespoň částečně podle počtu dotazů, které jejich jmenné servery obdrží na data ve vašich zónách. Při útoku DDoS se může počet těchto dotazů dramaticky zvýšit (zcela mimo vaši kontrolu a vůbec ne ve váš prospěch), takže se ujistěte, že mají ustanovení pro řešení útoků DDoS, aniž by náklady na provoz přenášeli na vás.
Jak se nestát spoluviníkem útoků DDoS
Teď už víte, jak nakonfigurovat infrastrukturu DNS, aby odolala útoku DDoS. Téměř stejně důležité je však zajistit, abyste se nestali spoluviníky útoku DDoS proti někomu jinému.
Pamatujete si na popis toho, jak mohou servery DNS zesilovat provoz? Útočníci mohou používat otevřené rekurzivní jmenné servery i autoritativní jmenné servery jako zesilovače a odesílat podvržené dotazy, které způsobí, že jmenné servery odešlou odpovědi více než stokrát větší než dotaz libovolným cílům na internetu. Samozřejmě nechcete být cílem takového útoku, ale nechcete být ani jeho spoluviníkem. Útok využívá prostředky vašich jmenných serverů i šířku pásma. Pokud cíl přijme opatření k zablokování provozu z vašeho jmenného serveru do své sítě, pak po skončení útoku nemusí být cíl schopen překládat doménová jména ve vašich zónách.
Provozujete-li otevřený rekurzivní jmenný server, je řešení jednoduché: Nedělejte to. Existuje jen velmi málo organizací, které mají nějaké opodstatnění pro provozování jmenného serveru otevřeného pro rekurzivní dotazy. Napadají mě dvě společnosti: Google Public DNS a OpenDNS, ale pokud čtete tento článek, asi k nim nepatříte. My ostatní bychom měli na své rekurzivní jmenné servery aplikovat řízení přístupu a zajistit, aby je používali pouze oprávnění tazatelé. To pravděpodobně znamená omezit dotazy DNS na IP adresy v našich vnitřních sítích, což lze snadno provést v každé implementaci jmenného serveru, která stojí za to (Server DNS společnosti Microsoft nepodporuje řízení přístupu k dotazům na základě IP adres. Přečtěte si o tom, co chcete.)
Ale co když provozujete autoritativní jmenný server? Je zřejmé, že nemůžete omezit IP adresy, ze kterých budete přijímat dotazy – nebo alespoň ne příliš (můžete odmítnout dotazy ze zjevně falešných IP adres, jako jsou adresy RFC 1918). Můžete však omezit odpovědi.
Dva dlouholetí internetoví „bílí klobouci“, Paul Vixie a Vernon Schryver, si uvědomili, že útoky DDoS, které používají autoritativní jmenné servery k zesílení, vykazují určité vzory dotazů. Útočníci zejména posílají jmenným serverům stále stejný dotaz ze stejné podvržené IP adresy (nebo bloku adres) a snaží se o maximální zesílení. To by žádný dobře ošetřený rekurzivní jmenný server neudělal. Odpověď by uložil do mezipaměti a znovu by se neptal, dokud by neuplynula doba života záznamů v odpovědi.
Vixie a Schryver přišli s chytrým mechanismem nazvaným Response Rate Limiting (RRL), který umožňuje autoritativnímu jmennému serveru sledovat, jak často odeslal stejnou odpověď stejnému tazateli. Pokud tato četnost překročí určitou konfigurovatelnou hranici, jmenný server přestane tuto odpověď tazateli po stanovenou dobu posílat. Pokud tazatel přestane zasílat autoritativnímu jmennému serveru stejnou otázku, autoritativní jmenný server přestane tuto odpověď zasílat. Výsledkem je, že autoritativní jmenný server nikdy neodešle kverulantovi žádnou odpověď s rychlostí vyšší než prahová hodnota, což jej činí nepoužitelným při útoku DDoS.
RRL byl začleněn do jmenných serverů BIND ve verzi 9.9.4 a nyní jej podporuje několik dalších implementací jmenných serverů, včetně NSD a Knot. Jak budou lidé upgradovat své jmenné servery na novější verze nebo nové implementace podporující RRL, mělo by to útočníkům postupně ztížit používání infrastruktury DNS jako zesilovačů.
Doufám, že vám tato diskuse pomohla pochopit, jak je infrastruktura DNS cíleně napadána a zneužívána při útocích DDoS a jak se můžete nejlépe bránit útokům DDoS a zajistit, aby se vaše jmenné servery, aniž byste to věděli, žádného takového útoku nezúčastnily.
New Tech Forum poskytuje prostředky pro zkoumání a diskusi o nových podnikových technologiích v nebývalé hloubce a šíři. Výběr je subjektivní, vychází z našeho výběru technologií, které považujeme za důležité a čtenáře InfoWorldu nejvíce zajímají. InfoWorld nepřijímá ke zveřejnění marketingové materiály a vyhrazuje si právo upravovat veškerý přispívaný obsah. Veškeré dotazy zasílejte na adresu [email protected].
Tento článek, „The ultimate guide to preventing DNS-based DDoS attacks“, byl původně zveřejněn na webu InfoWorld.com. Chcete-li získat nejnovější zprávy o podnikových technologiích, sledujte InfoWorld.com na Twitteru.