Izdavanje inicijative PowerDNS Recursor 4.2 i DNS flag day 2020

Nakon godinu i po dana razvoja predstavljen oslobađanje DNS servera za keširanje PowerDNS resurs 4.2, odgovoran za rekurzivnu konverziju imena. PowerDNS Recursor je izgrađen na istoj bazi koda kao i PowerDNS autoritativni server, ali PowerDNS rekurzivni i autoritativni DNS serveri se razvijaju kroz različite razvojne cikluse i puštaju se kao zasebni proizvodi. Šifra projekta distribuira licenciran pod GPLv2.

Nova verzija eliminiše sve probleme vezane za obradu DNS paketa sa EDNS zastavicama. Starije verzije PowerDNS Recursor-a prije 2016. godine imale su praksu ignoriranja paketa s nepodržanim EDNS oznakama bez slanja odgovora u starom formatu, odbacujući EDNS zastavice prema specifikaciji. Ranije je ovo nestandardno ponašanje bilo podržano u BIND-u u obliku zaobilaznog rješenja, ali u okviru sprovedeno februarske inicijative Dan DNS zastave, programeri DNS servera odlučili su da napuste ovaj hak.

U PowerDNS-u su glavni problemi u obradi paketa sa EDNS-om eliminisani još 2017. godine u izdanju 4.1, a u grani 2016 objavljenoj 4.0. godine pojavile su se pojedinačne nekompatibilnosti koje nastaju pod određenim spletom okolnosti i generalno ne ometaju normalno operacija. U PowerDNS Recursor 4.2, kao u VEZA 9.14, Uklonjena zaobilazna rješenja za podršku autoritativnih servera koji neispravno odgovaraju na zahtjeve sa EDNS oznakama. Do sada, ako nakon slanja zahtjeva sa EDNS oznakama nije bilo odgovora nakon određenog vremenskog perioda, DNS server je pretpostavljao da proširene zastavice nisu podržane i poslao je drugi zahtjev bez EDNS zastavica. Ovo ponašanje je sada onemogućeno jer je ovaj kod rezultirao povećanim kašnjenjem zbog retransmisije paketa, povećanim opterećenjem mreže i nejasnoćama pri neodgovaranju zbog kvarova na mreži, te spriječio implementaciju funkcija zasnovanih na EDNS-u kao što su DNS kolačići za zaštitu od DDoS napada.

Odlučeno je da se manifestacija održi sljedeće godine Dan DNS zastave 2020dizajniran da usmeri pažnju na odluka problemi sa IP fragmentacijom prilikom obrade velikih DNS poruka. Kao dio inicijative planirano popraviti preporučene veličine međuspremnika za EDNS na 1200 bajtova, i translate obrada zahtjeva putem TCP-a je obavezna funkcija na serverima. Sada je potrebna podrška za obradu zahtjeva putem UDP-a, a TCP je poželjan, ali nije potreban za rad (standard zahtijeva mogućnost onemogućavanja TCP-a). Predloženo je da se ukloni opcija za onemogućavanje TCP-a iz standarda i standardizira prelazak sa slanja zahtjeva preko UDP-a na korištenje TCP-a u slučajevima kada utvrđena veličina EDNS bafera nije dovoljna.

Promjene predložene kao dio inicijative će eliminirati zabunu s odabirom veličine EDNS bafera i riješiti problem fragmentacije velikih UDP poruka, čija obrada često dovodi do gubitka paketa i tajm-auta na strani klijenta. Na strani klijenta, veličina EDNS bafera će biti konstantna i veliki odgovori će se odmah slati klijentu preko TCP-a. Izbjegavanje slanja velikih poruka preko UDP-a također će vam omogućiti da blokirate napada za trovanje DNS keš memorije, na osnovu manipulacije fragmentiranim UDP paketima (kada se podijeli na fragmente, drugi fragment ne sadrži zaglavlje s identifikatorom, pa se može krivotvoriti, za što je dovoljno samo da se kontrolna suma podudara) .

