Viena no Chromium funkcijām rada milzīgu slodzi saknes DNS serveriem

Viena no Chromium funkcijām rada milzīgu slodzi saknes DNS serveriem

PārlÅ«ks Chromium, plaukstoÅ”ais Google Chrome un jaunā Microsoft Edge atvērtā pirmkoda vecākais, ir saņēmis ievērojamu negatÄ«vu uzmanÄ«bu funkcijai, kas bija paredzēta ar labiem nodomiem: tā pārbauda, ā€‹ā€‹vai lietotāja interneta pakalpojumu sniedzējs "zog" neeksistējoÅ”us domēna vaicājumu rezultātus. .

Intraneta novirzÄ«Å”anas detektors, kas rada viltus vaicājumus nejauÅ”iem "domēniem", kas statistiski maz ticams, ir atbildÄ«gs par aptuveni pusi no kopējās trafika, ko saņem saknes DNS serveri visā pasaulē. Verisign inženieris Mets Tomass uzrakstÄ«ja garu rakstu post APNIC emuārā, aprakstot problēmu un novērtējot tās mērogu.

Kā parasti tiek veikta DNS atrisināŔana

Viena no Chromium funkcijām rada milzīgu slodzi saknes DNS serveriem
Šie serveri ir augstākā iestāde, ar kuru jums jāsazinās, lai atrisinātu .com, .net u.c., lai viņi jums paziņotu, ka frglxrtmpuf nav augstākā līmeņa domēns (TLD).

DNS jeb domēna nosaukumu sistēma ir sistēma, ar kuras palÄ«dzÄ«bu datori var pārveidot tādus neaizmirstamus domēna nosaukumus kā arstechnica.com par daudz mazāk lietotājam draudzÄ«gām IP adresēm, piemēram, 3.128.236.93. Bez DNS internets nepastāvētu tā, kā to varētu izmantot cilvēki, kas nozÄ«mē, ka nevajadzÄ«ga augŔējā lÄ«meņa infrastruktÅ«ras slodze ir reāla problēma.

Lai ielādētu vienu modernu tÄ«mekļa lapu, var bÅ«t nepiecieÅ”ams neticami daudz DNS meklējumu. Piemēram, analizējot ESPN mājaslapu, mēs saskaitÄ«jām 93 atseviŔķus domēna nosaukumus, sākot no a.espncdn.com lÄ«dz z.motads.com. Tie visi ir nepiecieÅ”ami, lai lapa pilnÄ«bā ielādētu!

Lai pielāgotu Ŕāda veida darba slodzi meklētājprogrammai, kurai ir jāapkalpo visa pasaule, DNS ir veidota kā daudzlÄ«meņu hierarhija. Å Ä«s piramÄ«das augÅ”pusē atrodas saknes serveri ā€“ katram augstākā lÄ«meņa domēnam, piemēram, .com, ir sava serveru saime, kas ir augstākā autoritāte katram domēnam zem tiem. Viens solis uz augÅ”u Å”is serveri ir paÅ”i saknes serveri, no a.root-servers.net lÄ«dz m.root-servers.net.

Cik bieži tas notiek?

Pateicoties DNS infrastruktÅ«ras daudzlÄ«meņu keÅ”atmiņas hierarhijai, ļoti neliela daļa pasaules DNS vaicājumu sasniedz saknes serverus. Lielākā daļa cilvēku informāciju par DNS atrisinātāju iegÅ«st tieÅ”i no sava ISP. Kad lietotāja ierÄ«cei ir jāzina, kā piekļūt konkrētai vietnei, vispirms tiek nosÅ«tÄ«ts pieprasÄ«jums DNS serverim, ko pārvalda Å”is vietējais pakalpojumu sniedzējs. Ja vietējais DNS serveris nezina atbildi, tas pārsÅ«ta pieprasÄ«jumu saviem "pārsÅ«tÄ«tājiem" (ja norādÄ«ts).

Ja ne lokālā pakalpojumu sniedzēja DNS serverim, ne tā konfigurācijā norādÄ«tajiem ā€œpārsÅ«tÄ«Å”anas serveriemā€ nav atbildes keÅ”atmiņā, pieprasÄ«jums tiek nosÅ«tÄ«ts tieÅ”i uz autoritatÄ«vu domēna serveri. iepriekÅ” tas, kuru mēģināt pārvērst. Kad Š“Š¾Š¼ŠµŠ½.com tas nozÄ«mēs, ka pieprasÄ«jums tiek nosÅ«tÄ«ts uz paÅ”a domēna autoritatÄ«viem serveriem com, kas atrodas plkst gtld-servers.net.

Sistēma gtld-servers, kuram tika izteikts pieprasÄ«jums, atbild ar domēna domain.com autoritatÄ«vu nosaukumu serveru sarakstu, kā arÄ« vismaz vienu saites ierakstu, kurā ir viena Ŕāda vārdu servera IP adrese. Tālāk atbildes virzās pa ķēdi uz leju ā€“ katrs ekspeditors Ŕīs atbildes nosÅ«ta serverim, kas tās pieprasÄ«jis, lÄ«dz atbilde beidzot sasniedz vietējā pakalpojumu sniedzēja serveri un lietotāja datoru. Visi no tiem saglabā Å”o atbildi keÅ”atmiņā, lai nevajadzÄ«gi netraucētu augstāka lÄ«meņa sistēmas.

Vairumā gadÄ«jumu nosaukumu serveris ieraksta par domēns.com jau bÅ«s keÅ”atmiņā vienā no Å”iem ekspeditoriem, tāpēc saknes serveri netiks traucēti. Tomēr Å”obrÄ«d mēs runājam par mums zināmo URL veidu ā€” to, kas tiek pārveidots par parastu vietni. Chrome pieprasÄ«jumi ir vienā lÄ«menÄ« iepriekÅ” tas notiek paÅ”u klasteru lÄ«menÄ« root-servers.net.

Chromium un NXDomain zādzību pārbaude

Viena no Chromium funkcijām rada milzīgu slodzi saknes DNS serveriem
Chromium pārbauda, ā€‹ā€‹vai Å”is DNS serveris mani maldina? veido gandrÄ«z pusi no visas trafika, kas sasniedz Verisign saknes DNS serveru kopu.

PārlÅ«kprogramma Chromium, Google Chrome vecākprojekts, jaunā Microsoft Edge un neskaitāmas mazāk zināmas pārlÅ«kprogrammas, vēlas nodroÅ”ināt lietotājiem vieglu meklÄ“Å”anu vienā lodziņā, ko dažreiz sauc par universālo lodziņu. Citiem vārdiem sakot, lietotājs ievada gan reālos URL, gan meklētājprogrammas vaicājumus vienā un tajā paŔā teksta laukā pārlÅ«kprogrammas loga augÅ”daļā. Veicot vēl vienu soli uz vienkārÅ”oÅ”anu, tas arÄ« neliek lietotājam ievadÄ«t daļu URL ar http:// vai https://.

Lai cik ērta Ŕī pieeja bÅ«tu, pārlÅ«kprogrammai ir jāsaprot, kas ir jāuzskata par URL un kas par meklÄ“Å”anas vaicājumu. Vairumā gadÄ«jumu tas ir diezgan acÄ«mredzams ā€” piemēram, virkne ar atstarpēm nevar bÅ«t URL. Taču lietas var kļūt sarežģītākas, ja ņemat vērā iekÅ”tÄ«klus ā€” privātos tÄ«klus, kas var izmantot arÄ« privātus augstākā lÄ«meņa domēnus, lai atrisinātu patiesas vietnes.

Ja lietotājs sava uzņēmuma iekÅ”tÄ«klā ieraksta vārdu ā€œmārketingsā€ un uzņēmuma iekÅ”tÄ«klā ir iekŔēja vietne ar tādu paÅ”u nosaukumu, Chromium parāda informācijas lodziņu, kurā tiek jautāts, vai viņŔ vēlas meklēt ā€œmārketingsā€ vai doties uz https://marketing. Iespējams, tas tā nav, taču daudzi interneta pakalpojumu sniedzēji un publiskie Wi-Fi pakalpojumu sniedzēji ā€œnolaupaā€ katru nepareizi uzrakstÄ«to URL, novirzot lietotāju uz kādu lapu, kas piepildÄ«ta ar reklāmkarogu.

Izlases paaudze

Chromium izstrādātāji nevēlējās, lai lietotāji parastajos tÄ«klos redzētu informācijas lodziņu, kurā jautāts, ko viņi domāja ikreiz, kad viņi meklēja vienu vārdu, tāpēc viņi ieviesa testu: kad viņi palaiž pārlÅ«kprogrammu vai maina tÄ«klus, Chromium veic DNS meklÄ“Å”anu trÄ«s. nejauÅ”i Ä£enerēti "domēni" augŔējā lÄ«menÄ«, septiņas lÄ«dz piecpadsmit rakstzÄ«mes gari. Ja kādi divi no Å”iem pieprasÄ«jumiem atgriežas ar vienu un to paÅ”u IP adresi, Chromium pieņem, ka vietējais tÄ«kls "nolaupa" kļūdas. NXDOMAIN, kas tai bÅ«tu jāsaņem, tāpēc pārlÅ«kprogramma visus ievadÄ«tos viena vārda vaicājumus uzskata par meklÄ“Å”anas mēģinājumiem lÄ«dz turpmākam paziņojumam.

Diemžēl tÄ«klos, kas nē nozagt DNS vaicājumu rezultātus, Ŕīs trÄ«s darbÄ«bas parasti paceļas paŔā augŔā, lÄ«dz paÅ”iem saknes vārdu serveriem: vietējais serveris nezina, kā atrisināt qwajuixk, tāpēc pārsÅ«ta Å”o pieprasÄ«jumu savam ekspeditoram, kas dara to paÅ”u, lÄ«dz beidzot a.root-servers.net vai kāds no viņa "brāļiem" nebÅ«s spiests teikt: "Atvainojiet, bet tas nav domēns."

Tā kā ir aptuveni 1,67*10^21 iespējami viltoti domēna vārdi, kuru garums ir no septiņām lÄ«dz piecpadsmit rakstzÄ«mēm, visizplatÄ«tākais katrs no Å”iem testiem, kas veikti "godÄ«gajā" tÄ«klā, tas nokļūst saknes serverÄ«. Tas ir tikpat daudz puse no kopējās slodzes saknes DNS, saskaņā ar statistiku no Ŕīs klasteru daļas root-servers.net, kas pieder Verisign.

Vēsture atkārtojas

Å Ä« nav pirmā reize, kad projekts tiek veidots ar vislabākajiem nodomiem neizdevās vai gandrÄ«z pārpludināja publisko resursu ar nevajadzÄ«gu trafiku ā€“ tas uzreiz atgādināja D-Link un Poul-Henning Kamp NTP (Network Time Protocol) servera ilgo un skumjo vēsturi 2000. gadu vidÅ«.

2005. gadā FreeBSD izstrādātājs Poul-Henning, kuram piederēja arÄ« Dānijas vienÄ«gais Stratum 1 Network Time Protocol serveris, saņēma negaidÄ«tu un lielu rēķinu par pārraidÄ«to trafiku. ÄŖsāk sakot, iemesls bija tas, ka D-Link izstrādātāji ierakstÄ«ja Stratum 1 NTP serveru, tostarp Kampa servera, adreses uzņēmuma slēdžu, marÅ”rutētāju un piekļuves punktu lÄ«nijas programmaparatÅ«rā. Tas uzreiz palielināja Kampa servera trafiku deviņkārtÄ«gi, liekot Dānijas interneta apmaiņai (Dānijas interneta apmaiņas punktam) mainÄ«t tarifu no "bezmaksas" uz "9 USD gadā".

Problēma nebija tā, ka bija pārāk daudz D-Link marÅ”rutētāju, bet gan tajā, ka tie bija "ārpus rindas". LÄ«dzÄ«gi kā DNS, NTP jādarbojas hierarhiskā formā ā€“ Stratum 0 serveri nodod informāciju Stratum 1 serveriem, kas nodod informāciju Stratum 2 serveriem un tā tālāk pa hierarhiju. Tipisks mājas marÅ”rutētājs, slēdzis vai piekļuves punkts, piemēram, tas, kuru D-Link bija ieprogrammējis ar NTP servera adresēm, sÅ«tÄ«tu pieprasÄ«jumus Stratum 2 vai Stratum 3 serverim.

Chromium projekts, iespējams, ar vislabākajiem nodomiem, atkārtoja NTP problēmu DNS problēmā, ielādējot interneta saknes serverus ar pieprasījumiem, kurus tiem nekad nebija paredzēts apstrādāt.

Ir cerība uz ātru risinājumu

Chromium projektam ir atvērts avots kļūda, kam pēc noklusējuma ir jāatspējo iekÅ”tÄ«kla novirzÄ«Å”anas detektors, lai atrisinātu Å”o problēmu. Mums ir jāatzÄ«st Chromium projekts: kļūda tika atrasta pirms tamkā Verisign's Mets Tomass ar savu uzmanÄ«bu pievērsa viņam lielu uzmanÄ«bu badoÅ”anās APNIC emuārā. Kļūda tika atklāta jÅ«nijā, bet palika aizmirsta lÄ«dz Tomasa ierakstam; Pēc badoÅ”anās viņŔ sāka bÅ«t stingrā uzraudzÄ«bā.

Cerams, ka problēma drīzumā tiks atrisināta, un saknes DNS serveriem vairs nebūs katru dienu jāatbild uz aptuveni 60 miljardiem viltus vaicājumu.

Par reklāmas tiesībām

Episkie serveri -Šo VPS operētājsistēmā Windows vai Linux ar jaudīgiem AMD EPYC saimes procesoriem un ļoti ātriem Intel NVMe diskdziņiem. Steidzieties pasūtīt!

Viena no Chromium funkcijām rada milzīgu slodzi saknes DNS serveriem

Avots: www.habr.com

Pievieno komentāru