Vydanie PowerDNS Recursor 4.2 a iniciatívy DNS flag day 2020

Po roku a pol vývoja predložené uvoľnenie servera DNS pre vyrovnávaciu pamäť Zdroj PowerDNS 4.2, zodpovedný za rekurzívnu konverziu mien. PowerDNS Recursor je postavený na rovnakej kódovej základni ako PowerDNS Authoritative Server, ale PowerDNS rekurzívne a autoritatívne DNS servery sa vyvíjajú v rôznych vývojových cykloch a sú vydávané ako samostatné produkty. Kód projektu distribuovaný pod licenciou GPLv2.

Nová verzia odstraňuje všetky problémy súvisiace so spracovaním paketov DNS s príznakmi EDNS. Staršie verzie PowerDNS Recursor pred rokom 2016 mali prax ignorovania paketov s nepodporovanými príznakmi EDNS bez odoslania odpovede v starom formáte, pričom príznaky EDNS boli vyradené podľa požiadaviek špecifikácie. Predtým bolo toto neštandardné správanie podporované v BIND vo forme riešenia, ale v rámci uskutočnené vo februárových iniciatívach Deň vlajky DNS, vývojári serverov DNS sa rozhodli opustiť tento hack.

V PowerDNS boli hlavné problémy pri spracovaní paketov pomocou EDNS odstránené už v roku 2017 vo verzii 4.1 a vo vetve 2016 vydanej v roku 4.0 sa objavili jednotlivé nekompatibility, ktoré vznikajú za určitých okolností a vo všeobecnosti nezasahujú do normálneho stavu. prevádzka. V PowerDNS Recursor 4.2, ako v ZÁVÄZOK 9.14, Odstránené riešenia na podporu autoritatívnych serverov, ktoré nesprávne odpovedajú na požiadavky s príznakmi EDNS. Ak doteraz po odoslaní požiadavky s príznakmi EDNS nebola po určitom čase žiadna odpoveď, server DNS predpokladal, že rozšírené príznaky nie sú podporované a odoslal druhú požiadavku bez príznakov EDNS. Toto správanie bolo teraz deaktivované, pretože tento kód viedol k zvýšeniu latencie v dôsledku opakovaných prenosov paketov, zvýšenému zaťaženiu siete a nejednoznačnosti pri neodpovedaní z dôvodu zlyhania siete a zabránil implementácii funkcií založených na EDNS, ako sú súbory cookie DNS na ochranu pred útokmi DDoS.

Bolo rozhodnuté, že podujatie sa bude konať budúci rok Deň vlajky DNS 2020navrhnutý tak, aby upriamil pozornosť rozhodnutie problémy s fragmentáciou IP pri spracovaní veľkých správ DNS. V rámci iniciatívy je plánované opraviť odporúčanú veľkosť vyrovnávacej pamäte pre EDNS na 1200 bajtov a preložiť spracovanie požiadaviek cez TCP je nevyhnutnou funkciou serverov. Teraz je potrebná podpora pre spracovanie požiadaviek cez UDP a TCP je žiaduci, ale nie potrebný na prevádzku (štandard vyžaduje možnosť vypnúť TCP). Navrhuje sa odstrániť možnosť deaktivovať TCP zo štandardu a štandardizovať prechod od odosielania požiadaviek cez UDP na používanie TCP v prípadoch, keď stanovená veľkosť vyrovnávacej pamäte EDNS nestačí.

Zmeny navrhované v rámci iniciatívy odstránia zmätok pri výbere veľkosti vyrovnávacej pamäte EDNS a vyriešia problém fragmentácie veľkých UDP správ, ktorých spracovanie často vedie k strate paketov a timeoutom na strane klienta. Na strane klienta bude veľkosť vyrovnávacej pamäte EDNS konštantná a veľké odpovede sa budú okamžite odosielať klientovi cez TCP. Blokovanie vám tiež umožní vyhnúť sa odosielaniu veľkých správ cez UDP útokov za otravu DNS cache, na základe manipulácie s fragmentovanými UDP paketmi (pri rozdelení na fragmenty druhý fragment neobsahuje hlavičku s identifikátorom, takže môže byť sfalšovaný, na čo stačí, aby sa zhodoval kontrolný súčet) .

