PowerDNS Recursor 4.2 ja DNS flag day 2020 -aloitteen julkaisu

Puolen vuoden kehitystyön jälkeen esitetty välimuistin DNS-palvelimen vapauttaminen PowerDNS-resurssi 4.2, joka vastaa rekursiivisesta nimen muuntamisesta. PowerDNS Recursor on rakennettu samalle koodipohjalle kuin PowerDNS Authoritative Server, mutta PowerDNS:n rekursiiviset ja arvovaltaiset DNS-palvelimet kehitetään eri kehitysjaksojen kautta ja julkaistaan ​​erillisinä tuotteina. Projektin koodi jakelija lisensoitu GPLv2:lla.

Uusi versio poistaa kaikki ongelmat, jotka liittyvät DNS-pakettien käsittelyyn EDNS-lipuilla. PowerDNS Recursorin vanhemmissa versioissa ennen vuotta 2016 oli käytäntö jättää huomiotta paketit, joissa oli ei-tuettu EDNS-lippu, lähettämättä vastausta vanhassa muodossa, hyläten EDNS-liput spesifikaation edellyttämällä tavalla. Aikaisemmin tätä epätyypillistä toimintaa tuettiin BINDissa kiertotavan muodossa, mutta toteutettu helmikuun aloitteista DNS-lipun päivä, DNS-palvelimen kehittäjät päättivät luopua tästä hakkeroinnista.

PowerDNS:ssä suurimmat ongelmat pakettien käsittelyssä EDNS:llä poistuivat jo vuonna 2017 julkaisussa 4.1, ja vuonna 2016 julkaistussa 4.0-haarassa nousi esiin yksittäisiä yhteensopimattomuuksia, jotka syntyvät tietyissä olosuhteissa ja jotka eivät yleensä häiritse normaalia toimintaa. operaatio. PowerDNS Recursor 4.2:ssa, kuten SIDOS 9.14, Poistettu kiertotapoja, joilla tuetaan arvovaltaisia ​​palvelimia, jotka vastaavat virheellisesti pyyntöihin EDNS-lippujen avulla. Tähän asti, jos pyynnön lähettämisen jälkeen EDNS-lippujen kanssa ei vastattu tietyn ajan kuluttua, DNS-palvelin oletti, että laajennettuja lippuja ei tueta, ja lähetti toisen pyynnön ilman EDNS-lippuja. Tämä toiminta on nyt poistettu käytöstä, koska tämä koodi johti lisääntyneeseen viiveeseen pakettien uudelleenlähetyksistä, lisääntyneestä verkon kuormituksesta ja epäselvyydestä, kun verkkovikojen vuoksi ei vastata, ja esti EDNS-pohjaisten ominaisuuksien, kuten DNS-evästeiden, käyttöönoton suojaamaan DDoS-hyökkäyksiltä.

Tapahtuma on päätetty järjestää ensi vuonna DNS-lippupäivä 2020suunniteltu keskittymään siihen päätös ongelmia IP-osien pirstoutumisesta suuria DNS-viestejä käsiteltäessä. Osana aloitetta on suunniteltu korjaa suositellut puskurikoot EDNS:lle 1200 tavuun ja kääntää pyyntöjen käsittely TCP:n kautta on pakollinen ominaisuus palvelimilla. Nyt tarvitaan tukea pyyntöjen käsittelyyn UDP:n kautta, ja TCP on toivottava, mutta ei pakollinen toiminnan kannalta (standardi edellyttää TCP:n poistamista käytöstä). Mahdollisuus poistaa TCP pois käytöstä standardista ehdotetaan ja standardisoidaan siirtyminen pyyntöjen lähettämisestä UDP:n kautta TCP:n käyttöön tapauksissa, joissa vahvistettu EDNS-puskurin koko ei riitä.

Osana aloitetta ehdotetut muutokset poistavat hämmennystä EDNS-puskurin koon valinnassa ja ratkaisevat suurten UDP-sanomien pirstoutumisen ongelman, jonka käsittely usein johtaa pakettien katoamiseen ja aikakatkaisuihin asiakaspuolella. Asiakaspuolella EDNS-puskurin koko on vakio ja suuret vastaukset lähetetään välittömästi asiakkaalle TCP:n kautta. Voit myös estää suurten viestien lähettämisen UDP:n kautta hyökkäyksiä DNS-välimuistin myrkyttämiseen, joka perustuu pirstoutuneiden UDP-pakettien manipulointiin (fragmenteiksi jaettuna toinen fragmentti ei sisällä tunnisteella varustettua otsikkoa, joten se voidaan väärentää, jolle riittää, että tarkistussumma vastaa) .

