Release van PowerDNS Recursor 4.2 en DNS Flag Day 2020-initiatief

Na anderhalf jaar ontwikkeling ingediend vrijgave van caching DNS-server PowerDNS-bron 4.2, verantwoordelijk voor recursieve naamconversie. PowerDNS Recursor is gebouwd op dezelfde codebasis als PowerDNS Authoritative Server, maar PowerDNS recursieve en gezaghebbende DNS-servers zijn ontwikkeld via verschillende ontwikkelingscycli en worden als afzonderlijke producten uitgebracht. Projectcode gedistribueerd door gelicentieerd onder GPLv2.

De nieuwe versie elimineert alle problemen die verband houden met de verwerking van DNS-pakketten met EDNS-vlaggen. Oudere versies van PowerDNS Recursor vóór 2016 hadden de gewoonte om pakketten met niet-ondersteunde EDNS-vlaggen te negeren zonder een antwoord in het oude formaat te verzenden, waarbij de EDNS-vlaggen werden genegeerd zoals vereist door de specificatie. Voorheen werd dit afwijkende gedrag in BIND ondersteund in de vorm van een workaround, maar dan binnen de reikwijdte van voerde uit in februari initiatieven DNS-vlagdag, besloten DNS-serverontwikkelaars deze hack te staken.

In PowerDNS werden de belangrijkste problemen bij het verwerken van pakketten met EDNS in 2017 geëlimineerd in release 4.1, en in de 2016-tak die in 4.0 werd uitgebracht, kwamen individuele incompatibiliteiten aan het licht die onder bepaalde omstandigheden ontstaan ​​en die in het algemeen de normale omstandigheden niet verstoren. operatie. In PowerDNS Recursor 4.2, zoals in BINDEN 9.14, Tijdelijke oplossingen verwijderd ter ondersteuning van gezaghebbende servers die onjuist reageren op verzoeken met EDNS-vlaggen. Als er tot nu toe na het verzenden van een verzoek met EDNS-vlaggen geen reactie kwam na een bepaalde periode, ging de DNS-server ervan uit dat uitgebreide vlaggen niet werden ondersteund en stuurde een tweede verzoek zonder EDNS-vlaggen. Dit gedrag is nu uitgeschakeld omdat deze code resulteerde in een verhoogde latentie als gevolg van pakkethertransmissies, een verhoogde netwerkbelasting en dubbelzinnigheid bij het niet reageren als gevolg van netwerkstoringen, en de implementatie van EDNS-gebaseerde functies zoals DNS-cookies ter bescherming tegen DDoS-aanvallen verhinderde.

Er is besloten om het evenement volgend jaar te houden DNS-vlagdag 2020ontworpen om de aandacht op te vestigen de beslissing problemen met IP-fragmentatie bij het verwerken van grote DNS-berichten. Als onderdeel van het initiatief is gepland de aanbevolen buffergroottes voor EDNS herstellen tot 1200 bytes, en vertalen het verwerken van verzoeken via TCP is een onmisbare functie op servers. Nu is ondersteuning voor het verwerken van verzoeken via UDP vereist, en TCP is wenselijk, maar niet vereist voor gebruik (de standaard vereist de mogelijkheid om TCP uit te schakelen). Er wordt voorgesteld om de optie om TCP uit te schakelen uit de standaard te verwijderen en de overgang van het verzenden van verzoeken via UDP naar het gebruik van TCP te standaardiseren in gevallen waarin de vastgestelde EDNS-buffergrootte niet voldoende is.

De wijzigingen die als onderdeel van het initiatief worden voorgesteld, zullen verwarring bij het kiezen van de EDNS-buffergrootte wegnemen en het probleem van fragmentatie van grote UDP-berichten oplossen, waarvan de verwerking vaak leidt tot pakketverlies en time-outs aan de clientzijde. Aan de clientzijde zal de EDNS-buffergrootte constant zijn en zullen grote antwoorden onmiddellijk via TCP naar de client worden verzonden. Als u vermijdt dat u grote berichten via UDP verzendt, kunt u deze ook blokkeren aanvallen voor het vergiftigen van de DNS-cache, gebaseerd op de manipulatie van gefragmenteerde UDP-pakketten (wanneer het in fragmenten wordt opgesplitst, bevat het tweede fragment geen header met een identificatie, zodat het kan worden vervalst, waarvoor het alleen voldoende is dat de controlesom overeenkomt) .

