Jak funguje nový registrační systém domény .cz?

Sdružení CZ.NIC oznámilo začátkem dubna přechod na nový systém správy registru domén CZ. Obsah stávajícího systému DSD (Distribuovaná správa domény) provozovaného outsourcingovým partnerem bude ke konci září tohoto roku přenesen do nového systému DSDng (Distribuovaná správa domény – nová generace). Systém DSDng byl v průběhu roku 2006 vybudován na „zelené louce“. Podívejme se tedy, jak takový registrační systém vypadá.

Ano, přítomný čas je už na místě, i když k migraci ještě nedošlo. A to proto, že v DSDng už nyní funguje registr domén 0.2.4.e164.arpa, tedy českých ENUM domén. Svůj pohled tentokrát omezíme na technické aspekty systému, přestože přechod na DSDng bude doprovázen výraznými změnami na všech frontách včetně podmínek registrace, obchodních podmínek a velkoobchodní ceny registrace domén.

Infrastruktura

Provoz systému DSDng je zajištěn pomocí dedikované technologické infrastruktury a softwaru FRED (Free Registry for ENUM and Domains) pro provoz registru samého. Nejzajímavějším aspektem samotné infrastruktury je fakt, že je navržena tak, aby registru zajistila co největší dostupnost a odolnost vůči selhání hardwaru či chybám softwaru, protože provoz národní domény je zařazen mezi kritickou infrastrukturu státu. Distribuované řešení registru je proto nasazeno i řešeno paralelně ve dvou zcela oddělených lokalitách, které mají veškerá síťová propojení zdvojena pomocí dvou nezávislých tras zapojených s využitím interface bondingu, resp. EtherChannelu. Obě lokality mají také vlastní nezávislé připojení jak do dvou uzlů peeringového centra NIX, tak do zahraničí, a to duálně na IPv4 i IPv6 protokolu. Sekundární jmenné servery pro zóny spravované registrem jsou mimo dvě uvedené lokality umístěny i na několika dalších místech v Evropě (Londýn, Frankfurt nad Mohanem, Stockholm a Vídeň) a plánuje se výstavba několika dalších ve světě. Důraz je kladen i na platformovou diverzitu řešení i přesto, že to je náročnější na správu. Servery jsou založené na odlišných hardwarových platformách (Intel x86/64, AMD64, Sun UltraSPARC), používají různé operační systémy (Linux, OpenBSD, Solaris) a v případě sekundárních jmenných serverů i různé implementace DNS serveru (BIND a NSD). Stejně tak i síťová infrastruktura v každé z lokalit je založena na zařízeních více různých výrobců (Cisco, Juniper a Extreme Networks).

FRED

Mnohem zajímavější než sama infrastruktura je zcela nový software FRED zajištující provoz registru. Možná vás napadá otázka, proč vůbec vyvíjet nový registrační software a nepoužít již existující hotové řešení. Důvody jsou ovšem nasnadě. Obecně panuje ve světě správců národních registrů stav, kdy lze s klidným svědomím prohlásit, že co země, to jiný registrační systém. V mnoha případech jsou tyto systémy založeny na skriptech v shellu, Perlu nebo jiném skriptovacím jazyce. Jindy to jsou aplikace navržené před delší dobou a nejsou zcela připraveny na dnešní potřeby. Menší země, resp. země s malým počtem domén, dokonce udržují své registry manuálně, např. v tabulkách v tabulkovém procesoru. To vše by samo o sobě ještě nevadilo, protože při počtu zemí by se určitě našlo vhodné řešení. Zásadním problém je, že stejně jako jsou v různých zemích různé registrační systémy, jsou odlišné i podmínky, za kterých lze domény registrovat, postupy, jak to udělat i údaje, které se v registru uchovávají. To znamená, že ať už by byl vybrán jakýkoliv fungující systém, bylo by nutno přizpůsobit jej našim podmínkám. Proto byla vyloučena všechna „black-box“ řešení, neboť takový systém by nebyl plně v rukou CZ.NIC a úpravy by narážely na obdobné problémy jako dnes, kdy je systém spravován externí společností. Další možná řešení  – použití existujících systémů – narážela na nevýhody technického charakteru. Poslední zvažovanou cestou bylo použití a rozvíjení nějakého free nebo open source softwaru. Ani tady jsme ale neuspěli, neboť jediný dostupný nástroj OpenReg byl naposledy aktualizován v roce 2003 a na dnešní běžné instalaci Linuxu ani nešel zkompilovat.