PowerDNS Recursor 4.2 ottaa huomioon suuriin UDP-paketteihin liittyvät ongelmat ja siirtyy käyttämään 1232 tavun EDNS-puskurin kokoa (edns-outgoing-bufsize) aiemmin käytetyn 1680 tavun rajan sijaan, mikä vähentää merkittävästi UDP-pakettien menettämisen todennäköisyyttä. . Arvo 1232 valittiin, koska se on maksimi, jolla DNS-vastauksen koko IPv6 huomioon ottaen mahtuu MTU:n minimiarvoon (1280). Myös truncation-threshold-parametrin arvo, joka vastaa asiakasvastausten trimmaamisesta, on laskettu 1232:een.

Muut muutokset PowerDNS Recursor 4.2:ssa:

  • Lisätty mekanismituki XPF (X-Proxied-For), joka on X-Forwarded-For HTTP-otsikon DNS-vastaava, jonka avulla tiedot alkuperäisen pyynnön esittäjän IP-osoitteesta ja porttinumerosta voidaan välittää välityspalvelinten ja kuormituksen tasaajien (kuten dnsdist) kautta. . XPF:n ottamiseksi käyttöön on vaihtoehtoja "xpf-allow-from"Ja"xpf-rr-koodi";
  • Parannettu tuki EDNS-laajennukselle Asiakkaan aliverkko (ECS), jonka avulla voit lähettää DNS-kyselyitä arvovaltaiselle DNS-palvelimelle tietoja aliverkosta, josta alkuperäinen ketjua pitkin lähetetty pyyntö myrkytettiin (tiedot asiakkaan lähdealiverkosta ovat tarpeen sisällönjakeluverkkojen tehokkaan toiminnan kannalta) . Uusi julkaisu lisää asetukset EDNS-asiakasaliverkon käytön valikoivaan hallintaan: "ecs-add-for» luettelo verkkomaskeista, joiden IP-osoitetta käytetään ECS:ssä lähtevissä pyynnöissä. Osoitteille, jotka eivät ole määritettyjen maskien sisällä, yleisosoite, joka on määritetty direktiivissä "ecs-scope-zero-address". direktiivin kautta"use-incoming-edns-subnet» voit määrittää aliverkkoja, joista saapuvia pyyntöjä täytetyillä ECS-arvoilla ei korvata;
  • Palvelimille, jotka käsittelevät suurta määrää pyyntöjä sekunnissa (yli 100 tuhatta), direktiivi "jakelija-langat", joka määrittää säikeiden määrän saapuvien pyyntöjen vastaanottamiseen ja niiden jakamiseen työsäikeiden välillä (on järkevää vain käytettäessä "pdns-distributes-queries=yes").
  • Lisätty asetus julkinen-liite-luettelo-tiedosto määrittääksesi oman tiedostosi luettelo julkisista päätteistä verkkotunnukset, joihin käyttäjät voivat rekisteröidä aliverkkotunnuksiaan PowerDNS Recursoriin sisäänrakennetun luettelon sijaan.

PowerDNS-projekti ilmoitti myös siirtyvänsä kuuden kuukauden kehitysjaksoon, ja PowerDNS Recursor 4.3:n seuraava suuri julkaisu odotetaan tammikuussa 2020. Päivityksiä merkittäviin julkaisuihin kehitetään ympäri vuoden, minkä jälkeen haavoittuvuuskorjauksia julkaistaan ​​vielä kuuden kuukauden ajan. Näin ollen tuki PowerDNS Recursor 4.2 -haaralle kestää tammikuuhun 2021 asti. Samanlaisia ​​kehityssyklin muutoksia on tehty PowerDNS Authoritative Serverille, jonka odotetaan julkaisevan 4.2:n lähitulevaisuudessa.

PowerDNS Recursorin pääominaisuudet:

  • Työkalut etätilastojen keräämiseen;
  • Välitön uudelleenkäynnistys;
  • Sisäänrakennettu moottori käsittelijöiden yhdistämiseen Lua-kielellä;
  • Täysi DNSSEC-tuki ja DNS64;
  • Tuki RPZ:lle (Response Policy Zones) ja mahdollisuus määrittää mustia listoja;
  • Huijauksen estomekanismit;
  • Mahdollisuus tallentaa resoluutiotulokset BIND-vyöhyketiedostoina.
  • Korkean suorituskyvyn varmistamiseksi FreeBSD:ssä, Linuxissa ja Solariksessa käytetään nykyaikaisia ​​yhteyksien multipleksausmekanismeja (kqueue, epoll, /dev/poll) sekä tehokasta DNS-paketin jäsentäjää, joka pystyy käsittelemään kymmeniä tuhansia rinnakkaisia ​​pyyntöjä.

Lähde: opennet.ru

Lisää kommentti