Efter ett och ett halvt Ärs utveckling utgivning av cachelagrad DNS-server , som ansvarar för rekursiv namnöversÀttning. PowerDNS Recursor bygger pÄ samma kodbas som PowerDNS Authoritative Server, men de rekursiva och auktoritativa DNS-servrarna i PowerDNS utvecklas inom olika utvecklingscykler och slÀpps som separata produkter. Projektets kod Àr under GPLv2-licensen.
I den nya versionen har alla problem relaterade till bearbetning av DNS-paket med EDNS-flaggor ÄtgÀrdats. I Àldre versioner av PowerDNS Recursor före 2016 ignorerades paket med ej stödja flaggor av EDNS, utan att skicka svar i gammalt format, genom att avfÀrda EDNS-flaggorna, vilket specifikationen krÀver. Tidigare stöddes detta icke-standardbeteende i BIND genom en workaround, men inom februari-initiativet , beslutade utvecklare av DNS-servrar att överge denna workaround.
I PowerDNS ÄtgÀrdades de huvudsakliga problemen med bearbetning av EDNS-paket redan 2017 i version 4.1, och i den version som slÀpptes 2016, 4.0, dök det upp vissa inkompatibiliteter under specifika omstÀndigheter som i allmÀnhet inte störde den normala driften. I PowerDNS Recursor 4.2, precis som i , har workaround-lösningar för stöd av auktoritativa servrar som svarar felaktigt pÄ förfrÄgningar med EDNS-flaggor tagits bort. Tidigare, om inget svar kom efter att en förfrÄgan med EDNS-flaggor skickats efter en viss tid, ansÄg DNS-servern att de utökade flaggorna inte stöddes och skickade en upprepning av förfrÄgan utan EDNS-flaggor. Detta beteende har nu inaktiverats, eftersom förekomsten av sÄdan kod ledde till ökad latens pÄ grund av upprepade paketöverföringar, ökade nÀtverksbelastningar och otydlighet vid avsaknad av svar pÄ grund av nÀtverksfel, samt hindrade införandet av EDNS-baserade funktioner som anvÀndning av DNS-cookies för skydd mot DDoS-attacker.
Under nÀsta Är har man beslutat att genomföra en ÄtgÀrd , som syftar till att fokusera uppmÀrksamheten pÄ med IP-fragmentering vid bearbetning av stora DNS-meddelanden. Inom ramen för initiativet ska de rekommenderade buffertstorlekarna för EDNS faststÀllas till vÀrden pÄ nivÄ 1200 byte, samt bearbetning av förfrÄgningar via TCP bli ett krav för stöd pÄ servrar. För nÀrvarande Àr stöd för bearbetning av förfrÄgningar via UDP obligatoriskt, medan TCP Àr önskvÀrt men inte obligatoriskt för driften (standarden föreskriver möjligheten att stÀnga av TCP). Det föreslÄs att ta bort möjligheten till TCP-avstÀngning frÄn standarden och standardisera övergÄngen frÄn att skicka förfrÄgningar via UDP till att anvÀnda TCP nÀr den angivna buffertstorleken för EDNS inte Àr tillrÀcklig.
Föreslagna förÀndringar inom initiativet kommer att undanröja förvirringen kring valet av EDNS-bufferstorlek och lösa problemet med fragmentering av stora UDP-meddelanden, vars behandling ofta leder till paketförlust och tidsöverskridningar pÄ klientsidan. PÄ klientsidan kommer EDNS-bufferstorleken att vara konstant, och stora svar skickas omedelbart till klienten via TCP. Undantaget för att skicka stora meddelanden via UDP kommer ocksÄ att möjliggöra blockering av mot DNS-cacheförgiftning som Àr baserade pÄ manipulation av fragmenterade UDP-paket (vid fragmentering, inkluderas inte rubriken med identifierare i det andra fragmentet, vilket gör att det kan förfalskas sÄ lÀnge kontrollsumman stÀmmer).
I PowerDNS Recursor 4.2 har problem med stora UDP-paket beaktats och övergÄngen till att anvÀnda EDNS-bufferstorlek (edns-outgoing-bufsize) pÄ 1232 byte har genomförts, istÀllet för den tidigare tillÀmpade grÀnsen pÄ 1680 byte, vilket bör avsevÀrt minska risken för UDP-paketförlust. VÀrdet 1232 valdes eftersom det Àr maximum dÀr storleken pÄ DNS-svaret i samband med IPv6 ryms inom det minimi MTU-vÀrde (1280). VÀrdet för truncation-threshold, som ansvarar för nedskÀrning av svar till klienten, har ocksÄ minskats till 1232.
Andra förÀndringar i PowerDNS Recursor 4.2:
- Stöd för mekanismen (X-Proxied-For), vilket Àr ekvivalenten till HTTP-huvudet X-Forwarded-For för DNS, som möjliggör överföring av information om IP-adressen och portnumret frÄn den ursprungliga initiativtagaren av begÀran, som vidarebefordrats genom mellanliggande proxyer och lastbalanserare (t.ex. dnsdist). För att aktivera XPF finns det alternativ för" och "«;
- FörbÀttrad stöd för EDNS-tillÀgget (ECS), vilket möjliggör överföring av information om det subnÀt frÄn vilket den ursprungliga begÀran skickades till den auktoritativa DNS-servern (information om klientens ursprungliga subnÀt Àr nödvÀndig för effektiv drift av innehÄllsleveransnÀtverk). I den nya versionen har instÀllningar lagts till för selektiv kontroll över tillÀmpningen av EDNS Client Subnet:med en lista över nÀtmasker för vilka IP kommer att anvÀndas i ECS i utgÄende begÀrningar. För adresser som inte omfattas av de angivna maskerna kommer den gemensamma adressen som anges i direktivetatt anvÀndas. Genom direktivetkan de subnÀt definieras dÀr inkommande begÀrningar med ifyllda ECS-vÀrden inte kommer att ersÀttas;
- För servrar som hanterar ett stort antal begÀrningar per sekund (mer Àn 100 000) har direktivet«, som definierar antalet trÄdar för att ta emot inkommande förfrÄgningar och deras fördelning mellan arbetstrÄdar (meningsfullt endast vid anvÀndning av lÀget ««).
- InstÀllning tillagd för att specificera en egen fil med av domÀner dÀr anvÀndare kan registrera sina underdomÀner, istÀllet för den som ingÄr i PowerDNS Recursor.
Projektet PowerDNS har ocksÄ meddelat att man övergÄr till en sexmÄnaders utvecklingscykel, dÀr nÀsta stora release av PowerDNS Recursor 4.3 förvÀntas i januari 2020. Uppdateringar för större utgÄvor kommer att samlas in under Äret, varefter ytterligare sex mÄnader kommer att ges för utgivning av sÄrbarhetsfixar. DÀrmed kommer stöd för versionen PowerDNS Recursor 4.2 att pÄgÄ fram till januari 2021. Liknande förÀndringar i utvecklingscykeln har antagits för produkten PowerDNS Authoritative Server, vars version 4.2 förvÀntas inom kort.
Huvudfunktioner i PowerDNS Recursor:
- Verktyg för fjÀrrinsamling av statistik;
- Omedelbar omstart;
- Inbyggd motor för att ansluta handlare med Lua-sprÄk;
- FullstÀndig support för DNSSEC och ;
- Stöd för RPZ (Response Policy Zones) och möjlighet att definiera svarta listor;
- Mekanismer för att motverka spoofing;
- Möjlighet att spara resultat av upplösning som BIND-zonfiler.
- För att sÀkerstÀlla hög prestanda anvÀnds moderna mekanismer för anslutningsmultiplexering i FreeBSD, Linux och Solaris (kqueue, epoll, /dev/poll), samt en högpresterande parser av DNS-paket som kan hantera tiotusentals parallella förfrÄgningar.
KĂ€lla: opennet.ru