FRED je tedy vyvinut na zelené louce. Skládá se ze čtyř základních komponentů, viz schéma.

FRED

První tři poskytují rozhraní jednotlivým typům uživatelů:

  1. Registrátorům, kteří registrují a spravují domény svých zákazníků.
  2. Veřejnosti, která si vyhledává údaje o registrovaných doménách.
  3. Administrátorům, kteří mohou zobrazovat a měnit údaje či nastavení registru.

Rozhraní pro registrátory (RIF) používá pro komunikaci mezi klientem a serverem protokol EPP (Extended Provisioning Protocol), který je de facto standardem pro registrační systémy. Použitím EPP přímo nad TCP spojením (šifrovaným pomocí SSL) se podařilo odstranit jeden z největších problémů stávajícího systému DSD – asynchronní vyřizování požadavků. Stávající systém používá k posílání EPP zpráv SMTP a S/MIME protokoly. Může se tedy stát, že ačkoliv registrátor pošle e-mail s požadavkem na registraci domény v momentu, kdy je volná, v okamžiku, kdy se tento požadavek dostane na druhé straně z fronty a zpracuje se, už tato doména volná být nemusí. Synchronní zpracování požadavků zajistí registrátorům jasnou odpověď v řádu milisekund. Rozhraní pro veřejnost (PIF) poskytuje zejména službu WHOIS, tedy notoricky známé vyhledávání údajů z registru. Služba je poskytována jako webová služba i v klasické textové podobě pomocí protokolu WHOIS. Ochrana údajů v registru před strojovým zpracováním je řešena pomocí CAPTCHA ve webovém WHOIS. Klasický WHOIS není možné takovým způsobem chránit, a proto v něm nejsou citlivé údaje zobrazovány vůbec. Rozhraní pro administrátory (ADIF) slouží zaměstnancům sdružení k manuální manipulaci s nastavením registru či údaji, které jsou v něm uložené. Rozhraní pro administrátory je řešeno jako webová aplikace, přičemž dostupná funkcionalita se odvíjí od různých úrovní uživatelských práv pro jednotlivé typy uživatelů, kteří systém používají (administrátor registru, operátor zákaznické linky atd.).

Čtvrtou komponentou je centrální registr, který propojuje všechna rozhraní, zabezpečuje ukládání dat v databázi a provádí automaticky pravidelné úlohy nad údaji v databázi, jako např. kontrolu data exspirace domén, správu ochranných lhůt, upozorňování uživatelů na důležité události jimi registrovaných objektů či technické testy nastavení konkrétních domén.

Komponenty mezi sebou komunikují pomocí rozhraní CORBA, což umožnilo vyvíjet jednotlivé části v různých programovacích jazycích (použity byly C, C++ a Python). Zároveň zpracování předávaných zpráv není tak výpočetně náročné, jako by bylo při použití alternativ jako XML-RPC nebo SOAP, kde je náročnost způsobena nutností zpracovávat XML. EPP rozhraní a klasický WHOIS jsou implementovány jako moduly do serveru Apache, protože v Apache je již vyřešena správa TCP spojení, podpora SSL i podpora IPv6, čemuž by bylo nutné věnovat úsilí při vlastní implementaci. Webové služby jsou implementovány v jazyce Python, protože při jeho použití nehrozí taková bezpečnostní rizika jako při použití PHP. Všechny použité komponenty jsou open source, aby bylo možné provozovat celý registr s pomocí svobodného softwaru, jelikož se plánuje, že i sám FRED bude v budoucnosti uvolněn pod svobodnou licencí. Z toho důvodu byl zvolen i PostgreSQL jako databázový engine pro ukládání dat registru. PostgreSQL má navíc, oproti jiným volně dostupným databázovým systémům, lepší podporu „enterprise class“ vlastností a zejména funkcí zajišťujících konzistenci dat, která je v případě doménového registru naprosto zásadní. Pro potřeby registru byl i jeho výkon více než dostačující a srovnatelný s komerčními databázovými systémy.

