Üks Chromium'i funktsioone tekitab tohutut koormust juurdns-serveritele

Üks Chromium'i funktsioone tekitab tohutut koormust juurdns-serveritele

Chromium, aktiivselt arenev open-source vanem Google Chrome'ist ja uuest Microsoft Edge'ist, on saanud tĂ”sise negatiivse tĂ€helepanu tĂ€nu funktsioonile, mis on mĂ”eldud heade kavatsustega: see kontrollib, kas pakkuja ei „varasta“ kasutajalt olemasolevate domeenide pĂ€ringute vale tulemusi.

Intranet Redirect Detector, mis genereerib valepĂ€ringuid juhuslike „domeenide“ kohta, mille olemasolu on statistiliselt ebatĂ”enĂ€oline, vastutab umbes poole kogu liiklusest, mida juurdomeenide serverid saavad ĂŒle maailma. Verisigni insener Matt Thomas kirjutas pikkade post postituste blogisse APNIC, mis kirjeldab probleemi ja hindab selle ulatust.

Kuidas DNS-i lahendamine tavaliselt toimub

Üks Chromium'i funktsioone tekitab tohutut koormust juurdns-serveritele
Need serverid on kĂ”rgeim autoriteet, kelle poole tuleb pöörduda .com, .net jne lahendamiseks, et nad saaksid teile öelda, et frglxrtmpuf ei ole ĂŒlendsed domeen (TLD).

DNS ehk Domain Name System („domeenide nimede sĂŒsteem“) on sĂŒsteem, mille abil arvutid saavad muuta meeldejÀÀvaid domeeninimesid, nagu arstechnica.com, vĂ€hem mugavateks IP-aadressideks, nĂ€iteks 3.128.236.93. Ilma DNS-ita ei saaks Internet eksisteerida inimeste jaoks kasutataval kujul, mistĂ”ttu on ebavajalik koormus ĂŒlemise tasandi infrastruktuurile reaalne probleem.

Üheainsa kaasaegse veebi lehe laadimiseks vĂ”ib osutuda vajalikuks uskumatu hulk DNS-otsingute toiminguid. NĂ€iteks kui analĂŒĂŒsisime ESPN-i avalehte, leidsime 93 erinevat domeeninime, alates a.espncdn.com kuni z.motads.com. KĂ”ik need on vajalikud lehe tĂ€ielikuks laadimiseks!

Kuna sellist koormust peab taluma otsingu sĂŒsteem, mis peab teenindama kogu maailma, on DNS kavandatud mitmetasandiliseks hierarhiaks. Selle piramidi tipus asuvad juurkliendid – iga tippdomeen, nĂ€iteks .com, omab oma serverite perekonda, mis on kĂ”ige madalamate domeenide puhul kĂ”rgeim autoriteet. Ühel tasemel kĂ”rgemal nendest serveritest asuvad juurkliendid ise, alates a.root-servers.net kuni m.root-servers.net.

Kuidas see toimub?

TÀnu mitmetasandilisele jaotustehnoloogiale DNS-i infrastruktuuris jÔuab juureserveritesse vÀga vÀike osa maailma DNS-pÀringutest. Enamik inimesi saab DNS-i teavet otseselt oma teenusepakkujalt. Kui kasutaja seade vajab teavet, kuidas teatud veebilehteni jÔuda, saadetakse pÀring kÔigepealt DNS-serverisse, mille haldab kohalik teenusepakkuja. Kui kohaliku DNS-serveri puhul puudub vastus, suunatakse pÀring edasi selle enda "edastuste serveritesse" (kui need on mÀÀratud).

Kui ei kohaliku teenusepakkuja DNS-serveril ega tema konfiguratsioonis mÀÀratud "edastuste serveritel" ei ole vahemĂ€llu salvestatud vastust, tĂ”stetakse pĂ€ring otse domeeni volitatud serverile. ĂŒle sellele, mille proovite teisendada. Juhtumil domeen.com tĂ€hendaks see, et pĂ€ring saadetakse domeeni volitatud serveritele com, mis asuvad aadressil gtld-servers.net.

