Programovanie

Sprievodca prevenciou útokov DDoS na báze DNS

Pokiaľ ide o DNS, knihu napísal doslova kriket Liu. Je spoluautorom všetkých piatich vydaní O'Reillyho knihy „DNS and BIND“, ktorá sa všeobecne považuje za definitívneho sprievodcu všetkými vecami súvisiacimi so systémom doménových mien. Cricket je v súčasnosti hlavným dôstojníkom infraštruktúry v spoločnosti Infoblox.

DNS je jednoznačne dôležitou súčasťou počítačovej siete, existujú však obdobia, v ktorých je možné tieto nástroje zneužiť. Na tohtotýždňovom Novom technickom fóre sa Cricket zameriava na rastúci problém DDoS útokov založených na DNS a na to, ako s nimi zaobchádzať. - Paul Venezia

DDoS útoky založené na DNS: Ako fungujú a ako ich zastaviť

DDoS založený na DNS (distribuovaný útok odmietnutia služby) sa stal jedným z najbežnejších deštruktívnych útokov na internete. Ako však fungujú? A čo môžeme urobiť, aby sme sa proti nim bránili?

V tomto článku popíšem, ako útoky DDoS využívajú a cieľovú infraštruktúru DNS. Ukážem vám tiež, čo môžete urobiť, aby ste chránili seba a ostatných.

Veľký podvod

Generovanie útoku DDoS pomocou infraštruktúry DNS je pozoruhodne jednoduché: Útočníci posielajú dotazy na menné servery cez internet a tieto menné servery vracajú odpovede. Namiesto odosielania dotazov z ich vlastných adries IP však útočníci falšujú adresu svojho cieľa - čo môže byť webový server, smerovač, iný menný server alebo takmer akýkoľvek uzol na internete.

Falošné dotazy DNS sú obzvlášť ľahké, pretože sa zvyčajne prenášajú cez UDP (protokol User Datagram Protocol bez pripojenia). Odoslanie dotazu DNS z ľubovoľnej adresy IP je asi také jednoduché a má zhruba rovnaký efekt ako napísanie spiatočnej adresy niekoho iného na pohľadnicu.

Falošné dotazy však nestačia na to, aby zneškodnili cieľ. Ak by odpovede na tieto dotazy neboli väčšie ako samotné dotazy, útočník by urobil rovnako dobre, keby zaplavil cieľ falošnými dopytmi. Nie, aby sa maximalizovalo poškodenie cieľa, mal by každý dopyt vracať veľmi veľkú odpoveď. Ukázalo sa, že je to veľmi ľahké vyvolať.

Od príchodu EDNS0, sady rozšírení DNS zavedenej v roku 1999, boli správy DNS založené na UDP schopné prenášať veľa údajov. Odozva môže byť až 4 096 bajtov. Na druhej strane väčšina dotazov má menej ako 100 bajtov.

Kedysi bolo v internetovom priestore mien pomerne ťažké nájsť takú veľkú odpoveď. Ale teraz, keď organizácie začali zavádzať DNSSEC, rozšírenie zabezpečenia DNS, je to oveľa jednoduchšie. DNSSEC ukladá kryptografické kľúče a digitálne podpisy do záznamov v mennom priestore. Tieto sú pozitívne enormné.

Na mojom blogu si môžete pozrieť príklad odpovede zo zóny isc.org, ktorá obsahuje záznamy DNSSEC. Veľkosť odpovede je 4 077 bajtov, v porovnaní s dotazom iba 44 bajtov.

Teraz si predstavte útočníkov z celého Internetu, ktorí odosielajú tento falošný dopyt z adresy IP vášho webového servera na menné servery isc.org. Na každý 44-bajtový dotaz dostane váš webový server 4 077-bajtovú odpoveď, čo predstavuje faktor zosilnenia takmer 93-krát.

Poďme rýchlo vypočítať, aby sme zistili, aké zlé to môže byť. Povedzme, že každý útočník má relatívne skromné ​​pripojenie k internetu rýchlosťou 1 Mb / s. Môže odoslať asi 2 840 44-bajtových dotazov cez tento odkaz za sekundu. Výsledkom tohto toku dotazov by bolo, keby sa na váš webový server dostali odpovede v hodnote takmer 93 Mb / s. Každých 11 útočníkov predstavuje 1 Gb / s.

