Lansarea PowerDNS Recursor 4.2 și a inițiativei DNS flag day 2020

După un an și jumătate de dezvoltare prezentat lansarea serverului DNS de cache Resursa PowerDNS 4.2, responsabil pentru conversia recursivă a numelui. PowerDNS Recursor este construit pe aceeași bază de cod ca și PowerDNS Authoritative Server, dar serverele DNS recursive și autoritare PowerDNS sunt dezvoltate prin cicluri de dezvoltare diferite și sunt lansate ca produse separate. Cod proiect distribuit de licențiat conform GPLv2.

Noua versiune elimină toate problemele legate de procesarea pachetelor DNS cu steagurile EDNS. Versiunile mai vechi ale PowerDNS Recursor înainte de 2016 aveau practica de a ignora pachetele cu steaguri EDNS neacceptate fără a trimite un răspuns în formatul vechi, eliminând steaguri EDNS conform specificațiilor. Anterior, acest comportament non-standard a fost acceptat în BIND sub forma unei soluții, dar în sfera de aplicare a efectuate în inițiativele din februarie Ziua steagului DNS, dezvoltatorii de servere DNS au decis să renunțe la acest hack.

În PowerDNS, principalele probleme în procesarea pachetelor cu EDNS au fost eliminate încă din 2017 în versiunea 4.1, iar în ramura 2016 lansată în 4.0, au apărut incompatibilități individuale care apar într-un anumit set de circumstanțe și, în general, nu interferează cu normalul. Operațiune. În PowerDNS Recursor 4.2, ca în BIND 9.14, S-au eliminat soluții pentru a accepta servere autorizate care răspund incorect la solicitări cu semnalizatoare EDNS. Până acum, dacă după trimiterea unei solicitări cu draguri EDNS nu a existat niciun răspuns după o anumită perioadă de timp, serverul DNS a presupus că steaguri extinse nu sunt suportate și a trimis o a doua cerere fără steaguri EDNS. Acest comportament a fost acum dezactivat, deoarece acest cod a dus la creșterea latenței din cauza retransmisiilor de pachete, a încărcării rețelei crescute și a ambiguității atunci când nu răspundea din cauza defecțiunilor rețelei și a împiedicat implementarea caracteristicilor bazate pe EDNS, cum ar fi cookie-urile DNS pentru a proteja împotriva atacurilor DDoS.

S-a decis ca evenimentul să fie organizat anul viitor Ziua steagului DNS 2020conceput pentru a concentra atenția asupra decizia Probleme cu fragmentare IP la procesarea mesajelor DNS mari. Ca parte a inițiativei este planificat fixați dimensiunile tampon recomandate pentru EDNS la 1200 de octeți și traduce procesarea cererilor prin TCP este o caracteristică obligatorie pe servere. Acum este necesar suport pentru procesarea cererilor prin UDP, iar TCP este de dorit, dar nu este necesar pentru funcționare (standardul necesită abilitatea de a dezactiva TCP). Se propune eliminarea opțiunii de dezactivare a TCP din standard și standardizarea tranziției de la trimiterea cererilor prin UDP la utilizarea TCP în cazurile în care dimensiunea tampon EDNS stabilită nu este suficientă.

Modificările propuse ca parte a inițiativei vor elimina confuzia cu alegerea dimensiunii bufferului EDNS și vor rezolva problema fragmentării mesajelor UDP mari, a căror procesare duce adesea la pierderea pachetelor și la expirarea timpului pe partea clientului. Pe partea clientului, dimensiunea bufferului EDNS va fi constantă și răspunsurile mari vor fi trimise imediat clientului prin TCP. Evitarea trimiterii de mesaje mari prin UDP vă va permite, de asemenea, să blocați atacuri pentru otrăvirea cache-ului DNS, pe baza manipulării pachetelor UDP fragmentate (atunci când este împărțit în fragmente, al doilea fragment nu include un antet cu un identificator, deci poate fi falsificat, pentru care este suficient doar ca suma de control să se potrivească) .

