Izdanje PowerDNS Recursor 4.2 i inicijativa Dan zastave DNS-a 2020

Nakon godinu i pol razvoja predstavio izdanje caching DNS poslužitelja PowerDNS resurs 4.2, odgovoran za rekurzivnu konverziju imena. PowerDNS Recursor izgrađen je na istoj bazi koda kao i PowerDNS autoritativni poslužitelj, ali PowerDNS rekurzivni i autoritativni DNS poslužitelji razvijeni su kroz različite razvojne cikluse i objavljeni su kao zasebni proizvodi. Šifra projekta distribuira licenciran pod GPLv2.

Nova verzija eliminira sve probleme vezane uz obradu DNS paketa s EDNS zastavicama. Starije verzije PowerDNS Recursora prije 2016. imale su praksu ignoriranja paketa s nepodržanim EDNS zastavicama bez slanja odgovora u starom formatu, odbacujući EDNS zastavice kako zahtijeva specifikacija. Prethodno je ovo nestandardno ponašanje bilo podržano u BIND-u u obliku zaobilaznog rješenja, ali unutar opsega provedeno u veljači inicijative Dan zastave DNS-a, programeri DNS poslužitelja odlučili su napustiti ovaj hack.

U PowerDNS-u su glavni problemi u obradi paketa s EDNS-om otklonjeni još 2017. u izdanju 4.1, au ogranku 2016 objavljenom 4.0. pojavile su se pojedinačne nekompatibilnosti koje nastaju pod određenim skupom okolnosti i općenito ne ometaju normalno funkcioniranje operacija. U PowerDNS Recursor 4.2, kao u VEZA 9.14, Uklonjena zaobilazna rješenja za podršku autoritativnim poslužiteljima koji netočno odgovaraju na zahtjeve s EDNS oznakama. Do sada, ako nakon slanja zahtjeva s EDNS zastavicama nije bilo odgovora nakon određenog vremenskog razdoblja, DNS poslužitelj je pretpostavljao da proširene zastavice nisu podržane i slao je drugi zahtjev bez EDNS zastavica. Ovo ponašanje je sada onemogućeno jer je ovaj kod rezultirao povećanom latencijom zbog ponovnih slanja paketa, povećanim opterećenjem mreže i dvosmislenošću kada ne odgovara zbog kvarova mreže, te spriječio implementaciju značajki temeljenih 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 zastave DNS-a 2020dizajniran da usmjeri pažnju na odluka problem s IP fragmentacijom pri obradi velikih DNS poruka. U sklopu inicijative planirano popraviti preporučene veličine međuspremnika za EDNS na 1200 bajtova i Prevedi Obrada zahtjeva putem TCP-a obavezna je značajka na poslužiteljima. 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). Predlaže se uklanjanje opcije onemogućavanja TCP-a iz standarda i standardizacija prijelaza sa slanja zahtjeva preko UDP-a na korištenje TCP-a u slučajevima kada uspostavljena veličina EDNS međuspremnika nije dovoljna.

Promjene predložene u sklopu inicijative uklonit će zabunu s odabirom veličine EDNS međuspremnika i riješiti problem fragmentacije velikih UDP poruka, čija obrada često dovodi do gubitka paketa i isteka vremena na strani klijenta. Na strani klijenta, veličina EDNS međuspremnika će biti konstantna i veliki odgovori će se odmah slati klijentu preko TCP-a. Izbjegavanje slanja velikih poruka putem UDP-a također će vam omogućiti blokiranje napadi za trovanje DNS cache-a, temeljeno na manipulaciji fragmentiranih UDP paketa (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 kontrolni zbroj podudara) .

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

Ostale promjene u PowerDNS Recursor 4.2:

  • Dodana podrška za mehanizam XPF (X-Proxied-For), što je DNS ekvivalent X-Forwarded-For HTTP zaglavlja, dopuštajući prosljeđivanje informacija o IP adresi i broju porta originalnog zahtjevatelja putem međuproksija i balansera opterećenja (kao što je dnsdist) . Za omogućavanje XPF postoje opcije "xpf-dopusti-od"A"xpf-rr-kod";
  • Poboljšana podrška za EDNS proširenje Podmreža klijenta (ECS), koji vam omogućuje prijenos DNS upita autoritativnom DNS poslužitelju informacija o podmreži iz koje je početni zahtjev poslan duž lanca bio zatrovan (podaci o klijentovoj izvornoj podmreži neophodni su za učinkovit rad mreža za isporuku sadržaja) . Novo izdanje dodaje postavke za selektivnu kontrolu nad korištenjem EDNS klijentske podmreže: “ecs-dodatak-za» s popisom mrežnih maski za koje će se IP koristiti u ECS-u u odlaznim zahtjevima. Za adrese koje ne spadaju unutar navedenih maski, opća adresa navedena u direktivi "ecs-opseg-nula-adresa". Kroz direktivu "koristiti-dolaznu-edns-podmrežu» možete definirati podmreže iz kojih dolazni zahtjevi s ispunjenim ECS vrijednostima neće biti zamijenjeni;
  • Za poslužitelje koji obrađuju veliki broj zahtjeva u sekundi (više od 100 tisuća), direktiva “distributer-niti", koji određuje broj niti za primanje dolaznih zahtjeva i njihovu distribuciju između radničkih niti (ima smisla samo kada se koristi "pdns-distributes-queries=da").
  • Dodana postavka javna-sufiks-popis-datoteka za definiranje vlastite datoteke popis javnih sufiksa domene u koje korisnici mogu registrirati svoje poddomene, umjesto popisa ugrađenog u PowerDNS Recursor.

Projekt PowerDNS također je najavio prijelaz na šestomjesečni razvojni ciklus, sa sljedećim velikim izdanjem PowerDNS Recursor 4.3 koje se očekuje u siječnju 2020. Ažuriranja za značajna izdanja razvijat će se tijekom cijele godine, nakon čega će se popravci ranjivosti objavljivati ​​još šest mjeseci. Stoga će podrška za granu PowerDNS Recursor 4.2 trajati do siječnja 2021. Slične promjene razvojnog ciklusa napravljene su za PowerDNS autoritativni poslužitelj, za koji se očekuje da će izdati 4.2 u bliskoj budućnosti.

Glavne značajke PowerDNS Recursora:

  • Alati za daljinsko prikupljanje statistike;
  • Trenutno ponovno pokretanje;
  • Ugrađeni motor za povezivanje rukovatelja u Lua jeziku;
  • Puna DNSSEC podrška i DNS64;
  • Podrška za RPZ (Response Policy Zones) i mogućnost definiranja crnih lista;
  • Mehanizmi protiv prijevare;
  • Mogućnost snimanja rezultata razlučivanja kao datoteka BIND zone.
  • Kako bi se osigurala visoka izvedba, moderni mehanizmi multipleksiranja veze koriste se u FreeBSD-u, Linuxu i Solarisu (kqueue, epoll, /dev/poll), kao i DNS parser paketa visokih performansi koji može obraditi desetke tisuća paralelnih zahtjeva.

Izvor: opennet.ru

Dodajte komentar