Kde by asociálni útočníci našli 10 priateľov, ktorí by im pomohli s útokom? Vlastne žiadne nepotrebujú. Budú používať botnet tisícov počítačov.

Konečný efekt je zničujúci. Vo svojej štvrťročnej globálnej správe DDoS Attack Report spoločnosť Prolexic (spoločnosť zmierňujúca DDoS) uviedla nedávny útok založený na DNS proti zákazníkovi, ktorý prekonal 167 Gbps. Prolexic ďalej uviedol, že priemerná šírka pásma útoku DDoS bola až 718 percent na 48 Gb / s za jediný štvrťrok.

Ale počkaj! Nemohli sa názvové servery isc.org upraviť tak, aby rozpoznávali, že sa na ne neustále pýtajú rovnaké údaje z rovnakej adresy IP? Nemohli umlčať útok?

Určite môžu. Názvové servery isc.org však nie sú jediné, ktoré môže útočník použiť na zosilnenie svojej prevádzky. Iste, útočník by mohol použiť ďalšie autoritatívne menné servery, ale ešte horšie sú otvorené rekurzívne menné servery.

Otvorený rekurzívny menný server je jednoducho menný server, ktorý bude spracovávať rekurzívne dotazy z ľubovoľnej adresy IP. Môžem mu poslať ten dopyt na údaje isc.org, odpovie mi a ty môžeš urobiť to isté.

Na internete by nemalo byť veľa otvorených rekurzívnych menných serverov. Funkciou rekurzívneho menného servera je vyhľadávať údaje v mennom priestore internetu v mene klientov DNS, ako sú napríklad údaje vo vašom notebooku alebo smartfóne. Správcovia sietí, ktorí nastavujú rekurzívne menné servery (napríklad vaše IT oddelenie), ich zvyčajne zamýšľajú na použitie v konkrétnej komunite (napríklad vy a vaši spolupracovníci). Pokiaľ nepoužívajú služby ako OpenDNS alebo Google Public DNS, neznamená to, že ich majú občania Moldavska využívať. Takže verejne temperamentný, zameraný na bezpečnosť a hlavne kompetentný správcovia konfigurujú riadenie prístupu na svojich rekurzívnych názvových serveroch tak, aby obmedzili ich použitie na autorizované systémy.

Vzhľadom na to, aký veľký problém by mohli byť rekurzívne menné servery? Dosť veľký. Projekt Open Resolver zhromaždil zoznam 33 miliónov otvorené rekurzívne menné servery. Hackeri môžu spúšťať falošné dotazy na toľko z nich, koľko by chceli chrliť údaje isc.org na vašom webovom serveri, názvovom serveri alebo hraničnom smerovači, kým sa dusí.

Takto fungujú DDoS útoky založené na DNS. Našťastie máme niekoľko spôsobov, ako proti nim bojovať.

Ako predvídať búrku

Prvou úlohou je vybaviť vašu infraštruktúru DNS, takže budete vedieť, že ste napadnutí. Príliš veľa organizácií vôbec netuší, aké je ich zaťaženie dotazom, takže by nikdy nevedeli, či k nim došlo v prvom rade.

Určenie načítania dotazu môže byť také jednoduché ako použitie zabudovanej podpory štatistík BIND. Menný server BIND vypíše údaje do svojho štatistického súboru, keď spustíte rndc statistics,napríklad alebo v konfigurovateľnom štatistickom intervale. Môžete preskúmať štatistické údaje týkajúce sa rýchlosti dotazov, chýb soketu a ďalších indikácií útoku. Nerobte si starosti, ak si ešte nie ste istí, ako bude útok vyzerať - súčasťou monitorovania DNS je tiež vytvorenie základnej línie, aby ste mohli zistiť, čo je nenormálne.

Ďalej sa pozrite na svoju infraštruktúru orientovanú na internet. Neobmedzujte sa na svoje externé autoritatívne menné servery; preskúmajte svoju infraštruktúru prepínačov a smerovačov, brány firewall a pripojenie k internetu. Identifikujte všetky jednotlivé body zlyhania. Zistite, či ich môžete ľahko (a nákladovo efektívne) vylúčiť.

