PowerDNS Recursor 4.2 ja DNS lipupäeva algatus 2020 avaldati

Peale poolteiseaastast arengut esitatakse vahemällu salvestatud DNS-serveri vabastamine PowerDNS-i ressurss 4.2, vastutab nimede rekursiivse teisendamise eest. PowerDNS Recursor on üles ehitatud samale koodibaasile nagu PowerDNS Authoritative Server, kuid PowerDNS-i rekursiivsed ja autoriteetsed DNS-serverid töötatakse välja erinevate arendustsüklite kaudu ja väljastatakse eraldi toodetena. Projekti kood jaotatud litsentsitud GPLv2 alusel.

Uus versioon kõrvaldab kõik EDNS-lippudega DNS-pakettide töötlemisega seotud probleemid. PowerDNS Recursori vanematel versioonidel enne 2016. aastat oli tava ignoreerida toetamata EDNS-i lipukestega pakette, ilma vanas vormingus vastust saatmata, ning EDNS-lipud loobusid spetsifikatsioonist tulenevalt. Varem toetati seda ebastandardset käitumist BIND-is lahenduse vormis, kuid läbi viidud veebruari algatustele DNS lipu päev, otsustasid DNS-serveri arendajad sellest häkkimisest loobuda.

PowerDNS-is kõrvaldati peamised probleemid pakettide töötlemisel EDNS-iga juba 2017. aastal versioonis 4.1 ja 2016. aastal välja antud 4.0 harus ilmnesid üksikud sobimatused, mis tekivad teatud asjaoludel ja üldiselt ei sega normaalset toimimist. operatsiooni. PowerDNS Recursor 4.2-s, nagu ka SIDUM 9.14, Eemaldatud lahendused autoriteetsete serverite toetamiseks, mis vastavad valesti EDNS-i lippudega päringutele. Seni, kui pärast EDNS-i lippudega päringu saatmist teatud aja jooksul vastust ei saadud, eeldas DNS-server, et laiendatud lippe ei toetata, ja saatis teise päringu ilma EDNS-lippudeta. See käitumine on nüüd keelatud, kuna see kood suurendas pakettide uuesti edastamise tõttu latentsust, suurendas võrgukoormust ja ebaselgust võrgutõrgete tõttu mittereageerimisel ning takistas EDNS-põhiste funktsioonide (nt DNS-küpsised) rakendamist DDoS-i rünnakute eest kaitsmiseks.

Üritus on otsustatud korraldada järgmisel aastal DNS-i lipupäev 2020mõeldud tähelepanu koondamiseks otsus probleeme IP killustatusega suurte DNS-sõnumite töötlemisel. Algatuse osana on kavas määrake EDNS-i soovitatud puhvri suuruseks 1200 baiti ja tõlkida päringute töötlemine TCP kaudu on serverites kohustuslik funktsioon. Nüüd on UDP kaudu päringute töötlemise tugi vajalik ja TCP on soovitav, kuid mitte tööks vajalik (standard nõuab TCP keelamise võimalust). Tehakse ettepanek eemaldada standardist TCP keelamise võimalus ja standardiseerida üleminek päringute saatmiselt UDP kaudu TCP kasutamisele juhtudel, kui kehtestatud EDNS-i puhvri suurusest ei piisa.

Algatuse osana välja pakutud muudatused kõrvaldavad segaduse EDNS-i puhvri suuruse valimisel ja lahendavad suurte UDP-sõnumite killustatuse probleemi, mille töötlemine põhjustab kliendi poolel sageli pakettide kadumist ja aegumist. Kliendi poolel on EDNS-i puhvri suurus konstantne ja suured vastused saadetakse kohe TCP kaudu kliendile. UDP kaudu suurte sõnumite saatmise vältimine võimaldab teil ka blokeerida rünnakud DNS-i vahemälu mürgitamiseks, mis põhineb killustatud UDP-pakettidega manipuleerimisel (fragmentideks jagamisel ei sisalda teine ​​fragment identifikaatoriga päist, nii et seda saab võltsida, mille jaoks piisab ainult kontrollsumma vastavusest) .

