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.
Uzivatele nejaka abstraktni bezpecnost nezajima. Hromada pojmu o kterych nemam tuseni, spousta zkratek...
Funguje mne wifina? Funguje. Usetril jsem tri stovky, usetril.
Co s tim udelate?
Situace je trosku podobna jako napr. s katalyzatory do aut. Kdyz to byla jen dobrovolna priplatkova vybava, tak to nikdo nekupoval...
Tim nerikam, ze je mozne naridit, aby vse, co se muze pripojit do site melo nekym narizeno nejakou uroven bezpeci. Ale snazim se rict, ze nemuzete ocekavat od normalnich lidi, ze budou vybirat "nejak" vyrobky podle toho, jestli jsou dobre zabezpeceny. To jako maji prolezat fora a zjistovat, jaky ma ten FW problemy? Jak ma zjistit, ze vyrobce uz nikdy neudela update?
Proste lidi to kupovat budou.
Nedavno po nasem internetu probehlo, ze u 50% aut je katalyzator/filtr pevnych castich bud castecne nebo zcela nefunkcni. Neni se co divit. Ono totiz pri nasich prijmech (i tech prumernych, a jiste to znate s tim kuretem), neni automobil zrovna spotrebni zbozi, kterej za rok zahodite a koupite si nove.
Jenze ... opravdu by mne zajimalo, zda nekdo z tech ekologistu (narozdil od ekologa jde o fanatika ktery se chova stejne jako fanaticky verici) zkusil alespon odhadnout, kolik emisi vygeneruje vyroba noveho automobilu. Ono by to totiz velice pravdepodobne vyslo tak, ze je mnohem lepsi, provozovat i 30 let stary automobil naprosto bez jakyhkoli "snizovacu vykonu".
Mimochodem http://auto.idnes.cz/patnact-nejvetsich-lodi-znecisti-zivotni-prostredi-vice-nez-vsechna-auta-sveta-gdn-/automoto.aspx?c=A090426_191128_automoto_vok Tech lodi jsou desitky tisic.
Jenze to vase zarizeni nedela vubec nic spatneho, natoz aby to vadilo vasemu ISP. Viz predchozi, to vase zarizeni klidne odesle jen nekolik malo paketu. Jenze tech zarizeni muze byt milliarda.
Ostatne, staci se podivat do logu mailserveru. Tisice pokusu o doruceni mailu prave z tisicu ruznych IP, ale z kazde jedne tak maximalne do 10 kusu.
A jako uzivatel... radsi vymenim ISP. Protoze, me je jedno co ta krabicka dela, dokud me internet funguje. Ale co mi jedno rozhodne uz neni, ze mi nejaky provider cosi blokuje a kvuli tomu mi neco nefunguje.
Jinak by mne vskutku zajimalo, jak to budete vysvetlovat tem, kteri vam plati a tim padem vas zivi. A jeste vic, proc by nekdo investoval cas a penize do reseni neceho, co ho vubec nepali. Protoze providera ve skutecnosti zajima tak maximalne to, zda mu nekde neco neboura jeho infrastrukturu. Pricemz mozna, teoreticky a hypoteticky by byl ochoten podniknout nejaka opatreni v pripade, ze mu to ten, koho to pali, zaplati.
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.
Takovou roli zastavaji informace v SOA a plni ji sekundarni NS. Pokud jich ma vlastnik zony malo a nevhodne umistenych, a pokud nekomu lezi v zaludku, tak se muze akorat poucit ze svych chybnych rozhodnuti. Dalsi vrstva kesovani je na urovni RR, a tam si to opet (zcela opravnene) urcuje vlastnik zony.
Pokud byste navrhoval, aby neautoritativni NS mohly prebirat roli autoritativnich sekundaru, tak to by si vyzadalo duslednejsi nasazeni DNSSEC s netrivialnimi upravami. Tim by se sice mohlo eliminovat negativni dotazovani, ovsem pri velikosti DNSSEC zon by to rovnez vyzadovalo dostatek RAM.
Ze vam rusim vase kruhy, ale kdyz vemete 5M zarizeni, a zacnete otevirat tcp konexe, tak slozite velmi pravdepodobne prakticky libovolny cil, a to jeste rychleji, nez po udp. On ten cil totiz obecne na udp nemusi nijak odpovidat, tedy az do okamziku kdy se rozhodne ze odpovedet chce, ale na tcp musi uz jen proto, aby se dozvedel, co od nej ta IP pozaduje.
Obecne totiz neexistuje zadna obrana proti ddosu a pouzity protokol je jen vedlejsi - nektery tomu muze vyrazne pomoci, ale to uz nejsme na tcp/udp ... ale spise na tom, ze si za pomoci par bytu vyzadame kB odpovedi, ktere (v optimalnim pripade) pekne posleme jeste nekomu dalsimu.
Ale jak jsem uvedl, ve finale je to uplne jedno. Viz napriklad vecne nefunkcni vysilani CT po internetu. Jakykoli prenos o ktery projevi uzivatele vetsi zajem tu sluzbu zcela spolehlive DOSne. Pokud se 100k obcanu dohodne a pujdou refreshnou vsichni presne o pulnoci lupu, tak pujde lupa k zemi.
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...
Jiste, viz predchozi a pokud domena zmizi, bude ty odpovedi posilat az na veky veku amen.
Mimochodem, on si ten cachujici dns ty odpovedi uchova - pokud to provozovatel nechce jinak, tak po dobu ttl. A to ttl mu prekvapive preda prave autoritativni dns.
Ostatne
dig @ns1.google.com +nocmd www.google.com +noall +answer
www.google.com. 300 IN A 216.58.201.68
300 ... s, google si nepreje aby vase cache uchovala odpovedi. Napriklad proto, ze vam za tech 300s vrati jinou IP. A stejne se chovaji vsechny vetsi v clusterech provozovane sluzby.
A odsedel ste si jiz to znasilneni? Ze ste nikoho neznasilnil? Na tom nesejde, nastroj jiste mate.
Nic vam nebrani v tom, si zprovoznit zcela vlastni sit a muzete si na ni zavest zcela libovolna pravidla, ale laskave necpete sva pravidla tem, kteri o ne nestoji. Pokud totiz vyrazite do lesa, muze na vas spadnout strom, pokud se vam to nelibi, nechodte tam.
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.
Proč by DNS server nemohl okamžitě vracet cachovanou IP adresu a při zjištění (blížíci se) expirace navíc naplánovat asynchronní zjištění aktuální hodnoty? Pokud všechno funguje, hned další dotaz by dostal čerstvou odpověď. Při výpadku by se holt posílala cache furt. Lepší, než odpověď, že doména neexistuje.
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.
"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.
Navrhoval bych jednu vec.
Hacknout co nejvetsi pocet techto "hloupych veci", drzet si seznam jejich ip adres a pravidelne je resetovat. Nejlepe aspon jednou za hodinu.
Proc?
1. Pokud na ne nekdo nainstaloval malware, resetem by se melo dosahnout toho, ze se zarizeni malwaru zbavi. Pokud se samozrejme malware nedostal do flash, ale to je malo pravdepodobne.
2. Zarizeni se bude casto resetovat, pravdepodobne kvuli tomu nebude fungovat dostatecne dobre a majitel ho brzo vyhodi a (doufam) nahradi necim lepsim.
Takze dejme se do toho a pojdme hacknout tyhle zatracene kamery a dalsi hloupe veci a udelejme internet bezpecnejsi.
Kdyz nefunguje policie (v tomto pripade tady vicemene zadna autorita neni a nemuze byt), musi nastoupit domobrana. Branme se crackerum jejich vlastnimi zbranemi!
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".
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.
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.
Praktický dopad cacheování NULA. Stějne (např po spuštění systému) musíte autoritativně získat odpověď. No a problém dns je UDP. UDP jako takové je v podstatě pozvánka k problému protože implementace čehokoliv od heuristiky přes detekce anomálií je výpočetně zcela mimo možnosti udělat to "snadno".
Takže řešením směrem k odolnosti resolverů nak na straně klienta (používat alespon 2-3) tak na straně poskytovatele tj používat jich desítky unicastově nebo anycast vylejzající do internetu na desítkách míst. 600 giga je už velká porce nicméně rozloženo do desítek unicast/anycast bodů je to filtrovatelné.
Co ovšem filtrovatelné není je když vemete pět milionů zařízení a po udp začnete posílat regulérní provoz - to je pak veselo a není co filtrovat. Takže cacheování bude k ničemu protože ten kdo bude útočit bude donekonečna požadovat autoritativní odpovědi přímo od zdroje.
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.