PowerDNS Recursor 4.2 houdt rekening met problemen met grote UDP-pakketten en schakelt over op het gebruik van de EDNS-buffergrootte (edns-outgoing-bufsize) van 1232 bytes, in plaats van de eerder gebruikte limiet van 1680 bytes, wat de kans op verlies van UDP-pakketten aanzienlijk zou moeten verkleinen . De waarde 1232 is gekozen omdat dit het maximum is waarbij de grootte van de DNS-respons, rekening houdend met IPv6, past in de minimale MTU-waarde (1280). De waarde van de parameter truncatiedrempel, die verantwoordelijk is voor het bijsnijden van reacties op de client, is ook verlaagd naar 1232.

Andere wijzigingen in PowerDNS Recursor 4.2:

  • Mechanismeondersteuning toegevoegd XPF (X-Proxied-For), het DNS-equivalent van de X-Forwarded-For HTTP-header, waardoor informatie over het IP-adres en poortnummer van de oorspronkelijke aanvrager kan worden doorgestuurd via tussenliggende proxy's en load balancers (zoals dnsdist) . Om XPF in te schakelen zijn er opties "xpf-toestaan-van"En"xpf-rr-code
  • Verbeterde ondersteuning voor EDNS-extensie Client-subnet (ECS), waarmee u in DNS-query's naar een gezaghebbende DNS-server informatie kunt verzenden over het subnet van waaruit het initiële verzoek dat in de keten is verzonden, is vergiftigd (gegevens over het bronsubnet van de klant zijn noodzakelijk voor de effectieve werking van netwerken voor inhoudslevering) . De nieuwe release voegt instellingen toe voor selectieve controle over het gebruik van EDNS Client Subnet: “ecs-add-for» met een lijst met netwerkmaskers waarvan het IP-adres in ECS zal worden gebruikt bij uitgaande verzoeken. Voor adressen die niet binnen de opgegeven maskers vallen, wordt het algemene adres vermeld in de richtlijn "ecs-scope-zero-adres". Via de richtlijn "gebruik-inkomend-edns-subnet» u kunt subnetten definiëren waarvan inkomende verzoeken met ingevulde ECS-waarden niet worden vervangen;
  • Voor servers die een groot aantal verzoeken per seconde verwerken (meer dan 100 duizend), geldt de richtlijn “verdelerdraden", dat het aantal threads bepaalt voor het ontvangen van inkomende verzoeken en het distribueren ervan tussen werkthreads (is alleen zinvol bij gebruik van de "pdns-distributes-queries=ja
  • Instelling toegevoegd openbaar-achtervoegsellijstbestand om uw eigen bestand mee te definiëren lijst met openbare achtervoegsels domeinen waarin gebruikers hun subdomeinen kunnen registreren, in plaats van de lijst die is ingebouwd in PowerDNS Recursor.

Het PowerDNS-project kondigde ook een overstap aan naar een ontwikkelingscyclus van zes maanden, waarbij de volgende grote release van PowerDNS Recursor 4.3 in januari 2020 wordt verwacht. Updates voor belangrijke releases zullen het hele jaar door worden ontwikkeld, waarna oplossingen voor kwetsbaarheden nog eens zes maanden zullen worden vrijgegeven. De ondersteuning voor de PowerDNS Recursor 4.2-tak zal dus duren tot januari 2021. Soortgelijke wijzigingen in de ontwikkelingscyclus zijn aangebracht voor PowerDNS Authoritative Server, waarvan naar verwachting in de nabije toekomst versie 4.2 zal verschijnen.

Belangrijkste kenmerken van PowerDNS Recursor:

  • Hulpmiddelen voor het op afstand verzamelen van statistieken;
  • Onmiddellijke herstart;
  • Ingebouwde engine voor het verbinden van handlers in de Lua-taal;
  • Volledige DNSSEC-ondersteuning en DNS64;
  • Ondersteuning voor RPZ (Response Policy Zones) en de mogelijkheid om zwarte lijsten te definiëren;
  • Anti-spoofing-mechanismen;
  • Mogelijkheid om resolutieresultaten op te nemen als BIND-zonebestanden.
  • Om hoge prestaties te garanderen, worden moderne verbindingsmultiplexmechanismen gebruikt in FreeBSD, Linux en Solaris (kqueue, epoll, /dev/poll), evenals een krachtige DNS-pakketparser die in staat is tienduizenden parallelle verzoeken te verwerken.

Bron: opennet.ru

Voeg een reactie