PowerDNS Recursor 4.2 võtab arvesse probleeme suurte UDP-pakettidega ja lülitub EDNS-i puhvri suurusele (edns-outgoing-bufsize) 1232 baiti, mitte varem kasutatud 1680 baiti, mis peaks oluliselt vähendama UDP-pakettide kaotamise tõenäosust. . Väärtus 1232 valiti seetõttu, et see on maksimum, mille juures DNS-i vastuse suurus, võttes arvesse IPv6, mahub minimaalsesse MTU väärtusesse (1280). Kliendile saadetavate vastuste kärpimise eest vastutava kärpimisläve parameetri väärtust on samuti vähendatud 1232-ni.

Muud muudatused versioonis PowerDNS Recursor 4.2:

  • Lisatud mehhanismi tugi XPF (X-Proxied-For), mis on X-Forwarded-For HTTP päise DNS-i vaste, mis võimaldab edastada teavet algse taotleja IP-aadressi ja pordi numbri kohta vahepuhverserverite ja koormuse tasakaalustajate (nt dnsdist) kaudu. . XPF-i lubamiseks on valikud "xpf-allow-from"Ja"xpf-rr-kood";
  • Täiustatud tugi EDNS-i laiendusele Kliendi alamvõrk (ECS), mis võimaldab teil edastada DNS-päringutes autoriteetsesse DNS-serverisse teavet alamvõrgu kohta, millest ahelas edastatud esialgne päring mürgitati (andmed kliendi lähte-alamvõrgu kohta on vajalikud sisu edastamise võrkude tõhusaks toimimiseks) . Uus versioon lisab sätted EDNS-i kliendi alamvõrgu kasutamise valikuliseks juhtimiseks: "ecs-add-for» võrgumaskide loendiga, mille IP-d kasutatakse ECS-is väljuvates päringutes. Aadresside puhul, mis ei kuulu määratud maskide alla, kasutatakse käskkirjas "ecs-scope-zero-aadress". direktiivi kaudu"use-incoming-edns-subnet» saate määrata alamvõrgud, millest saabuvaid täidetud ECS-väärtustega päringuid ei asendata;
  • Serverite puhul, mis töötlevad palju taotlusi sekundis (üle 100 tuhande), kehtib direktiiv "turustaja-niidid", mis määrab lõimede arvu sissetulevate päringute vastuvõtmiseks ja nende jaotamiseks töölõimede vahel (see on mõttekas ainult siis, kui kasutate "pdns-distributes-queries=yes").
  • Lisatud seadistus avalik-liite-loendi-fail oma faili määratlemiseks avalike järelliidete loetelu domeenid, kus kasutajad saavad registreerida oma alamdomeene, mitte PowerDNS Recursorisse sisseehitatud loendi.

PowerDNS-i projekt teatas ka üleminekust kuuekuulisele arendustsüklile ning PowerDNS Recursor 4.3 järgmine suurem väljalase on oodata 2020. aasta jaanuaris. Märkimisväärsete väljalasete uuendusi töötatakse välja aastaringselt, seejärel lastakse haavatavuse parandusi veel kuueks kuuks välja. Seega kestab PowerDNS Recursor 4.2 haru tugi kuni 2021. aasta jaanuarini. Sarnased arendustsükli muudatused on tehtud PowerDNS Authoritative Serveri jaoks, mis peaks lähiajal välja andma 4.2.

PowerDNS Recursori peamised omadused:

  • Tööriistad kaugstatistika kogumiseks;
  • Kohene taaskäivitamine;
  • Sisseehitatud mootor töötlejate ühendamiseks Lua keeles;
  • Täielik DNSSEC tugi ja DNS64;
  • RPZ (Response Policy Zones) tugi ja mustade nimekirjade määratlemise võimalus;
  • võltsimisvastased mehhanismid;
  • Võimalus salvestada eraldusvõime tulemusi BIND-tsooni failidena.
  • Kõrge jõudluse tagamiseks kasutatakse FreeBSD-s, Linuxis ja Solarises kaasaegseid ühenduse multipleksimise mehhanisme (kqueue, epoll, /dev/poll), aga ka suure jõudlusega DNS-paketiparserit, mis on võimeline töötlema kümneid tuhandeid paralleelseid päringuid.

Allikas: opennet.ru

Lisa kommentaar