Másfél év fejlesztés után A gyorsítótárazó DNS-kiszolgáló kiadása , amely a nevek rekurzív átkonvertálásáért felelős. A PowerDNS Recursor ugyanannak a kódalapnak a felhasználásával készült, mint a PowerDNS Authoritative Server, de a rekurzív és az autoritatív DNS-kiszolgálók fejlesztési ciklusai különböznek, és külön termékként jelennek meg. A projekt kódja GPLv2 licenc alatt.
Az új verzióban megszüntették az összes észrevételt, amely a DNS-csomagok EDNS zászlókkal való kezelésével volt kapcsolatos. A PowerDNS Recursor régebbi verzióiban, 2016 előtt, gyakorlat volt, hogy figyelmen kívül hagyták azokat a csomagokat, amelyek nem támogatták az EDNS zászlókat, válasz küldése nélkül a régi formátumban, elvetve az EDNS zászlókat, ahogy azt a specifikáció megköveteli. Az ilyen nem szabványos viselkedést korábban a BIND támogatta egy kerülő megoldás formájában, de keretében februárban tartott kezdeményezés , a DNS-szerverek fejlesztői úgy döntöttek, hogy elhagynak ezt a hackelést.
A PowerDNS-ben az EDNS-sel kapcsolatos csomagkezelési problémákat már 2017-ben megoldották a 4.1-es kiadásban, míg a 2016-ban megjelent 4.0-ás ágon különféle inkompatibilitások merültek fel egy adott körülmény szem előtt tartásával, amelyek általánosságban nem akadályozták a normál működést. A PowerDNS Recursor 4.2, akárcsak a , megszüntette a támogatási kerülőutakat a nem megfelelően válaszoló hatósági szerverek számára az EDNS zászlókkal kapcsolatos lekérdezések során. Eddig, ha az EDNS zászlókkal ellátott kérés elküldése után egy bizonyos idő elteltével nem érkezett válasz, a DNS-szerver azt feltételezte, hogy a kiterjesztett zászlók nem támogatottak, és ismételt kérést küldött EDNS zászlók nélkül. Mostantól ez a viselkedés le van tiltva, mivel az ilyen kód megléte növelte a késleltetéseket a csomagok ismételt küldéséből adódóan, megnövelte a hálózati terhelést, és kétértelműséget okozott a válasz elmaradása miatt a hálózati hibák következtében, valamint akadályozta az EDNS-en alapuló funkciók bevezetését, mint például a DNS cookie-k használatát a DDoS-támadások elleni védelem érdekében.
A következő évben egy eseményt terveznek , amely a figyelmet a az IP-fragmentálás kapcsán a nagy méretű DNS-üzenetek feldolgozása során. Az kezdeményezés keretein belül ajánlott EDNS pufferméretek rögzítése 1200 byte-ig, valamint a TCP-n keresztül érkező lekérdezések kötelezően támogatott kategóriába sorolása a szervereken. Jelenleg a UDP lekérdezések feldolgozása kötelező, míg a TCP kívánatos, de nem kötelező a működéshez (a szabvány lehetővé teszi a TCP kikapcsolását). Javasolják a szabványból a TCP kikapcsolásának opcióját eltávolítani, és szabványosítani a UDP lekérdezések küldéséről TCP-ra való áttérést, amikor az EDNS pufferméret nem elegendő.
A javasolt kezdeményezések megszüntetik a zűrzavart az EDNS puffer méretének kiválasztásában, és megoldják a nagy UDP üzenetek fragmentálásával kapcsolatos problémát, amelyek gyakran csomagvesztést és időtúllépéseket okoznak az ügyfél oldalán. Az ügyfél oldalon az EDNS puffer mérete állandó lesz, és a nagy válaszok azonnal TCP-n keresztül kerülnek elküldésre az ügyfélnek. A nagy üzenetek UDP-n történő küldésének kivételes tilalma azt is lehetővé teszi, hogy blokkolja DNS gyorsítótárának megfertőzéséről, amely a fragmentált UDP-csomagok manipulálásán alapul (fragmentálás során a második fragment nem tartalmazza az azonosító fejlécet, ezért hamisítani lehet, csak a checksumnak kell egyeznie).
A PowerDNS Recursor 4.2 figyelembe vette a nagy UDP csomagokkal kapcsolatos problémákat, és áttért az EDNS puffer méretének (edns-outgoing-bufsize) 1232 byte-ra történő használatára, a korábban alkalmazott 1680 byte-os korlát helyett, ami jelentősen csökkentheti a UDP csomagok elvesztésének valószínűségét. A 1232-es érték azért lett kiválasztva, mert ez a maximum, amelynél a DNS válaszok IPv6 figyelembevételével beleférnek a minimális MTU (1280) értékbe. A truncation-threshold paraméter értékét is 1232-re csökkentették, amely a válaszok ügyfelekhez való levágásáért felelős.
További változások a PowerDNS Recursor 4.2-ben:
- Hozzáadva a mechanizmus támogatása (X-Proxied-For), amely az X-Forwarded-For HTTP fejléc megfelelője DNS-ben, lehetővé téve az eredeti kérés kezdeményezőjének IP-címének és portszámának információinak átadását, amely közbülső proxikon és terheléselosztókon (például dnsdist) keresztül lett átirányítva. Az XPF engedélyezéséhez az alábbi lehetőségek állnak rendelkezésre:és a "«;
- Javult az EDNS kiterjesztés támogatása (ECS), amely lehetővé teszi, hogy a DNS kérdésekben az autoritatív DNS szerver számára átadjuk azt az alhálózatot, ahonnan az eredeti kérés érkezett (az ügyfél eredeti alhálózati adatai szükségesek a tartalomszolgáltató hálózatok hatékony működéséhez). Az új kiadásban beállításokat adtak hozzá az EDNS Client Subnet alkalmazásának szelektív ellenőrzésére: «» a hálózati maszkok listájával, amelyek esetén az IP-t ECS-ként fogják használni a kimenő kérdésekben. Azok az IP-címek, amelyek nem felelnek meg a megadott maszkoknak, a «« direktívában megadott közönséges IP-címet fogják használni. A «» direktívával meghatározhatók a hálózatok, amelyekből a kitöltött ECS értékekkel rendelkező bejövő kérdések nem cserélődnek ki;
- A másodpercenként nagy számú (több mint 100 ezer) kérdést feldolgozó szerverek számára az ««, amely meghatározza a bejövő kérések kezelésére és a munkaszálakra való elosztására vonatkozó szálak számát (csak a " mód használata esetén van értelme)«).
- Beállítható a saját fájl meghatározásához domainek, amelyeken a felhasználók regisztrálhatják saját almappáikat, a PowerDNS Recursor beépített listája helyett.
A PowerDNS projekt bejelentette, hogy áttér a hat havi fejlesztési ciklusra, amely szerint a következő jelentős PowerDNS Recursor 4.3 kiadás januárban várható, 2020-ban. A jelentős kiadások frissítései egy év alatt alakulnak, majd a következő hat hónapban védelmi hibajavítások is megjelennek. Így a PowerDNS Recursor 4.2 ága 2021 januárjáig lesz támogatva. Hasonló fejlesztési ciklusváltozásokat fogadtak el a PowerDNS Authoritative Server termékre is, amelynek 4.2 kiadása várhatóan a közeljövőben fog megjelenni.
A PowerDNS Recursor főbb jellemzői:
- Távoli statisztikai gyűjtési eszközök;
- Azonnali újraindítás;
- Beépített motor a Lua nyelven írt feldolgozókkal való csatlakozáshoz;
- Teljes körű DNSSEC és ;
- RPZ (Response Policy Zones) támogatás és fekete listák meghatározásának lehetősége;
- Spoofing elleni mechanizmusok;
- A feloldási eredmények zónafájlok BIND formátumban történő rögzítésének lehetősége.
- Magas teljesítmény biztosítása érdekében a FreeBSD, Linux és Solaris (kqueue, epoll, /dev/poll) modern kapcsolatmultiplexelési mechanizmusait, valamint egy újgenerációs DNS-csomag-parsert alkalmaznak, amely képes több tízezer párhuzamos kérés kezelésére.
Forrás: opennet.ru