PowerDNS Recursor 4.2 ia în considerare problemele cu pachetele UDP mari și trece la utilizarea dimensiunii bufferului EDNS (edns-outgoing-bufsize) de 1232 de octeți, în loc de limita utilizată anterior de 1680 de octeți, ceea ce ar trebui să reducă semnificativ probabilitatea de a pierde pachetele UDP. . Valoarea 1232 a fost aleasă deoarece este maximul la care dimensiunea răspunsului DNS, ținând cont de IPv6, se încadrează în valoarea minimă MTU (1280). Valoarea parametrului prag de trunchiere, care este responsabil pentru tăierea răspunsurilor către client, a fost, de asemenea, redusă la 1232.

Alte modificări în PowerDNS Recursor 4.2:

  • S-a adăugat suport pentru mecanism XPF (X-Proxied-For), care este echivalentul DNS al antetului HTTP X-Forwarded-For, permițând transmiterea informațiilor despre adresa IP și numărul de port al solicitantului inițial prin proxy-uri intermediare și echilibratori de încărcare (cum ar fi dnsdist) . Pentru a activa XPF există opțiuni "xpf-permite-de la"Și"xpf-rr-code";
  • Suport îmbunătățit pentru extensia EDNS Subrețea client (ECS), care vă permite să transmiteți în interogări DNS către un server DNS autorizat informații despre subrețeaua din care a fost otrăvită cererea inițială transmisă de-a lungul lanțului (datele despre subrețeaua sursă a clientului sunt necesare pentru funcționarea eficientă a rețelelor de livrare de conținut) . Noua versiune adaugă setări pentru controlul selectiv asupra utilizării subrețelei client EDNS: „ecs-add-for» cu o listă de măști de rețea pentru care IP-ul va fi utilizat în ECS în cererile de ieșire. Pentru adresele care nu se încadrează în măștile specificate, adresa generală specificată în directivă "ecs-scope-zero-adresă". Prin directiva "use-incoming-edns-subnet» puteți defini subrețele din care cererile primite cu valori ECS completate nu vor fi înlocuite;
  • Pentru serverele care procesează un număr mare de solicitări pe secundă (mai mult de 100 de mii), directiva „fire-distribuitoare", care determină numărul de fire de execuție pentru primirea solicitărilor primite și distribuirea acestora între firele de execuție (are sens numai atunci când se utilizează "pdns-distributes-queries=da").
  • Setare adăugată fişier-listă-sufixe-publice cu care să-ți definești propriul fișier lista de sufixe publice domenii în care utilizatorii își pot înregistra subdomeniile, în locul listei încorporate în PowerDNS Recursor.

Proiectul PowerDNS a anunțat, de asemenea, trecerea la un ciclu de dezvoltare de șase luni, următoarea lansare majoră a PowerDNS Recursor 4.3 așteptată în ianuarie 2020. Actualizări pentru versiuni semnificative vor fi dezvoltate pe tot parcursul anului, după care remedieri de vulnerabilități vor fi lansate pentru încă șase luni. Astfel, suportul pentru ramura PowerDNS Recursor 4.2 va dura până în ianuarie 2021. Modificări similare ciclului de dezvoltare au fost făcute pentru PowerDNS Authoritative Server, care este de așteptat să lanseze 4.2 în viitorul apropiat.

Principalele caracteristici ale PowerDNS Recursor:

  • Instrumente pentru colectarea de statistici la distanță;
  • Repornire instantanee;
  • Motor încorporat pentru conectarea manipulatorilor în limba Lua;
  • Suport complet DNSSEC și DNS64;
  • Suport pentru RPZ (Response Policy Zones) și capacitatea de a defini liste negre;
  • Mecanisme anti-spoofing;
  • Abilitatea de a înregistra rezultatele rezoluției ca fișiere de zonă BIND.
  • Pentru a asigura performanțe înalte, în FreeBSD, Linux și Solaris sunt utilizate mecanisme moderne de multiplexare a conexiunilor (kqueue, epoll, /dev/poll), precum și un parser de pachete DNS de înaltă performanță capabil să proceseze zeci de mii de solicitări paralele.

Sursa: opennet.ru

Adauga un comentariu