PowerDNS Recursor 4.2-vrystelling en DNS-vlagdag 2020-inisiatief

Na 'n jaar en 'n half van ontwikkeling aangebied cache DNS-bediener vrystelling PowerDNS-hulpbron 4.2, wat verantwoordelik is vir rekursiewe naamresolusie. PowerDNS Recursor is gebou op dieselfde kodebasis as PowerDNS Authoritative Server, maar PowerDNS rekursiewe en gesaghebbende DNS-bedieners word deur verskillende ontwikkelingsiklusse ontwikkel en as aparte produkte vrygestel. Projek kode versprei deur gelisensieer onder GPLv2.

Die nuwe weergawe skakel alle kwessies uit wat verband hou met die verwerking van DNS-pakkies met EDNS-vlae. In ouer weergawes van PowerDNS Recursor voor 2016, is dit beoefen om pakkies met nie-ondersteunde EDNS-vlae te ignoreer, sonder om 'n antwoord in die ou formaat te stuur, om EDNS-vlae weg te gooi, soos vereis deur die spesifikasie. Voorheen is sulke nie-standaard gedrag in BIND ondersteun in die vorm van 'n oplossing, maar binne die raamwerk van uitgevoer Februarie-inisiatiewe DNS vlagdag, het die ontwikkelaars van DNS-bedieners besluit om hierdie hack te laat vaar.

In PowerDNS is die hoofprobleme met die verwerking van pakkies met EDNS in 2017 in vrystelling 4.1 reggestel, en in die 2016-tak wat in 4.0 vrygestel is, het individuele onverenigbaarheid na vore gekom wat onder 'n sekere stel omstandighede plaasgevind het en oor die algemeen nie inmeng met normale werking nie. In PowerDNS Recursor 4.2, soos in BINDING 9.14, het oplossings verwyder om gesaghebbende bedieners te ondersteun wat verkeerd reageer op navrae met EDNS-vlae. Tot nou toe, indien geen reaksie na 'n sekere tydperk ontvang is nadat 'n versoek met EDNS-vlae gestuur is nie, het die DNS-bediener van mening dat die uitgebreide vlae nie ondersteun word nie en het 'n tweede versoek sonder EDNS-vlae gestuur. Hierdie gedrag is nou gedeaktiveer, aangesien so 'n kode gelei het tot verhoogde vertragings as gevolg van herversending van pakkies, verhoogde netwerklading en dubbelsinnigheid in die afwesigheid van 'n reaksie as gevolg van netwerkfoute, en ook inmeng met die implementering van EDNS-gebaseerde kenmerke soos die gebruik van DNS-koekies om teen DDoS-aanvalle te beskerm.

Die volgende jaar is besluit om 'n geleentheid te hou DNS-vlagdag 2020ontwerp om op te fokus die besluit probleme met IP-fragmentasie wanneer groot DNS-boodskappe verwerk word. As deel van die inisiatief beplan word stel die aanbevole buffergroottes vir EDNS op 1200 grepe, en vertaal verwerking van versoeke oor TCP in die kategorie wat noodwendig op bedieners ondersteun word. Nou word ondersteuning vir die verwerking van versoeke oor UDP vereis, en TCP is wenslik, maar nie nodig vir werking nie (die standaard skryf die vermoë voor om TCP te deaktiveer). Daar word voorgestel om die opsie om TCP te deaktiveer van die standaard te verwyder en die oorgang van die stuur van versoeke oor UDP na die gebruik van TCP te standaardiseer in gevalle waar die vasgestelde EDNS-buffergrootte nie genoeg is nie.

Die veranderinge wat deur die inisiatief voorgestel word, sal verwarring oor die keuse van EDNS-buffergrootte uitskakel en die probleem van fragmentasie van groot UDP-boodskappe oplos, waarvan die verwerking dikwels lei tot pakkieverlies en tyd-outs aan die kliëntkant. Aan die kliëntkant sal die EDNS-buffergrootte konstant wees, en groot antwoorde sal onmiddellik oor TCP aan die kliënt gestuur word. Vermy die stuur van groot boodskappe oor UDP sal ook blokkeer aanvalle op DNS-kasvergiftiging, gebaseer op die manipulasie van gefragmenteerde UDP-pakkies (wanneer dit in fragmente verdeel word, bevat die tweede fragment nie 'n kopskrif met 'n identifiseerder nie, dus kan dit vervals word, waarvoor dit genoeg is om net by die kontrolesom te pas).