PowerDNS Recursor 4.2 berie do úvahy problémy s veľkými paketmi UDP a prepína na používanie veľkosti vyrovnávacej pamäte EDNS (edns-outgoing-bufsize) 1232 bajtov namiesto predtým používaného limitu 1680 bajtov, čo by malo výrazne znížiť pravdepodobnosť straty paketov UDP . Hodnota 1232 bola zvolená, pretože je to maximum, pri ktorom sa veľkosť odpovede DNS, berúc do úvahy IPv6, zmestí do minimálnej hodnoty MTU (1280). Hodnota parametra truncation-threshold, ktorý je zodpovedný za orezanie odpovedí klientovi, bola tiež znížená na 1232.

Ďalšie zmeny v PowerDNS Recursor 4.2:

  • Pridaná podpora mechanizmu XPF (X-Proxied-For), čo je ekvivalent DNS hlavičky HTTP X-Forwarded-For, ktorá umožňuje preposielanie informácií o IP adrese a čísle portu pôvodného žiadateľa cez sprostredkujúce servery proxy a nástroje na vyrovnávanie zaťaženia (napríklad dnsdist) . Ak chcete povoliť XPF, existujú možnosti "xpf-allow-from"A"xpf-rr-code";
  • Vylepšená podpora pre rozšírenie EDNS Podsieť klienta (ECS), ktorý vám umožňuje prenášať v DNS dotazoch na autoritatívny server DNS informácie o podsieti, z ktorej bola prvotná požiadavka prenášaná v reťazci otrávená (údaje o zdrojovej podsieti klienta sú potrebné pre efektívnu prevádzku sietí na doručovanie obsahu) . Nové vydanie pridáva nastavenia pre selektívnu kontrolu používania klientskej podsiete EDNS:ecs-add-for» so zoznamom sieťových masiek, pre ktoré bude IP použitá v ECS v odchádzajúcich požiadavkách. Pre adresy, ktoré nespadajú do špecifikovaných masiek, všeobecná adresa špecifikovaná v smernici "ecs-scope-zero-address". Prostredníctvom smernice"use-incoming-edns-subnet» môžete definovať podsiete, z ktorých nebudú nahradené prichádzajúce požiadavky s vyplnenými hodnotami ECS;
  • Pre servery, ktoré spracúvajú veľký počet požiadaviek za sekundu (viac ako 100 tisíc), smernica „distribútor-závity", ktorý určuje počet vlákien na prijímanie prichádzajúcich požiadaviek a ich distribúciu medzi pracovné vlákna (má zmysel iba pri použití "pdns-distributes-queries=áno").
  • Pridané nastavenie verejný-sufix-list-file na definovanie vlastného súboru zoznam verejných prípon domény, v ktorých si používatelia môžu zaregistrovať svoje subdomény, namiesto zoznamu zabudovaného do PowerDNS Recursor.

Projekt PowerDNS tiež oznámil prechod na šesťmesačný vývojový cyklus, pričom ďalšie hlavné vydanie PowerDNS Recursor 4.3 sa očakáva v januári 2020. Aktualizácie pre významné vydania sa budú vyvíjať počas celého roka, po ktorom budú na ďalších šesť mesiacov vydávané opravy zraniteľností. Podpora pre vetvu PowerDNS Recursor 4.2 teda potrvá do januára 2021. Podobné zmeny vývojového cyklu boli vykonané pre PowerDNS Authoritative Server, od ktorého sa očakáva vydanie 4.2 v blízkej budúcnosti.

Hlavné funkcie PowerDNS Recursor:

  • Nástroje na vzdialený zber štatistík;
  • Okamžitý reštart;
  • Zabudovaný engine pre pripojenie handlerov v jazyku Lua;
  • Plná podpora DNSSEC a DNS64;
  • Podpora RPZ (Response Policy Zones) a možnosť definovať čierne listiny;
  • Mechanizmy proti spoofingu;
  • Schopnosť zaznamenávať výsledky rozlíšenia ako súbory zóny BIND.
  • Na zabezpečenie vysokého výkonu sa vo FreeBSD, Linux a Solaris používajú moderné mechanizmy multiplexovania pripojení (kqueue, epoll, /dev/poll), ako aj vysokovýkonný analyzátor paketov DNS schopný spracovať desiatky tisíc paralelných požiadaviek.

Zdroj: opennet.ru

Pridať komentár