Předpokládáme, že DNS Probe bude postupně nahrazovat současnou metodu záznamu DNS provozu, kterou CZ.NIC používá na svých jmenných serverech. Ta je založena na ukládání kompletních paketů ve formátu PCAP do diskových souborů a jejich následném přenosu na centrální server k dalšímu zpracování. Použití DNS Probe přinese dvě hlavní výhody:
- efektivní a úspornou reprezentaci exportovaných dat
- široké možnosti konfigurace a správy
DNS Probe umí v současnosti zapisovat exportovaná data ve dvou formátech: Apache Parquet a C-DNS. První z nich je obecný formát používaný v ekosystému Hadoop, jenž je často používán i k ukládání rozsáhlých dat o DNS provozu. C-DNS je naproti tomu standardní formát navržený specificky pro ukládání a přenos záznamů o DNS transakcích. Zjistili jsme, že s oběma formáty je možné dosáhnout až 75% úspory objemu dat v porovnání s PCAP.
Při kompilaci DNS Probe je možné zvolit jedno ze dvou rozhraní (backendů) pro zachycování paketů, která upřednostňují buď vyšší rychlost zpracování nebo nižší paměťové nároky: klasický socket typu AF_PACKET anebo DPDK.
V následujícím grafu jsou vidět rychlosti zpracování paketů dosažitelné s každou ze čtyř možných kombinací backendu a výstupního fomátu. Je z něj také zřejmé, že výkon narůstá ve všech případech zhruba lineárně s počtem procesorových jader použitých ke zpracování paketů. Další informace o provedených testech výkonu lze najít na této wiki stránce.
DNS Probe je možné konfigurovat a spravovat i vzdáleně pomocí standardního protokolu NETCONF. Díky tomu lze kromě jiného v reálném čase monitorovat činnost tohoto softwaru a případně také reagovat na změny v síťovém provozu. Například se dá dočasně zredukovat výběr datových položek zapisovaných do záznamů C-DNS, a díky tomu aspoň omezeně pokračovat v záznamu DNS provozu třeba i během DDoS útoku.
Číslo zveřejněné verze je 0.5.0, což má v podstatě signalizovat dvě věci:
- DNS Probe se zatím nehodí k nasazení v podmínkách s kritickými nároky, neboť jsme ji zatím zvládli otestovat jen v omezené míře.
- Konfigurační rozhraní je sice použitelné, má ale dosti daleko k uživatelské přívětivosti. V některé z dalších verzí počítáme s jeho výrazným vylepšením.
I přesto se domníváme, že současná verze je dostatečně stabilní a funkční. Prosíme proto dobrovolníky, kteří se zajímají o zpracování DNS provozu, aby nám s testováním vypomohli. Nalezené chyby a návrhy nových vlastností je možné vložit na projektové stránce Issues.