Izdaja PowerDNS Recursor 4.2 in pobuda za dan zastave DNS 2020

Po letu in pol razvoja predstavljeno izdaja predpomnjenega strežnika DNS Vir PowerDNS 4.2, odgovoren za rekurzivno pretvorbo imen. PowerDNS Recursor je zgrajen na isti osnovi kode kot PowerDNS Authoritative Server, vendar so PowerDNS rekurzivni in avtoritativni DNS strežniki razviti v različnih razvojnih ciklih in izdani kot ločeni izdelki. Koda projekta distributer licenciran pod GPLv2.

Nova različica odpravlja vse težave, povezane z obdelavo DNS paketov z zastavicami EDNS. Starejše različice PowerDNS Recursor pred letom 2016 so imele prakso ignoriranja paketov z nepodprtimi zastavicami EDNS brez pošiljanja odgovora v stari obliki, pri čemer so zastavice EDNS zavržene, kot zahteva specifikacija. Prej je bilo to nestandardno vedenje podprto v BIND v obliki rešitve, vendar v okviru izvede v februarskih pobudah Dan zastave DNS, so se razvijalci strežnikov DNS odločili opustiti ta kramp.

V PowerDNS so bile glavne težave pri obdelavi paketov z EDNS odpravljene že leta 2017 v izdaji 4.1, v veji 2016, izdani leta 4.0, pa so se pojavile posamezne nekompatibilnosti, ki se pojavijo v določenih okoliščinah in na splošno ne motijo ​​normalnega delovanja. delovanje. V PowerDNS Recursor 4.2, kot v VEZ 9.14, Odstranjene rešitve za podporo avtoritativnim strežnikom, ki se nepravilno odzivajo na zahteve z zastavicami EDNS. Do sedaj, če po pošiljanju zahteve z zastavicami EDNS po določenem času ni bilo odgovora, je strežnik DNS predvideval, da razširjene zastavice niso podprte, in poslal drugo zahtevo brez zastavic EDNS. To vedenje je zdaj onemogočeno, saj je ta koda povzročila povečano zakasnitev zaradi ponovnega prenosa paketov, povečano obremenitev omrežja in dvoumnost, ko se ne odziva zaradi napak omrežja, ter preprečila izvajanje funkcij, ki temeljijo na EDNS, kot so piškotki DNS za zaščito pred napadi DDoS.

Odločeno je bilo, da se dogodek izvede naslednje leto Dan zastave DNS 2020zasnovan tako, da usmeri pozornost na odločitev težave s fragmentacijo IP pri obdelavi velikih sporočil DNS. V okviru pobude je načrtovana popraviti priporočene velikosti medpomnilnika za EDNS na 1200 bajtov in prevesti obdelava zahtev prek TCP je obvezna funkcija na strežnikih. Zdaj je potrebna podpora za obdelavo zahtev prek UDP, TCP pa je zaželen, vendar ni potreben za delovanje (standard zahteva možnost onemogočanja TCP). Predlaga se odstranitev možnosti za onemogočanje TCP iz standarda in standardizacija prehoda s pošiljanja zahtev prek UDP na uporabo TCP v primerih, ko vzpostavljena velikost vmesnega pomnilnika EDNS ne zadostuje.

Spremembe, predlagane v okviru pobude, bodo odpravile zmedo pri izbiri velikosti medpomnilnika EDNS in rešile problem fragmentacije velikih sporočil UDP, katerih obdelava pogosto vodi do izgube paketov in časovnih omejitev na strani odjemalca. Na strani odjemalca bo velikost vmesnega pomnilnika EDNS stalna in veliki odgovori bodo odjemalcu takoj poslani prek TCP. Če se izogibate pošiljanju velikih sporočil prek UDP, boste tudi lahko blokirali napadi za zastrupitev predpomnilnika DNS, ki temelji na manipulaciji fragmentiranih UDP paketov (ko je razdeljen na fragmente, drugi fragment ne vsebuje glave z identifikatorjem, zato ga je mogoče ponarediti, za kar je dovolj le ujemanje kontrolne vsote) .