PowerDNS Recursor 4.2 uzima u obzir probleme sa velikim UDP paketima i prebacuje se na korištenje veličine EDNS bafera (edns-outgoing-bufsize) od 1232 bajta, umjesto prethodno korištenog ograničenja od 1680 bajtova, što bi trebalo značajno smanjiti vjerovatnoću gubitka UDP paketa . Vrijednost 1232 je odabrana jer je to maksimum na kojem se veličina DNS odgovora, uzimajući u obzir IPv6, uklapa u minimalnu MTU vrijednost (1280). Vrijednost parametra praga skraćenja, koji je odgovoran za skraćivanje odgovora klijentu, također je smanjena na 1232.

Ostale promjene u PowerDNS Recursor 4.2:

  • Dodata podrška mehanizmu XPF (X-Proxied-For), što je DNS ekvivalent HTTP zaglavlju X-Forwarded-For, omogućavajući prosljeđivanje informacija o IP adresi i broju porta originalnog zahtjevatelja putem posrednih proksija i balansera opterećenja (kao što je dnsdist) . Da biste omogućili XPF, postoje opcije "xpf-dozvoli-iz"I"xpf-rr-code";
  • Poboljšana podrška za EDNS ekstenziju Podmreža klijenta (ECS), koji vam omogućava da u DNS upitima prenesete autoritativnom DNS serveru informacije o podmreži iz koje je zatrovan početni zahtjev koji se prenosi duž lanca (podaci o klijentovoj izvornoj podmreži su neophodni za efikasan rad mreža za isporuku sadržaja) . Novo izdanje dodaje postavke za selektivnu kontrolu nad korištenjem EDNS klijentske podmreže: “ecs-add-for» sa listom mrežnih maski za koje će se IP koristiti u ECS-u u odlaznim zahtjevima. Za adrese koje ne spadaju u navedene maske, opća adresa navedena u direktivi "ecs-scope-nula-address". Putem direktive"use-incoming-edns-subnet» možete definisati podmreže iz kojih dolazni zahtevi sa popunjenim ECS vrednostima neće biti zamenjeni;
  • Za servere koji obrađuju veliki broj zahteva u sekundi (više od 100 hiljada), direktiva “distributer-threads", koji određuje broj niti za primanje dolaznih zahtjeva i njihovu distribuciju između radnih niti (ima smisla samo kada se koristi "pdns-distributes-queries=yes").
  • Dodata postavka javni-sufiks-list-datoteka da definišete sopstvenu datoteku sa spisak javnih sufiksa domene u kojima korisnici mogu registrovati svoje poddomene, umjesto liste ugrađene u PowerDNS Recursor.

PowerDNS projekat je također najavio prelazak na šestomjesečni razvojni ciklus, sa sljedećim velikim izdanjem PowerDNS Recursor 4.3 koji se očekuje u januaru 2020. Ažuriranja za značajna izdanja će se razvijati tokom cijele godine, nakon čega će ispravke ranjivosti biti objavljene narednih šest mjeseci. Tako će podrška za granu PowerDNS Recursor 4.2 trajati do januara 2021. Slične promjene ciklusa razvoja napravljene su za PowerDNS autoritativni server, za koji se očekuje da će izdati 4.2 u bliskoj budućnosti.

Glavne karakteristike PowerDNS Rekursora:

  • Alati za daljinsko prikupljanje statistike;
  • Instant restart;
  • Ugrađeni motor za povezivanje rukovalaca na Lua jeziku;
  • Potpuna DNSSEC podrška i DNS64;
  • Podrška za RPZ (Response Policy Zones) i mogućnost definiranja crnih lista;
  • Mehanizmi protiv lažiranja;
  • Sposobnost snimanja rezultata rezolucije kao datoteka BIND zone.
  • Kako bi se osigurale visoke performanse, moderni mehanizmi multipleksiranja konekcije se koriste u FreeBSD-u, Linuxu i Solarisu (kqueue, epoll, /dev/poll), kao i visokoučinkoviti parser DNS paketa koji može obraditi desetine hiljada paralelnih zahtjeva.

izvor: opennet.ru

Dodajte komentar