Ak je to možné, zvážte širokú geografickú distribúciu externých autoritatívnych menných serverov. To samozrejme pomáha vyhnúť sa jednotlivým bodom zlyhania, ale pomáha to aj vtedy, keď nie ste napadnutí. Rekurzívny názvový server, ktorý vyrieši názov domény v jednej z vašich zón, sa pokúsi vyhľadať najbližší autoritatívny názvový server, takže geografické rozloženie bude mať tendenciu poskytovať lepší výkon vašim zákazníkom a korešpondentom. Ak sú vaši zákazníci zoskupení v určitých geografických oblastiach, pokúste sa umiestniť autoritatívny menný server do ich blízkosti, aby ste mohli poskytnúť najrýchlejšie odpovede.

Asi najzákladnejším spôsobom boja proti DoS útokom je preplnenie vašej infraštruktúry. Dobrou správou je, že nadmerná starostlivosť o vaše menné servery nemusí byť nevyhnutne drahá; schopný menný server dokáže spracovať desiatky alebo dokonca stovky tisíc dotazov za sekundu. Nie ste si istí, aká je kapacita vašich menných serverov? Na otestovanie výkonu svojich menných serverov môžete použiť dotazovacie nástroje, ako napríklad dnsperf - najlepšie pomocou testovacej platformy podobnej vašim produkčným menným serverom v laboratóriu, a nie samotných produkčných serverov.

Rozhodovanie o tom, koľko overprovision vašich menných serverov je subjektívne: Aká je hodnota vašej online prítomnosti? Existujú ďalšie komponenty vašej internetovej infraštruktúry, ktoré zlyhajú pred mennými servermi? Je zrejmé, že je hlúpe utrácať peniaze na vybudovanie prvotriednej infraštruktúry DNS za hraničným smerovačom alebo bránou firewall, ktorá zlyhá skôr, ako sa vaše menné servery zapotia.

Ak peniaze nie sú žiadnym predmetom, mohlo by byť užitočné vedieť, že najmodernejšie útoky DDoS na infraštruktúru DNS môžu presiahnuť 100 Gb / s.

Používanie Anycast môže tiež pomôcť odolať DDoS útoku. Anycast je technika, ktorá umožňuje zdieľať jednu adresu IP na viacerých serveroch. Obzvlášť dobre funguje s DNS. V skutočnosti koreňové názvové servery na internete už roky používajú program Anycast na poskytovanie údajov koreňovej zóny po celom svete a zároveň umožňujú, aby sa zoznam koreňov zmestil do jednej správy DNS založenej na UDP.

Ak chcete nasadiť Anycast, hostitelia podporujúci vaše menné servery budú musieť spustiť protokol dynamického smerovania, napríklad OSPF alebo BGP. Proces smerovania inzeruje na susedných smerovačoch cestu na novú virtuálnu adresu IP, na ktorej váš server s názvami počúva. Proces smerovania musí byť tiež dostatočne inteligentný na to, aby zastavil reklamu na tejto trase, ak miestny názvový server prestane reagovať. Svojho smerovacieho démona môžete prilepiť na zdravie svojho servera mien pomocou kódu vlastnej konštrukcie - alebo si môžete kúpiť produkt, ktorý sa o to postará za vás. Infoblox NIOS, nie náhodou, obsahuje podporu Anycast.

Ako sa bráni Anycast pred útokmi DDoS? Povedzme, že máte šesť externých menných serverov v dvoch skupinách Anycast (to znamená, že tri zdieľajú jednu adresu IP Anycast a tri zdieľajú ďalšiu). Každá skupina obsahuje jedného člena v Spojených štátoch, jedného v Európe a jedného v Ázii. Hostiteľ, ktorý proti vám založí útok DDoS, môže prenášať prenosy iba na jedného člena ktorejkoľvek skupiny z ľubovoľného miesta na internete - a teda iba na ňu útočí. Pokiaľ útočníci nedokážu súčasne zabezpečiť dostatok prenosu zo Severnej Ameriky, Európy a Ázie, aby zaplavili vašu infraštruktúru, neuspejú.

