To řešení s cachováním přece nebylo myšlené jako způsob, jak chránit DNS servery, ale způsob, jak zachovat fungování webu i v případě, kdy je DNS server nedostupný.
Nemyslím si, že by v tomto případě UDP stěžovalo obranu. UDP má tu výhodu, že si server nemusí nic pamatovat – prostě přijme požadavek, sestaví odpověď a požadavek zahodí.
Jak to řešit v budoucnu je jasné, řešení je jediné a za ty tisíce let, co se používá, se osvědčilo – je to odpovědnost za to, co ovládám. Stejně jako funguje v hmotném světě, bude muset fungovat i na internetu. Majitel sítě bude zodpovědný za to, co ze sítě odchází, tu zodpovědnost přenese na účastníky připojené v síti, a ti zase budou požadovat po výrobcích zařízení, aby ta zařízení dělala to, co chce právoplatný majitel, a ne co chce nějaký hacker. Jedinou otázkou je, jak dlouho bude trvat, než se k tomu dostaneme, a jak moc si zkomplikujeme cestu.
"datacentra se řeší přes bgp, nikoliv přes dns"
Neni rec o smerovani, ale o rozkladani zateze a to se prave dela pres DNS, pres BGP to delat ani nelze. BGP tak maximalne umi zareagovat na zatizeni, pripadne vypadek, konkretni linky, ale ne na zatizeni jednotlivych serveru. Kdezto dns umi vracet klidne na kazdy jeden dotaz jinou odpoved, coz pochopitelne nefunguje, pokud si odpoved drzi dlouhodobe cache. V pripade mensich ISP by to asi bylo jedno, ale v pripade tech, kteri maji stovky tisic klientu, by to vedlo k pomerne slusnemu DDOSu na tu adresu, kterou si zrovna jejich DNS pamatuje.
směrování do datacentra se řeší přes bgp, nikoliv přes dns, btw.
tady proudilo obrovské mnžoství dotazů na neexistující subdomény a to se musí vždy probublat k autoritativnímu serveru a nemůže to jednoduše vyřešit cache.
Návrh DNS není příliš zlej, ale udp stěžuje obranu a takovouhle silou se dá vyřadit, otázka pro chytré hlavy jak to řešit v budoucnu.
Problémy jsou tam dva. Za prvé, DNS vzniklo v úplných začátcích internetu, kdy nikoho nenapadlo, že DNS servery vyřadí DDoS útoky. Počítalo se s tím, že DNS serverů bude pro každou doménu několik v různých sítích, čímž se řešila nedostupnost některého z nich. Za druhé, služby Dyn využívají provozovatelé cloudových řešení, kde se DNS používá pro rozkládání zátěže a směrování na funkční lokality. To je důvod, proč mají příslušné DNS záznamy velmi krátkou dobu platnosti, tedy proč nevydrží dlouho v cache. A je otázka, jak by se to celé chovalo, pokud by se v takovémhle případě odpovědi cachovaly nad rámec povolené doby – zda by třeba velká část provozu nezačala směřovat do jednoho datacentra. Vím, že takovému vývoji nic nenasvědčuje, ale jde o dynamický systém, takže je těžké předvídat, jak by se choval doopravdy.
No a pak má samozřejmě vliv i to, že je to první takhle velký útok tohoto typu a poprvé, kdy by cachování záznamů i po jejich platnosti něčemu výrazně pomohlo. Což je důvod, proč taková obrana dosud nebyla, a je otázka, zda má smysl kvůli jednomu případu měnit funkční postupy. Zvlášť když by to řešilo jenom jeden projev problému – skutečným problémem jsou ale ty DDoS útoky, a je potřeba řešit ty. Protože pokaždé, když vymyslíme obranu proti jednomu typu útoku, přijde někdo s jiným typem. Takže si musíme říct, zda chceme současný Internet přenechat podsvětí a vedle si vybudujeme Internet nový, kde budou koncoví uživatelé i ISP zodpovědní za svou síť, a nebo zda takhle proměníme rovnou ten stávající Internet.
Par komentaru:
Preci se da rozlisit mezi neexistenci DNS zaznamu a nedostupnosti DNS sluzeb, ne? Resp. mezi "prisla odpoved NEEXISTUJE" a "neprisla zadna odpoved / timeout na vsech nastavenych DNS resolverech".
Pripominam, ze se zajimam o (vzacne) pripady, kdy DNS nefunguje a Internet ano. Pokud nefunguje ani jedno, je celkem fuk, co system dela. Funguje-li oboje, reseni, ktere navrhuju, se nepouzije. A spocitam-li si pravdepodobnost, ze a) nefunguje DNS, a b) mnou pouzivana sluzba prave prestala existovat a jeji IP adresu prevzal nekdo se zlymi umysly... Tak bych do toho sel =) Koneckoncu, kdo chce mit jistotu, ze se opravdu pripojuje na spravnou adresu, ten stejne potrebuje DNSSEC, a to uz je jina debata.
Jenze on neexistuje zadny dns zaznam, ktery by rikal, ze domena neexistuje, tudiz nedostupnost dns zaznamu je interpretovana, a naprosto spravne, prave takto.
Pokud by se to chovalo tak jak si prejete vy (nic vam nebrani si to tak nastavit), tak se vam (jak uz bylo zmineno) bude bezne stavat to, ze polezete na nejakou IP, ktera ve skutecnosti uz davno (dny a vice) patri nebo ji pouziva nekdo uplne jiny pro poskytovani jinych sluzeb. A to je problem. Predevsim prave pro vas. Posilate mu totiz sva data, a on nema vubec zadny problem odchytit si napriklad vase cookie.
No jo, DNS může cachovat co chce, dokud jde normální provoz na adresy typu www.domena.cz, tak to funguje a velmi efektivně. Ale když, jako v tomhle případě, místo www.* jdou dotazy na náhodná jména, musí každý z nich projít až k autoritativnímu NS, který teprve může říct "tahle adresa opravdu neexistuje". To se všude nacachuje a přístě přijde dotaz na jiné náhodné jméno - to samo o sobě je ve svém důsledku velmi důkladný DDOS na ten cílový NS...
Jasne, vim. Slo mi o to, jak se systemy chovaji, pokud cache vyprsi a k DNS zaznamu online se nemuzou dostat. V tuhle chvili to proste interpretuji tak, ze domena neexistuje. Prislo by mi uzitecnejsi, kdyby OS zaznamy v cache drzel dele prave pro takovehle pripady. Obcas by sice byly nejake false negatives (kdyz domena opravdu prestane existovat), ale to vidim jako okrajovy pripad.
DNS se samozrejme cachuje, a jak dlouho se zaznam uchova zavisi prekvapive prave na tom, jak to nastavi drzitel domeny. Muze to byt v minutach, ale i v mesicich. Pricemz neprakticke je jedno i druhe. Kratky interval generuje zbytecnou zatez na primarni servery, dlouhy zase efektivne znemoznuje cokoli menit.
Druha vec je, jestli se tech pravidel drzi dns, ktery pouzivate vy.
Vrta mi hlavou, proc je vlastne DNS nastavene tak, jak je nastavene... Kdyby se totiz predpokladalo, ze IP adresy se prevazne nemeni, mohl by OS cachovat udaje z DNS po docela dlouhou dobu... Pokud se pri dalsim dotazu nepodari DNS server kontaktovat, pouzil by se nacachovany zaznam...
Mam ale pocit, ze moje OS (Windows, Ubuntu) to s cachovanim DNS nijak vyrazne neprehani - prakticky pokazde, kdyz se odpojim od internetu, tak duvod pro nezobrazeni stranky v prohlizeci je "couldn't resolve DNS name", a ne "couldn't connect to server".