SĂŒsteem gtld-servers, mille pĂ€ringule vastatakse domeeni domeen.com nimede autoriteetse serverite loeteluga, samuti vĂ€hemalt ĂŒhe siduva kande IP-aadressiga, mis sisaldab ĂŒhte sellist nimede serverit. SeejĂ€rel edastatakse vastused allapoole ahelas - iga edastusserver saadab need vastused tagasi sellele serverile, kes neid kĂŒsis, kuni vastus jĂ”uab lĂ”puks kohaliku teenusepakkuja serverisse ja kasutaja arvutisse. KĂ”ik nad salvestavad selle vastuse, et mitte hĂ€irida kĂ”rgema taseme sĂŒsteeme.

Enamikul juhtudel on nimede serverite kirjed domeen.com jaoks juba salvestatud ĂŒhes neist edastusserveritest, nii et juure servereid ei hĂ€irita. Kuid kui me rÀÀgime harjumuspĂ€rasest URL-kujust - sellest, mis muudetakse tavaliseks veebisaidiks. Chrome'i pĂ€ringud kuuluvad tasemele ĂŒle sellest, klastrite enda astmele root-servers.net.

Chromium ja NXDomain'i röövimise kontroll

Üks Chromium'i funktsioone tekitab tohutut koormust juurdns-serveritele
Chromium'i kontrollid "kas see DNS-server ei petta mind?" moodustavad peaaegu poole kogu liiklusest, mis jÔuab Verisign'i juure DNS-serverite klastrisse.

Chromium, Google Chrome'i, uue Microsoft Edge'i ja arvukate vĂ€hem tuntud brauserite alusprojekt, pĂŒĂŒab pakkuda kasutajatele lihtsustatud otsingut ĂŒhes vĂ€ljundis, mida mĂ”nikord nimetatakse 'Omnibox'. TeisisĂ”nu, kasutaja sisestab nii reaalsed URL-id kui ka otsingupĂ€ringud samasse tekstivĂ€ljale brauseri akna ĂŒlaosas. Veel ĂŒhe sammu lihtsustamiseks ei nĂ”ua see ka kasutajalt URL-i osa sisestamist. http:// vĂ”i https://.

Kuigi see lĂ€henemine on mugav, nĂ”uab see, et brauser mĂ”istaks, mida pidada URL-iks ja mida otsingupĂ€ringuks. Enamikul juhtudel on see ĂŒsna ilmselge — nĂ€iteks ei saa tĂŒhikuid sisaldav string olla URL. Kuid asjad vĂ”ivad olla keerulisemad, kui arvestada sisevĂ”rke — privaatseid vĂ”rke, mis vĂ”ivad samuti kasutada privaatsed tippdomeenide lahendamiseks tĂ”elisi veebisaite.

Kui kasutaja oma ettevĂ”tte sisevĂ”rgus sisestab 'marketing' ja ettevĂ”tte sisevĂ”rgus on sarnase nimega sisemine veebisait, kuvab Chromium teateakna, kĂŒsides kasutajalt, kas ta soovib otsida 'marketing' vĂ”i minna edasi. https://marketing. See on veel talutav, kuid paljud Interneti- ja ĂŒhiste Wi-Fi-vĂ”rkude teenusepakkujad "varastavad" iga vigase URL-i, suunates kasutaja millegile, mis on tĂ€is reklaambĂ€nnerite lehte.

Juhuslik genereerimine

Chromiumi arendajad ei soovinud, et kasutajad tavavĂ”rkudes nĂ€eksid iga kord, kui nad otsisid ĂŒht sĂ”na, teateakent, mis kĂŒsis, mida nad silmas pidasid, seetĂ”ttu rakendasid nad testi: kui brauser kĂ€ivitub vĂ”i vĂ”rku vahetatakse, teostab Chromium kolme juhuslikult genereeritud kĂ”rgeima taseme „domeeni“, mille pikkus on seitsmest kuni viieteistkĂŒmne tĂ€heni, DNS-otsinguid. Kui kaks neist pĂ€ringutest tagastavad sama IP-aadressi, eeldab Chromium, et kohalik vĂ”rk "varastab" vigu, NXDOMAIN, mida ta peaks saama, seetĂ”ttu peab brauser kuni edasise teavitamiseni kĂ”ik ĂŒhe sĂ”na sisestatud pĂ€ringud otsingupĂ€ringute katseteks.

