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ēmums problē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ē.

Galvenās PowerDNS Recursor funkcijas:

  • RÄ«ki attālinātai statistikas vākÅ”anai;
  • TÅ«lÄ«tēja restartÄ“Å”ana;
  • IebÅ«vēts dzinējs apstrādātāju savienoÅ”anai Lua valodā;
  • Pilns DNSSEC atbalsts un DNS64;
  • 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.

Avots: opennet.ru

Pievieno komentāru