Zveřejňujeme software DNS Probe

Laboratoře CZ.NIC v minulých dnech zveřejnily úvodní verzi softwaru DNS Probe. Jde o výkonný nástroj k zaznamenávání transakcí DNS, který je vyvíjen v rámci projektu ADAM. Jeho úkolem je zachycovat DNS provoz na síťovém rozhraní (UDP i TCP), párovat DNS dotazy s příslušnými odpověďmi a exportovat konsolidované záznamy o každé jednotlivé DNS transakci, která se v síťovém provozu vyskytla. DNS Probe může být nasazena buď na stejném stroji společně s DNS serverem anebo na samostatném monitorovacím počítači, jemuž se předává přesná kopie provozu DNS serveru (např. pomocí zrcadlení portů na switchi).

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 ParquetC-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:

  1. 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.
  2. 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.

Autor:

Zanechte komentář

Všechny údaje jsou povinné. E-mail nebude zobrazen.

This site uses Akismet to reduce spam. Learn how your comment data is processed.