Na záver existuje spôsob, ako môžete súčasne využívať výhody širokej geografickej distribúcie a technológie Anycast bez významných kapitálových výdavkov: Použite cloudového poskytovateľa DNS. Spoločnosti ako Dyn a Neustar prevádzkujú vlastné dátové servery Anycast v dátových centrách po celom svete. Platíte im za to, aby hostili vaše zóny a odpovedali na otázky týkajúce sa vašich údajov. A naďalej môžete udržiavať priamu kontrolu nad údajmi o svojej zóne tým, že požiadate poskytovateľa, aby nakonfiguroval svoje menné servery ako sekundárne pre vaše zóny, a načítal údaje z hlavného menného servera, ktorý určíte a spravujete interne. Len sa uistite, že ste spustili hlavný server skrytý (to znamená, že na neho nesmeruje žiadny záznam NS), alebo riskujete, že ho útočník zameria na jediný bod zlyhania.

Jedno upozornenie pri používaní cloudových poskytovateľov DNS: Väčšina vám fakturuje aspoň čiastočne na základe počtu dotazov, ktoré dostávajú ich názvové servery pre údaje vo vašich zónach. Pri útoku DDoS sa tieto dotazy môžu dramaticky zvýšiť (úplne mimo vašu kontrolu a už vôbec nie vo váš prospech), preto sa uistite, že majú ustanovenie na riešenie útokov DDoS bez toho, aby na vás prenášali náklady na prenos.

Ako sa vyhnúť tomu, aby ste sa stali spolupáchateľmi útokov DDoS

Teraz viete, ako nakonfigurovať infraštruktúru DNS tak, aby odolala útoku DDoS. Je však rovnako dôležité zabezpečiť, aby ste sa nepodieľali na útoku DDoS proti niekomu inému.

Pamätáte si popis toho, ako môžu servery DNS zosilniť prenos? Útočníci môžu ako zosilňovače používať otvorené rekurzívne menné servery aj autoritatívne menné servery, ktoré posielajú falošné dotazy, ktoré spôsobujú, že menné servery odosielajú odpovede na ľubovoľné ciele na internete viac ako stokrát väčšie ako dopyt. Teraz, samozrejme, nechcete byť terčom takéhoto útoku, ale nechcete byť ani komplicom. Útok využíva zdroje vašich menných serverov, ako aj vašu šírku pásma. Ak cieľ prijme opatrenia na blokovanie prenosu z vášho servera mien na jeho sieť, potom po ukončení útoku nemusí byť schopný rozpoznať názvy domén vo vašich zónach.

Ak spustíte otvorený rekurzívny menný server, riešenie je jednoduché: Nepoužívajte. Existuje len veľmi málo organizácií, ktoré majú nejaké dôvody na spustenie menného servera otvoreného pre rekurzívne dotazy. Google Public DNS a OpenDNS sú dve, ktoré vám prídu na myseľ, ale ak to čítate, myslím, že nimi asi nie ste. My ostatní by sme mali aplikovať kontroly prístupu na naše rekurzívne menné servery, aby sme sa ubezpečili, že ich používajú iba autorizovaní dotazy. To pravdepodobne znamená obmedziť dotazy DNS na adresy IP v našich interných sieťach, čo je ľahké urobiť pri akejkoľvek implementácii menného servera, ktorá stojí za to. (Server Microsoft DNS nepodporuje pri prístupoch kontroly prístupu založené na IP adresách. Do toho si prečítajte, čo chcete.)

Čo však v prípade, že prevádzkujete autoritatívny menný server? Je zrejmé, že nemôžete obmedziť adresy IP, z ktorých budete prijímať dotazy - alebo vôbec nie (môžete odmietnuť dotazy zo zjavne falošných adries IP, ako sú adresy RFC 1918). Odpovede však môžete obmedziť.

Dva dlhoročné „biele klobúky“ na internete, Paul Vixie a Vernon Schryver, realizovali útoky DDoS, ktoré na zosilnenie využívajú autoritatívne menné servery, vykazujú určité vzory dotazov. Útočníci predovšetkým zasielajú menným serverom stále rovnaké dotazy z rovnakej falošnej adresy IP (alebo bloku adries), pričom sa snažia o maximálne zosilnenie. Žiadny dobre vychovaný rekurzívny menný server by to neurobil. Odpoveď by sa uložila do medzipamäte a nepožiadala by sa znova, kým neuplynie čas potrebný na zaznamenávanie záznamov v odpovedi.

$config[zx-auto] not found$config[zx-overlay] not found