Přeskočit na obsah

Infrastruktura

DNS PATROL je systém sestávající se z typicky několika resolverů, z nichž některé mohou být přímo uvnitř sítě organizace. Tyto resolvery získávají svoji konfiguraci z backendu, který je ovládán skrze administrátorský webový portál. Resolvery posílají data o dotazech do databáze, se kterou pro účely analýzy dat komunikuje i webový portál.

Systémy

Tato sekce popisuje jednotlivé komponenty systému DNS PATROL.

Architektura DNS PATROL: komponenty v síti organizace a v infrastruktuře CZ.NIC.
Architektura DNS PATROL: komponenty v síti organizace a v infrastruktuře CZ.NIC.

Resolvery

DNS dotazy se vyhodnocují instancemi KNOT Resolveru. Resolver se může nacházet ve vnitřní síti organizace, kde zároveň komunikuje s Active Directory Domain Controller pro resolvování interních domén. Pro podsítě v rámci širší firemní sítě lze nasadit další resolvery. Pro koncové zařízení mimo síť organizace existuje externí resolver, na který se dotazuje pomocí unikátních DoH URL.

Vedle resolveru běží kolektor, který zachycuje informace o všech vyhodnocených dotazech a publikuje je do Kafky.

Kafka

Kafka slouží jako prostředník komunikace mezi resolvery a službami backendu. Slouží také jako krátkodobá záloha DNS dotazů v případě selhání hlavní databáze.

Komunikace je obousměrná, resolvery do Kafky publikují záznamy o dotazech a z Kafky odebírají konfigurační soubory (zóny, blacklisty a další pravidla), který dodává jádro podle aktuálního nastavení v portálu.

DNS PATROL Core

Jádro systému ovládané skrze administrátorský panel. Skrze Kafku aktualizuje podle aktuálního nastavení konfiguraci resolverů a v živém režimu přijímá DNS dotazy. Do databází ukládá informace o nastavení systému, nebo se dotazuje na dlouhodobé analytické informace. Autentizaci uživatelů zajišťují externí OpenID provideři, jako například Moje ID.

Pro rychlé dohledání zaregistrovaných zařízení a zón používá jádro Redis cache, do které zapisuje při každé změně registrovaných zařízení nebo konfigurace.

Backend může posílat audit akcí administrátorů v portálu do externích informačních systémů protokolem syslog, typicky pro integraci s firemním SIEM.

Administrátorský panel

Administrátorský panel je webová aplikace, jejíž používání je detailně popsáno v sekci Webový portál.

Databáze

PostgreSQL — Struktura sítě, uživatelé, zařízení a konfigurace politik, atp.

ClickHouse — Slouží k zpracování velkého množství analytických dat. Drží historii dotazů pro statistiky a vyhledávání v portálu.

Redis — In-memory cache zaregistrovaných zařízení a zón pro nízkolatenční vyhledávání.

Koncové zařízení

Koncová zařízení používající externí resolver se do systému přihlašují pomocí klientské aplikace a jednorázového registračního kódu vystaveného z administrátorského portálu.

Klientská aplikace na zařízení odešle registrační kód spolu s hostname, MAC adresou a informacemi o operačním systému do DNS PATROL Core. Ten kód ověří, vytvoří nový záznam o zařízení svázaný s uživatelem, kterému kód patří, a vrátí klientovi identifikační token a unikátní DoH URL. Na tuto URL pak zařízení směruje všechny DNS dotazy.

Zóny, podsítě a sady pravidel

Logické členění sítě a politik v DNS PATROL stojí na třech entitách. Zóna je nejvyšší celek a sdružuje skupinu resolverů. Uvnitř zóny tvoří podsítě stromovou hierarchii podle adresního rozsahu. Na podsítě se navazují sady pravidel, které určují, jaké DNS dotazy se v daném místě hierarchie povolují, blokují nebo jen auditují.

Zóny

Zóna sdružuje skupinu resolverů spravovaných pod jednou konfigurací. Zóna může být interní (pro firemní síť) nebo externí (pro koncová zařízení mimo síť). Externí zóna má vyplněnou DoH URL, na kterou se klientské aplikace zařízení připojují. Každá zóna obsahuje jeden kořenový subnet, od kterého se odvíjí celá hierarchie podsítí.

Podsítě

Podsíť je definovaná rozsahy IPv4 nebo IPv6 adres a může obsahovat libovolný počet dalších podsítí jako potomky. Strom podsítí umožňuje strukturovat firemní síť podle skutečné topologie. Na každou podsíť lze navázat jednu nebo více sad pravidel. Podsíť dědí nastavení sad pravidel svého předka, ovšem může být přepsáno.

Sady pravidel

Sada pravidel je pojmenovaný seznam domén. Sada může být buď ve formě blokačního seznamu (blacklist), nebo seznamu výjimek (whitelist). Volitelně může mít přiřazený ML model pro vyhodnocování dotazů nad rámec statického seznamu.

Sada se na podsíť aplikuje s konkrétní akcí: allow (povolit), block (zablokovat) nebo audit (jen zaznamenat dotaz bez blokace). Výsledná konfigurace zóny se resolverům publikuje skrze Kafku.