PowerDNS Recursor 4.2 upošteva težave z velikimi paketi UDP in preklopi na uporabo velikosti medpomnilnika EDNS (edns-outgoing-bufsize) 1232 bajtov namesto prej uporabljene omejitve 1680 bajtov, kar naj bi znatno zmanjšalo verjetnost izgube paketov UDP . Vrednost 1232 je bila izbrana, ker je največja, pri kateri se velikost odziva DNS, upoštevajoč IPv6, prilega minimalni vrednosti MTU (1280). Vrednost parametra truncation-threshold, ki je odgovoren za obrezovanje odzivov odjemalca, je prav tako zmanjšana na 1232.

Druge spremembe v PowerDNS Recursor 4.2:

  • Dodana podpora mehanizmu XPF (X-Proxied-For), ki je ekvivalent DNS glave HTTP X-Forwarded-For, ki omogoča posredovanje informacij o naslovu IP in številki vrat prvotnega zahtevnika prek vmesnih strežnikov proxy in izravnalnikov obremenitve (kot je dnsdist) . Če želite omogočiti XPF, obstajajo možnosti "xpf-allow-from"In"koda xpf-rr";
  • Izboljšana podpora za razširitev EDNS Podomrežje odjemalca (ECS), ki vam omogoča, da v poizvedbah DNS avtoritativnemu strežniku DNS posredujete informacije o podomrežju, iz katerega je bila zastrupljena začetna zahteva, poslana po verigi (podatki o odjemalčevem izvornem podomrežju so potrebni za učinkovito delovanje omrežij za dostavo vsebine) . Nova izdaja dodaja nastavitve za selektivni nadzor nad uporabo odjemalskega podomrežja EDNS: “ecs-dodatek-za» s seznamom omrežnih mask, za katere bo IP uporabljen v ECS v odhodnih zahtevah. Za naslove, ki ne spadajo v podane maske, je splošni naslov, določen v direktivi "ecs-scope-zero-address". Z direktivo "use-incoming-edns-subnet» lahko določite podomrežja, iz katerih dohodne zahteve z izpolnjenimi ECS vrednostmi ne bodo zamenjane;
  • Za strežnike, ki obdelajo veliko število zahtev na sekundo (več kot 100 tisoč), velja direktiva “razdelilne niti", ki določa število niti za sprejemanje dohodnih zahtev in njihovo porazdelitev med delovne niti (smiselno je samo pri uporabi "pdns-distributes-queries=da").
  • Dodana nastavitev javna-priponska-seznam-datoteka za definiranje lastne datoteke seznam javnih končnic domen, v katerih lahko uporabniki registrirajo svoje poddomene, namesto seznama, vgrajenega v PowerDNS Recursor.

Projekt PowerDNS je tudi napovedal prehod na šestmesečni razvojni cikel, naslednjo večjo izdajo PowerDNS Recursor 4.3 pa pričakujemo januarja 2020. Posodobitve za pomembnejše izdaje se bodo razvijale vse leto, nato pa bodo popravki ranljivosti objavljeni še šest mesecev. Tako bo podpora za vejo PowerDNS Recursor 4.2 trajala do januarja 2021. Podobne spremembe razvojnega cikla so bile narejene za avtoritativni strežnik PowerDNS, ki naj bi izdal 4.2 v bližnji prihodnosti.

Glavne značilnosti PowerDNS Recursor:

  • Orodja za oddaljeno zbiranje statistike;
  • Takojšnji ponovni zagon;
  • Vgrajen motor za povezovanje obdelovalcev v jeziku Lua;
  • Popolna podpora DNSSEC in DNS64;
  • Podpora za RPZ (Response Policy Zones) in možnost definiranja črnih seznamov;
  • Mehanizmi proti ponarejanju;
  • Možnost snemanja rezultatov ločljivosti kot BIND conskih datotek.
  • Za zagotovitev visoke zmogljivosti se v FreeBSD, Linux in Solaris uporabljajo sodobni mehanizmi za multipleksiranje povezav (kqueue, epoll, /dev/poll), kot tudi visoko zmogljiv razčlenjevalec paketov DNS, ki lahko obdela več deset tisoč vzporednih zahtev.

Vir: opennet.ru

Dodaj komentar