PowerDNS Recursor 4.2 het probleme met groot UDP-pakkies aangespreek en beweeg om 'n EDNS-buffergrootte (edns-outgoing-bufsize) van 1232 grepe te gebruik in plaas van die voorheen gebruikte limiet van 1680 grepe, wat die kans op verlore UDP-pakkies aansienlik behoort te verminder. Die waarde 1232 word gekies omdat dit die maksimum is waarteen die DNS-reaksiegrootte, met inagneming van IPv6, by die minimum MTU-waarde (1280) inpas. Die waarde van die afkappingsdrempelparameter, wat verantwoordelik is vir die afkap van antwoorde aan die kliënt, is ook tot 1232 verminder.

Ander veranderinge in PowerDNS Recursor 4.2:

  • Bygevoeg meganisme ondersteuning XPF (X-Proxied-For), wat die DNS-ekwivalent van die X-Forwarded-For HTTP-opskrif is, wat jou toelaat om inligting oor die IP-adres en poortnommer van die oorspronklike versoeker deur te gee, wat deur middel van tussengange en lasbalanseerders aangestuur word (vir byvoorbeeld dnsdist). Om XPF te aktiveer, die opsies "xpf-toelaat-van"En"xpf-rr-kode";
  • Verbeterde ondersteuning vir EDNS-uitbreiding Kliënt subnet (ECS), wat inligting oor die subnet waaruit die oorspronklike navraag vergiftig is in 'n DNS-versoek aan 'n gesaghebbende DNS-bediener toelaat (data oor die kliënt se bronsubnet is nodig vir die effektiewe werking van inhoudafleweringsnetwerke). Die nuwe weergawe voeg instellings by vir selektiewe beheer oor die gebruik van EDNS Client Subnet: «ecs-byvoeg-vir» met 'n lys van netmaskers waarvoor IP in uitgaande versoeke in ECS gebruik sal word. Vir adresse wat nie ooreenstem met die gespesifiseerde maskers nie, die generiese adres gespesifiseer in die "ecs-omvang-nul-adres". Deur die richtlijngebruik-inkomende-edns-subnet» jy kan subnette definieer, inkomende versoeke met gevulde ECS-waardes waarvandaan nie vervang sal word nie;
  • Vir bedieners wat 'n groot aantal versoeke per sekonde (meer as 100 duisend) verwerk, is die richtlijn "verspreider-drade", wat die aantal drade bepaal om inkomende versoeke te ontvang en dit onder werkersdrade te versprei (maak net sin wanneer die "pdns-distribueer-navrae=ja").
  • Bygevoeg instelling publieke-agtervoegsel-lys-lêer om jou eie lêer mee te definieer lys van publieke agtervoegsels domeine waar gebruikers hul subdomeine kan registreer in plaas van die ingeboude PowerDNS Recursor-lys.

Die PowerDNS-projek het ook 'n ontwikkelingsiklus van ses maande aangekondig, met die volgende groot vrystelling van PowerDNS Recursor 4.3 wat in Januarie 2020 verwag word. Opdaterings vir groot vrystellings sal in die loop van 'n jaar uitgerol word, gevolg deur nog ses maande vir kwesbaarheidsoplossings. Ondersteuning vir die PowerDNS Recursor 4.2-tak sal dus tot Januarie 2021 duur. Soortgelyke ontwikkelingsiklusveranderinge is aangeneem vir die PowerDNS Authoritative Server-produk, wat na verwagting binnekort 4.2 vrystel.

Sleutelkenmerke van PowerDNS Recursor:

  • Gereedskap vir afgeleë insameling van statistieke;
  • Onmiddellike herbegin;
  • Ingeboude enjin vir die koppeling van hanteerders in die Lua-taal;
  • Volledige ondersteuning vir DNSSEC en DNS64;
  • Ondersteuning vir RPZ (Respons Policy Zones) en die vermoë om swartlyste te definieer;
  • Anti-spoofing meganismes;
  • Vermoë om oplossingsresultate as BIND-sone-lêers te skryf.
  • Om hoë werkverrigting te verseker, word moderne verbindingsmultipleksmeganismes in FreeBSD, Linux en Solaris (kqueue, epoll, /dev/poll) gebruik, sowel as 'n hoëprestasie DNS-pakketontleder wat in staat is om tienduisende parallelle navrae te verwerk.

Bron: opennet.ru

Voeg 'n opmerking