PowerDNS Recursor 4.2 un DNS karoga diena 2020 iniciatīvas izlaiŔana
PÄc pusotra gada attÄ«stÄ«bas uzrÄdÄ«ts keÅ”atmiÅas DNS servera atbrÄ«voÅ”ana PowerDNS resurss 4.2, kas atbild par rekursÄ«vo vÄrda konvertÄÅ”anu. PowerDNS Recursor ir veidota uz tÄs paÅ”as koda bÄzes kÄ PowerDNS Authoritative Server, taÄu PowerDNS rekursÄ«vie un autoritatÄ«vie DNS serveri tiek izstrÄdÄti dažÄdos izstrÄdes ciklos un tiek izlaisti kÄ atseviŔķi produkti. Projekta kods izplata licencÄts saskaÅÄ ar GPLv2.
JaunÄ versija novÄrÅ” visas problÄmas, kas saistÄ«tas ar DNS pakeÅ”u apstrÄdi ar EDNS karodziÅiem. VecÄkajÄs PowerDNS Recursor versijÄs pirms 2016. gada bija prakse ignorÄt paketes ar neatbalstÄ«tiem EDNS karodziÅiem, nenosÅ«tot atbildi vecajÄ formÄtÄ, atmetot EDNS karogus, kÄ prasÄ«ts specifikÄcijÄ. IepriekÅ” Ŕī nestandarta darbÄ«ba tika atbalstÄ«ta BIND kÄ risinÄjuma veidÄ, taÄu IzpildÄ«ts februÄra iniciatÄ«vas DNS karoga diena, DNS servera izstrÄdÄtÄji nolÄma atteikties no Ŕī uzlauÅ”anas.
ProgrammÄ PowerDNS galvenÄs problÄmas pakeÅ”u apstrÄdÄ ar EDNS tika novÄrstas jau 2017. gadÄ 4.1 laidienÄ, un 2016. gadÄ izlaistajÄ 4.0 atzarÄ parÄdÄ«jÄs individuÄlas nesaderÄ«bas, kas rodas noteiktos apstÄkļos un kopumÄ netraucÄ normÄlu darbÄ«bu. darbÄ«ba. ProgrammÄ PowerDNS Recursor 4.2, tÄpat kÄ 9.14. BIND, NoÅemti risinÄjumi, lai atbalstÄ«tu autoritatÄ«vus serverus, kas nepareizi atbild uz pieprasÄ«jumiem ar EDNS karodziÅiem. LÄ«dz Å”im, ja pÄc pieprasÄ«juma nosÅ«tÄ«Å”anas ar EDNS karodziÅiem pÄc noteikta laika nebija atbildes, DNS serveris pieÅÄma, ka paplaÅ”inÄtie karodziÅi netiek atbalstÄ«ti, un nosÅ«tÄ«ja otru pieprasÄ«jumu bez EDNS karodziÅiem. Å Ä« darbÄ«ba tagad ir atspÄjota, jo Å”is kods palielinÄja latentumu pakeÅ”u atkÄrtotas pÄrsÅ«tÄ«Å”anas dÄļ, palielinÄja tÄ«kla slodzi un neskaidrÄ«bas, kad nereaÄ£Ä tÄ«kla kļūmju dÄļ, kÄ arÄ« neļÄva ieviest uz EDNS balstÄ«tus lÄ«dzekļus, piemÄram, DNS sÄ«kfailus, lai aizsargÄtu pret DDoS uzbrukumiem.
PasÄkumu nolemts rÄ«kot nÄkamgad DNS karoga diena 2020. gadÄparedzÄts, lai koncentrÄtu uzmanÄ«bu uz lÄmumsproblÄmas ar IP sadrumstalotÄ«bu, apstrÄdÄjot lielus DNS ziÅojumus. IniciatÄ«vas ietvaros ir plÄnots noteikt ieteicamos bufera izmÄrus EDNS lÄ«dz 1200 baitiem un tulkot pieprasÄ«jumu apstrÄde, izmantojot TCP, ir obligÄta funkcija serveros. Tagad ir nepiecieÅ”ams atbalsts pieprasÄ«jumu apstrÄdei, izmantojot UDP, un TCP ir vÄlams, taÄu tas nav nepiecieÅ”ams darbÄ«bai (standarts pieprasa iespÄju atspÄjot TCP). Tiek ierosinÄts izÅemt no standarta iespÄju atspÄjot TCP un standartizÄt pÄreju no pieprasÄ«jumu sÅ«tÄ«Å”anas pa UDP uz TCP izmantoÅ”anu gadÄ«jumos, kad ar noteikto EDNS bufera lielumu nepietiek.
IniciatÄ«vas ietvaros ierosinÄtÄs izmaiÅas novÄrsÄ«s neskaidrÄ«bas ar EDNS bufera lieluma izvÄli un atrisinÄs lielo UDP ziÅojumu sadrumstalotÄ«bas problÄmu, kuru apstrÄde bieži noved pie pakeÅ”u zuduma un taimauta klienta pusÄ. Klienta pusÄ EDNS bufera lielums bÅ«s nemainÄ«gs, un lielas atbildes nekavÄjoties tiks nosÅ«tÄ«tas klientam, izmantojot TCP. IzvairÄ«Å”anÄs no lielu ziÅojumu sÅ«tÄ«Å”anas, izmantojot UDP, arÄ« ļaus bloÄ·Ät uzbrukumiem par DNS keÅ”atmiÅas saindÄÅ”anu, pamatojoties uz manipulÄcijÄm ar sadrumstalotÄm UDP paketÄm (sadalot fragmentos, otrajÄ fragmentÄ nav iekļauta galvene ar identifikatoru, tÄpÄc to var viltot, kam pietiek tikai ar kontrolsummas atbilstÄ«bu) .
PowerDNS Recursor 4.2 Åem vÄrÄ problÄmas ar lielÄm UDP paketÄm un pÄriet uz EDNS bufera lielumu (edns-outgoing-bufsize) 1232 baiti, nevis iepriekÅ” izmantoto 1680 baitu ierobežojumu, kam vajadzÄtu ievÄrojami samazinÄt UDP pakeÅ”u zaudÄÅ”anas iespÄjamÄ«bu. . VÄrtÄ«ba 1232 tika izvÄlÄta, jo tÄ ir maksimÄlÄ vÄrtÄ«ba, pie kuras DNS atbildes lielums, Åemot vÄrÄ IPv6, iekļaujas minimÄlajÄ MTU vÄrtÄ«bÄ (1280). ArÄ« saÄ«sinÄÅ”anas sliekÅ”Åa parametra vÄrtÄ«ba, kas ir atbildÄ«ga par klientam sniegto atbilžu apgrieÅ”anu, ir samazinÄta lÄ«dz 1232.
Citas izmaiÅas programmÄ PowerDNS Recursor 4.2:
Pievienots mehÄnisma atbalsts XPF (X-Proxied-For), kas ir X-Forwarded-For HTTP galvenes DNS ekvivalents, kas ļauj pÄrsÅ«tÄ«t informÄciju par sÄkotnÄjÄ pieprasÄ«tÄja IP adresi un porta numuru, izmantojot starpniekserverus un slodzes balansÄtÄjus (piemÄram, dnsdist). . Lai iespÄjotu XPF, ir iespÄjas "xpf-allow-from"Un"xpf-rr-kods";
Uzlabots atbalsts EDNS paplaÅ”inÄjumam Klientu apakÅ”tÄ«kls (ECS), kas ļauj pÄrsÅ«tÄ«t DNS vaicÄjumos uz autoritatÄ«vu DNS serveri informÄciju par apakÅ”tÄ«klu, no kura tika saindÄts sÄkotnÄjais pieprasÄ«jums, kas tika nosÅ«tÄ«ts pa Ä·Ädi (dati par klienta avota apakÅ”tÄ«klu ir nepiecieÅ”ami satura piegÄdes tÄ«klu efektÄ«vai darbÄ«bai) . JaunajÄ laidienÄ ir pievienoti iestatÄ«jumi selektÄ«vai kontrolei pÄr EDNS klientu apakÅ”tÄ«kla lietoÅ”anu: "ecs-add-forĀ» ar tÄ«kla masku sarakstu, kurÄm IP tiks izmantota ECS izejoÅ”ajos pieprasÄ«jumos. AdresÄm, kas neietilpst norÄdÄ«tajÄs maskÄs, vispÄrÄ«gÄ adrese, kas norÄdÄ«ta direktÄ«vÄ "ecs-scope-zero-address". Izmantojot direktÄ«vu "use-incoming-edns-subnetĀ» varat definÄt apakÅ”tÄ«klus, no kuriem netiks aizstÄti ienÄkoÅ”ie pieprasÄ«jumi ar aizpildÄ«tÄm ECS vÄrtÄ«bÄm;
Serveriem, kas apstrÄdÄ lielu pieprasÄ«jumu skaitu sekundÄ (vairÄk nekÄ 100 tÅ«kstoÅ”us), direktÄ«va "izplatÄ«tÄjs-diegi", kas nosaka pavedienu skaitu ienÄkoÅ”o pieprasÄ«jumu saÅemÅ”anai un sadalei starp darbinieku pavedieniem (ir jÄga tikai tad, ja tiek izmantots "pdns-distributes-queries=yes").
Pievienots iestatÄ«jums public-suffix-list-fails lai definÄtu savu failu ar publisko piedÄkļu saraksts domÄnus, kuros lietotÄji var reÄ£istrÄt savus apakÅ”domÄnus, nevis PowerDNS Recursor iebÅ«vÄto sarakstu.
PowerDNS projekts arÄ« paziÅoja par pÄreju uz seÅ”u mÄneÅ”u izstrÄdes ciklu, un nÄkamÄ galvenÄ PowerDNS Recursor 4.3 izlaide ir gaidÄma 2020. gada janvÄrÄ«. NozÄ«mÄ«gu izlaidumu atjauninÄjumi tiks izstrÄdÄti visu gadu, pÄc tam vÄl seÅ”us mÄneÅ”us tiks izlaisti ievainojamÄ«bas labojumi. TÄdÄjÄdi PowerDNS Recursor 4.2 filiÄles atbalsts ilgs lÄ«dz 2021. gada janvÄrim. LÄ«dzÄ«gas izstrÄdes cikla izmaiÅas veiktas arÄ« PowerDNS Authoritative Server, kura versija 4.2 ir gaidÄma tuvÄkajÄ nÄkotnÄ.
Atbalsts RPZ (Response Policy Zones) un iespÄja definÄt melnos sarakstus;
PretvilkÅ”anas mehÄnismi;
IespÄja ierakstÄ«t izŔķirtspÄjas rezultÄtus kÄ BIND zonas failus.
Lai nodroÅ”inÄtu augstu veiktspÄju, FreeBSD, Linux un Solaris tiek izmantoti mÅ«sdienÄ«gi savienojumu multipleksÄÅ”anas mehÄnismi (kqueue, epoll, /dev/poll), kÄ arÄ« augstas veiktspÄjas DNS pakeÅ”u parsÄtÄjs, kas spÄj apstrÄdÄt desmitiem tÅ«kstoÅ”u paralÄlu pieprasÄ«jumu.