Kahjuks vĂ”rkudes, mis ei varastavad DNS-pĂ€ringute tulemusi, tĂ”usevad need kolm toimingut tavaliselt kĂ”ige kĂ”rgemale, mitu juurserverit: kohalik server ei tea, kuidas tĂ”lkida qwajuixk, seetĂ”ttu suunab see pĂ€ringu edasi oma edastussevrile, mis teeb sama, kuni lĂ”puks a.root-servers.net vĂ”i ĂŒks tema "vendadest" ei pea ĂŒtlema "Kahjuks, see ei ole domeen."

Kuna on umbes 1,67*10^21 vĂ”imalikku vale domeeninime vahemikus seitsmest kuni viieteistkĂŒmne mĂ€rgini, esinevad need kĂ”ige sagedamini iga nendest testidest, mis tehti "ausas" vĂ”rgus, jĂ”uab juurserverini. See moodustab lausa pool kogu juurdns-i koormusest, kui usaldada statistikat nende klastrite osas root-servers.net, mis kuuluvad ettevĂ”ttele Verisign.

Ajaloos kordub

See ei ole esimene kord, kui hĂ€sti kavandatud projekt on pĂ”hjustanud vĂ”i peaaegu pĂ”hjustanud avaliku ressursi ĂŒleliigse liikluse — see meenutab meile kohe pika ja kurva loo D-Linki ja NTP-serveerija (Network Time Protocol) Paul-Henning Kampist 2000. aastate keskpaiku.

Aastal 2005 sai FreeBSD arendaja Poul-Henning, kes omas ka Taanis ainukest Stratum 1 Network Time Protocol serverit, ootamatu ja suure arve edastatud liikluse eest. LĂŒhidalt öeldes, pĂ”hjuseks oli see, et D-Linki arendajad olid sisse programmeerinud Stratum 1 NTP-serverite, sealhulgas Kampari serveri, aadressid ettevĂ”tte lĂŒlitite, ruuterite ja pÀÀsupunktide tarkvarasse. See tĂ”stis kohe Kampari serveri liikluse ĂŒheksa korda, mille tĂ”ttu Taani Internet Exchange (Taani internetiliikluse vahetuspunkt) muutis selle tariifi "Tasuta" peale "9 000 dollarit aastas".

Probleem ei seisnenud D-Linki ruuterite arvus, vaid selles, et nad "rikkusid hierarhiat". Peaaegu nagu DNS, peaks NTP toimima hierarhiliselt — Stratum 0 taseme serverid edastavad teavet Stratum 1 serveritele, mis edastavad teavet Stratum 2 serveritele ja nii edasi, allapoole hierarhias. Tavaline kodune ruuter, lĂŒliti vĂ”i pÀÀsupunkt, kuhu D-Link oli NTP-serverite aadressid sisse programmeerinud, oleks pidanud saatma pĂ€ringud Stratum 2 vĂ”i Stratum 3 serverile.

Chromiumi projekt, tÔenÀoliselt kÔige paremate kavatsustega, kordas NTP probleemi DNS-iga, laadides Interneti juureserverid pÀringutega, mida nad kunagi töötlema ei pidanud.

On lootust, et lahendus tuleb peagi

Chromiumi projekti raames on avatud viga, mis nĂ”uab selle probleemi lahendamiseks Intranet Redirect Detector'i vaikimisi vĂ€ljalĂŒlitamist. Tuleb tunnustada Chromiumi projekti: viga avastati enne seda, kui Matt Thomas Verisignist tĂ”mbas sellele massiivset tĂ€helepanu oma postitus APNICi blogis. Viga avati juunis, kuid jĂ€i unustusse kuni Thomase postituseni; pĂ€rast postitust hakkas see olema rangelt jĂ€lgitud.

On lootust, et probleem lahendatakse varsti ja juure DNS-serverid ei pea enam iga pÀev vastama umbes 60 miljardi vale pÀringule.

Reklaami Ôigustes

Eepilised serverid — see on Windows VPS vĂ”i Linuxi pealmised vĂ”imsad AMD EPYC protsessorid ja vĂ€ga kiired Intel NVMe kettad. Kiirustage tellima!

Üks Chromium'i funktsioone tekitab tohutut koormust juurdns-serveritele

Allikas: habr.com

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster