Koncept DNS stacků a motivace celého projektu
Na začátku roku 2017 jsme začali pracovat na projektu celkového posílení infrastruktury autoritativních DNS serverů zabezpečujících provoz .CZ domény. DNS provoz v .cz doméně roste každoročně cca o 10%, ale hlavní motivací bylo zvýšit odolnost DNS infrastruktury proti DoS útokům, jejichž riziko se zvyšuje daleko více. Nová DNS infrastruktura by měla být schopna čelit těmto útokům takovým způsobem, aby nezablokovala regulérní provoz a poskytla dostatek času a možností zdroje útoků najít a eliminovat.
Teoretické maximum provozu, které měla DNS infrastruktura před upgradem bylo cca 20 mil. dotazů za sekundu (QPS) a cca 60 Gbps provozu. Po dokončení upgrade chceme docílit maxima provozu vyššího než 100 mil. dotazů za sekundu a 200 Gbps provozu.
Základní stavební jednotkou nové DNS infrastruktury je tzv. „DNS Stack“. Koncept DNS stacků vychází z konceptu kořenových DNS serverů. Při návrhu jsme využili také například zkušenosti a znalosti z provozu instance L-ROOT serveru (ve skutečnosti třiceti serverů v racku) hostovaného v naší síti.
Navrhli jsme 4 varianty DNS stacků
Schema zapojení nejčastějších variant
Velké DNS stacky nyní uvažujeme provozovat dva, oba v České republice a umístěné v datacentrech v Praze. Samozřejmostí je mít oba DNS stacky zapojené do peeringového uzlu NIX.CZ rychlostí 1x 100 Gbps. Pro takto robustní řešení budeme používat HW typ routeru, pro každý stack od jiného výrobce.
Střední variantu jsme původně zamýšleli umístit do zahraničí v rámci kontinentů – 1 do Severní Ameriky, 1 do západní Evropy a 1 do Asie. Vzhledem k finanční náročnosti a logistice zařízení do cílových datacenter tuto variantu zatím nebudeme realizovat. Evropské lokality, kde v současné době provozujeme uzly DNS anycastu, a které jsou významné z pohledu velikosti DNS provozu (UK, Německo, Rakousko), však budeme postupně vybavovat Malými DNS Stacky. Navíc uvažujeme o přidání dalších uzlů v Evropě, Severní Americe a Asii.
Varianta ISP DNS stacku (resp. minimalistická varianta ISP mini) je určena výhradně významným poskytovatelům internetového připojení v České republice. Cílem je přiblížit autoritativní DNS servery ke zdrojům provozu a také zvýšit diverzitu umístění. DDoS útoky vedené proti našim primárním DNS serverům neovlivní tuto instanci. V opačném případě bude útok se zdrojem v síti daného poskytovatele zakončen právě na této instanci. ISP DNS stack jsme navrhli ve dvou variantách. Varianta ISP mini je určena pro menší poskytovatele internetového připojení. Největším poskytovatelům pak nabídneme variantu Malého DNS stacku s absencí připojení do tranzitu. Variantě ISP DNS stacku bude věnována některé z příštích pokračování.
Jak je u nás zvykem, striktně dodržujeme diverzitu HW a SW, aby v případě chyby byla ohrožena pouze část infrastruktury. Proto budou jednotlivé DNS stacky realizovány na různých dodavatelích serverů a síťových prvků, stejně tak na různém SW vybavení.
Počty DNS serverů pro jednotlivé varianty stacku vycházely z následujících zjištění a předpokladů:
-
Z analýzy našeho DNS provozu a testováním máme ověřeno, že je jeden server schopen odbavit minimálně 1 milion odpovědí za sekundu (viz https://www.knot-dns.cz/benchmark/).
-
Běžná velikost DNS odpovědí je 512 B / 4 096 bps. Při této velikosti odpovědi využije jeden DNS server kapacitu cca 4 Gbps.
-
Z výše uvedeného tedy vyplývá, že pro 100 Gbps konektivitu postačuje 30 serverů a pro 10 Gbps konektivitu postačují 3 servery.
-
Největší pakety dosahují velikosti 1 538 B / 12 304 bps. Při této velikosti odpovědi využije jeden DNS server kapacitu cca 12 Gbps. Předpokládáme tedy připojení DNS serverů pomocí 10 Gbps uplinku do routeru.
Z teorie by to bylo vše. V následujících dílech se můžete těšit na praktické zkušenosti s realizací prvního Velkého DNS stacku v ČR a několika ISP stacků.
2. díl: ISP stacky a jejich nasazení
3. díl: První Velký stack – výběrové řízení, nákupy hardware a logistika
4. díl: První Velký stack – příprava zázemí
5. díl: První Velký stack – instalace, testování a nasazení do provozu
6. díl: První Velký stack – závěr a zkušenosti z provozu