Co se týče dat ukládaných do registru, současný systém DSD používá třívrstvý model doména-subjekt-kontakt. FRED a s ním i nový registrační systém používají ve světě běžnější dvouvrstvý datový model doména-kontakt. Více se o datovém modelu, jeho výhodách a změnách oproti současnosti dozvíte z článku Martina Peterky Co přinese nový model správy domén CZ.

Do budoucna

Přestože běžný uživatel nemůže většinu z vlastností nového systému nijak vyzkoušet na vlastní kůži, jsou reakce na něj, zejména ze strany registrátorů, příznivé. A to zejména na odstranění subjektů z datového modelu a na komunikaci s registrem pomocí EPP nad TCP, což značně zjednodušilo a zrychlilo proces registrace domén. Společně s registrátory pak připravujeme několik dalších rozšíření, která by jim ještě více ulehčila každodenní provoz. Další vývoj jádra systému pak bude směřovat k implementaci nových vlastností systému DNS, které stávající systém nepodporoval. Bude to zejména nasazení DNSSEC ke zvýšení bezpečnosti a zajištění integrity dat při získávání údajů z DNS.

EBF16

Samotné nasazení i běžný, v tuto chvíli půl roku trvající, reálný provoz FRED pro ENUM domény probíhají bez vážnějších problémů. V průběhu této doby jsme se setkali pouze s několika drobnostmi, které neovlivňují funkčnost registru a které budou průběžně odstraněny a tím bude systém ještě více optimalizován a zdokonalen. Například klientské aplikační rozhraní pro snadnější integraci přístupu do registru do jiných aplikací, je implementováno v tuto chvíli pouze pro jazyk Python, který stále není tolik rozšířen jako jiné obdobné alternativy (např. PHP), a tudíž toto aplikační rozhraní není zatím moc využíváno. Ke změně také směřuje ochrana CAPTCHA proti strojovému získávání a zpracování údajů v registru přes webovou službu WHOIS, protože snižuje přístupnost služby zejména pro zrakově postižené. Lepší možností se zdá být heuristická analýza příchozích požadavků a detekce strojového zpracování tímto způsobem.

Vývoj systému FRED do budoucna lze pak, mimo výše uvedené směry, očekávat ještě v jedné zajímavé oblasti – přímo v srdci systému, kde se definují základní podmínky provozu registru jako procesy a podmínky registrací domény (pre-paid/post-paid modely plateb, kdy je zařazena doména do zóny apod.), data ukládaná do registru, obsluha registrátorů (účtování plateb, práva přístupu k údajům, propojení s bankami) apod. To proto, že systém FRED bude uvolněn pod open source licencí a už o něj projevily zájem některé další registry národních domén z Evropy i ze světa. A ty si budou zcela určitě chtít FRED přizpůsobit svým vlastním pravidlům a podmínkám, protože v jiných zemích jsou či mohou být podmínky registrace domén úplně jiné než u nás. V duchu světa svobodného softwaru je pak poskytnout provedené úpravy či nové vlastnosti ostatním, což by mohlo vést k pozitivnímu efektu pro všechny zainteresované registry – k nastartování globální komunity vývojářů a uživatelů, která takto bude mezi sebou sdílet své znalosti a zkušenosti z provozu registrů domén.

Anketa

Přišli jste už do kontaktu s FREDem?

3 názory Vstoupit do diskuse
poslední názor přidán 27. 6. 2007 16:15

Školení: Měření a vyhodnocování kampaní

  •  
    Jak připravit a plánovat kampaně
  • Jak vyhodnocovat a využít důležité metriky
  • Jak to dělat u různých obchodních aktivit

Detailní informace o školení Měření a vyhodnocování kampaní»