Na pastebin.com se nedávno objevila zpráva, která slibuje, že 31. 3. 2012 proběhne masivní DDoS útok na DNS root servery v rámci tak zvané operace Global Blackout. Čtenářům našeho blogu je asi zbytečné připomínat, že znefunkčnění všech root serverů by znamenalo výpadek DNS a tím i de facto vypnutí Internetu. Tak jako u všech zpráv tohoto druhu je pochopitelně těžké určit, jak moc vážně se tím mají bezpečnostní týmy zabývat. O neuchopitelnosti Anonymous již bylo napsáno mnoho. Každopádně se tomuto možnému útoku věnovala některá poměrně čtená média a zdá se, že i DNS operátoři berou hrozbu částečně vážně; problém byl poměrně důkladně diskutován v uzavřených operátorských bezpečnostních listech. K tomuto oznámení se sluší odpovědět následující otázky:
- Jak těmto útokům čelit?
- Jakou mají vůbec šanci?
- Proběhne vůbec nějaký útok, je tato zpráva hodnověrná?
Jak útoku čelit
Především stojí za to ve stručnosti zmínit, jak vlastně tento útok funguje. Jde o takzvaný DNS amplification attack. Principem tohoto útoku je, že útočník posílá podvržené dotazy na DNS resolvery. Jako zdrojovou adresu dotazu podvrhne IP adresu cíle, na který chce útočit. Díky jednoduché vlastnosti DNS, že odpověď je vždy větší než dotaz, dosáhne zesílení svého útoku. Vhodně zvolenými typy dotazu lze i z domácího připojení vygenerovat poměrně slušný tok dat. Takto vygenerovaný datový tok od více útočníků, pak může zahltit DNS server(y) či přístupové linky k nim. Z principu útoku je zřejmé, že útočník potřebuje ke své činnosti otevřené DNS resolvery, ale je bohužel smutnou skutečností, že těch je v současném Internetu více než dost, ačkoliv na toto téma byla vydána celá řada varování.
Metod, jak útoku čelit, je celá řada. Především by velice pomohlo, kdyby koncoví ISP dodržovali doporučení z BCP-38 nebo-li kdyby filtrovali odchozí packety, které nemají ve zdrojové adrese IP z jejich rozsahu. Tím by zabránili svým uživatelům podvrhovat IP adresy.
Druhou, mnohem problematičtější možností, je filtrovat všechny DNS dotazy z root serverů. Tyto servery nemají důvod se nijak ptát. Problémem tohoto řešení je, že je šité na míru pouze tomuto jednotlivému útoku a změna cíle útoku by znamenala další konfigurace. Navíc i IP adresy root serverů se čas od času změní a je šance, že aplikace této obrany napáchá více škody než užitku.
No a samozřejmě nejpřirozenější je neinstalovat zbytečně otevřené DNS resolvery. Většina existuje bohužel jen jaksi „omylem“, někteří správci bohužel nejsou příliš pečliví a s konfigurací DNS resolverů si tolik hlavu nelámou.
Šance takového útoku
Ačkoliv se pořád hovoří o 13 root serverech, již to dávno není tak, že 13 počítačů drží kořenovou zónu. Naopak velká většina těchto serverů má zrcadla všude po světě. Rekordmanem v počtu kopií je písmeno J, jež spravovuje Verisign, a které je na 70 místech. Samozřejmě i v každém z těch míst není jeden počítač, ale farma serverů. Abychom i my, sdružení CZ.NIC, přispěli k bezpečnosti, financujeme provoz dvou zrcadel v Praze, a to serverů F a L. Jak už to bývá, technologicky pozadu jsou, alespoň v tomto směru, servery spravované státními institucemi. Anycasting nevyužívají servery spravované ISI, NASA a University of Maryland. Pouze dvě kopie má i server spravovaný americkou armádou. Je možné, že skutečně masivní útok by mohl vyřadit z provozu právě tyto servery s malým počtem zrcadel, ale je velice obtížné shodit službu, jež má desítky dobře spravovaných kopií. Nemyslím si tedy, že by Anonymous měli v tomto příliš velkou šanci. Shodit DNS systém je mnohem větší oříšek než útočit na webové servery. Mimochodem, v minulosti již několik masivních útoků na root servery proběhlo a zatím se nikomu nepodařilo shodit všech 13.
Bude útok?
Především s ohledem na předchozí informace si myslím, že 31. března se může stát hodně věcí, ale rozhodně to nebude útok na DNS. Celé toto prohlášení vnímám spíše jako hoax, může jít klidně o odpoutání pozornosti. Ani Anonymous se jistě nebudou pouštět do akcí, u kterých je v podstatě mizivá šance na úspěch. Navíc tento útok by byl poněkud v rozporu s jejich dosavadní snahou o „svobodný Internet“.
Každopádně pozitivní na tomto „hoaxu“ je, že trochu přitáhl pozornost směrem k nastavení filteringu podvržených zdrojových adres a k nastavení DNS resolverů. Správná konfigurace obou těchto věcí může obecně pomoci při zvýšení bezpečnosti Internetu. Schválně se zkuste zamyslet, jestli v tomto nemůžete něco vylepšit ve vlastní síti.
Ondřej Filip
Statistika DNSSEC resolverů
Jako správce české domény máme poměrně dobrý přehled o tom, kolik existuje zabezpečených domén s koncovkou .CZ. Jak to ale vypadá na druhé straně?
Samotné měření toho, kolik je validujících resolverů, není bohužel jednoduchá záležitost. Žádný resolver nehlásí autoritativnímu serveru „já jsem validující“, takže pro detekci lze použít nepřímé techniky, které využívají znalost toho, jakým způsobem validující resolver žádá o DNS záznamy. Asi nejkomplexnější metodu měření navrhl Olafur Gudmundsson a Steve Crocker na konferenci SATIN 2011; popsanou ji najdete v článku Guðmundsson, Crocker: Observing DNSSEC validation in the wild. Tuto metodiku jsme použili pro naše měření. Kromě toho, že nemá smysl znovu vynalézat kolo, je jednotná metodika také důležitá pro srovnání s ostatními registry. V případě, že by každý registr vynalézal znovu a znovu metodiku měření validujících resolverů, bylo by následné porovnávání výsledků příslovečným porovnáváním jablek s hruškami.
Stručné shrnutí metodiky:
Pro zjednodušení bereme jednu IP adresu za jeden resolver, i když ve skutečnosti se za jednou IP adresou může v případě NATu skrývat více resolverů.
Pro detekci validujících resolverů se metodika snaží hledat odlišnosti mezi chováním „zastaralých“, tedy nevalidujících resolverů, a těch validujících. Ty se liší především dotazy na DS a DNSKEY záznamy:
- dotaz na DS záznam – resolver označíme jako určitě validující
- opakovaný dotaz na DNSKEY záznam v časových intervalech odpovídající době platnosti (TTL) tohoto záznamu – resolver také označíme jako určitě validující
- samostatný dotaz na DNSKEY záznam – resolver označíme jako pravděpodobně validující
Z charakteru protokolu DNS vyplývá, že není možné, aby byla tato metodika absolutně spolehlivá. K jistému zjednodušení dochází proto, protože na straně autoritativního serveru není možné poznat, zda-li položený dotaz na DS nebo DNSKEY záznam vznikl na základě požadavku na validaci nebo jej vznesl nějaký testovací nebo monitorovací skript. Ke zkreslení výsledků přispívají i lidé, kteří prostými dotazy pomocí různých DNS nástrojů mohou způsobit zařazení IP adresy do jedné z výše uvedených kategorií. Podrobnější diskuzi nad použitou metodikou lze nalézt ve výše zmíněném článku.
Nejprve uvedeme výsledky měření z dubna 2011 a pak pro porovnání z prosince 2011. Měření se provádělo vždy tři pracovní dny na stejných autoritativních serverech.
Data z dubna 2011
Dle popsané metodiky jsme v našich DNS datech našli 6767 určitě a 727 pravděpodobně validujících resolverů. Vzhledem k tomu, že většina provozovatelů DNS serverů nemá ve svých sítích pouze jeden server, tak jsme získané IP adresy následně museli ručně agregovat na základě vlastníka IP adresy serveru. Toto seskupení představuje další zjednodušení, které ovšem v případě resolverů s největším provozem můžeme zanedbat.
V následující tabulce naleznete top 10 českých společností jejichž sítě provozují validující resolvery (podle počtu DNSKEY dotazů zaslaných z validujících resolverů).
#DNSKEY ISP 5320 Casablanca 4224 České Radiokomunikace 3024 Telefónica O2 2089 GTS NOVERA 1624 UPL Telecom 1338 NFX 710 OMEGA tech 537 Dial Telecom 513 Ignum 441 VUT Brno
Data z prosince 2011
Počet validujících resolverů se zvýšil: evidujeme 11403 určitě a 1201 pravděpodobně validujících resolverů.
Pořadí top 10 českých společností počtu DNSKEY dotazů z validujících resolverů se mírně promíchalo:
#DNSKEY ISP 7894 Telefónica O2 6309 Vodafone 4342 ACTIVE 24 3441 UPC 3285 GTS NOVERA 3075 RIOMEDIA 2712 2 connect 2029 T-Mobile 1946 Casablanca 1737 CESNET
Pokud by vás zajímalo, zda váš ISP validuje, podívejte se na www.dnssec.cz, kde najdete jednoduchý a průkazný test. V komentářích nám potom můžete napsat, jak jste uspěli či neuspěli, kdo má nebo nemá zájem na větším bezpečí svých zákazníků.
Ondřej Mikle
Zabezpečení českých DNS resolverů
CZ.NIC se už po několik let účastní projektu DITL (A Day in the Life of the Internet), tedy volným překladem „Den života Internetu“, který je zastřešen organizacemi CAIDA a OARC. Účelem projektu je shromáždit datový provoz kořenových jmenných serverů a TLD autoritativních jmenných serverů z co nejvíce zdrojů a poskytnout tak možnost výzkumníkům zkoumat různé aspekty chování Internetu.
V letošním roce proběhl sběr dat v dubnu a trval dva dny. Využili jsme tedy nasbíraných dat a provedli analýzu českých resolverů na úroveň jejich zabezpečení z pohledu útoku typu otráveni „cache“ paměti DNS resolveru. Přesněji jsme zkoumali, jaké zdrojové porty daný DNS resolver používá u dotazů na autoritativní jmenné servery české domény .CZ. Pokud by resolver používal pořád stejný port (statický) či porty z posloupnosti (sekvenční), byl by velice snadno náchylný na Kaminského verzi DNS útoku na otrávení paměti DNS resolveru. Tím „snadno“ je myšleno útok v rámci sekund či minut bez potřeby náročného HW či velkokapacitního pásma pro připojení k Internetu. Raději ještě připomeneme, že pod pojmem otrávení paměti DNS resolveru si čtenář může představit situaci, kdy namísto své oblíbené webové stránky může být přesměrován na falešnou stránku útočníka a to změnou IP adresy k doméně v paměti jim používaného DNS resolveru.
A konečně se dostáváme k číslům. Z celkového počtu 32 408 českých DNS resolverů je snadno napadnutelných 6 519 serverů, což je 20.12 %. S ohledem na fakt, že už pěknou řádku let jsou k dispozici verze DNS serverů s pseudonáhodně generovanými zdrojovými porty, by mnozí z nás čekali toto číslo o něco nižší. Z výše uvedeného počtu napadnutelných serverů používá statické porty 4 017 serverů (12.40 %) a sekvenční porty 2 502 (7.72 %) serverů.
Dalším zajímavým údajem je procentuální zastoupení těchto snadno napadnutelných resolverů v celkovém provozu českých DNS serverů na .CZ domény a to je 12.15 %. Z něhož 10.76 % jsou resolvery používající statické a 1.39 % sekvenční porty. Dvanáct procent není zanedbatelných a proto už nyní CZ.NIC připravuje určité kroky pro zvýšení bezpečnosti uživatelů těchto DNS resolverů.
Výše uvedené statistiky napomáhají mapovat situaci zabezpečení DNS v České republice a proto budou ke konci roku 2011 doplněné ještě o analýzu DNSSEC; informace jsou pravidelně uveřejňovány na stránkách labs.nic.cz.
Emanuel Petr, Laboratoře CZ.NIC
Dodatek: Své DNS servery můžete otestovat webovým testem Web-based DNS Randomness Test nebo z příkazového řádku porttest.dns-oarc.net.
Bitsquatting
Najskôr sa už každému podarilo spraviť preklep v názve domény pri ručnom písaní do browseru a dostať sa na doménu zaregistrovanú „typosquatterom“, aby využil preklep k nejakému zisku (typicky reklamy). Artem Dinaburg prezentoval na konferencii Defcon 19 zaujímavú variantu nazvanú bitsquatting.
Bitsquatting je založený na predpoklade, že v počítačoch pripojených k internetu dochádza občas vplyvom tepla, elektromagnetického žiarenia apod. k chybe, ktorá prehodí v pamäti niektorý bit. Takáto bitová chyba nastáva veľmi zriedkavo, preto na „zmysluplné“ využitie sa musí jednať o mimoriadne často dotazovanú doménu.
Dinaburg si zaregistroval niekoľko variant populárnych domén s jedným prehodeným bitom, ktorý je na klávesnici ďaleko od originálneho znaku (napr. mic2osoft.com s prehodeným 7. bitom v znaku ‚r‘, aby sa to jednoduchšie odlíšilo od typosquattingu) a sledoval 7 mesiacov príchodzie dotazy. Za toto obdobie prišlo 52 317 dotazov z 12 949 unikátnych IP adries, čo je dosť malý počet oproti chybám z preklepov. Relatívne nízky počet je očakávateľný kvôli nízkej pravdepodobnosti výskytu bitovej chyby. Nasledujúci graf ilustruje rozloženie počtu spojení od unikátnych IP počas meraného obdobia:
Okrem troch anomálií (označených v grafe A, B, C) je počet IP za deň celkom rovnomerný. Prvé dva extrémy (A, B) podľa autora vznikli chybou cache priamo v infraštruktúre spoločnosti Zynga (tvorca hry Farmville), za posledný (označený C) je zodpovedná proxy alebo DNS resolver spoločný pre menšiu sieť.
Koncept vzbudil miernu nedôveru, pretože je celkom ťažké dokázať, že sa jedná o bitovú chybu a nie o zvláštny preklep alebo aktivitu skriptu, ktorý enumeruje domény. Asi najlepší argument podporujúci Dinaburgove tvrdenie sú rozdiely medzi dotazovanou doménou a HTTP Host hlavičkou: 3 % HTTP spojení na bitsquat domény obsahujú Host hlavičku odpovedajúcu pôvodnej („nebitsquatovej“) doméne, čomu pri typosquattingu nedochádza. Naviac v jeho príkladoch obsahujú bežne HTTP spojenia aj Referer.
Niektoré komentáre namietali, že pri podobných „náhodných“ chybách by neboli schopné počítače pracovať. V skutočnosti si človek takú chybu skôr vôbec nevšimne. Zhodou okolností som asi pred 15 rokmi robil experiment, ako sa PC vysporiada s chybami v RAM. Na starších PC bolo možné preprogramovať cez časovač frekvenciu obnovy pamäte (DRAM refresh). DRAM refresh zaručuje, že pamäť „nevybledne“ (nestratí sa z kondenzátorov náboj). Po znížení frekvencie refreshu trvalo rádovo minúty, než boli chyby človekom viditeľné (refresh je rádovo mikrosekundy až milisekundy). Prvé viditeľné chyby boli zmeny zobrazovaných znakov, logické chyby v aplikáciách a nakoniec pád systému. Podobne Dinaburg zachytil prípady havarujúcich Windows strojov, ktoré odosielali chybové hlásenia na bitsquat domény.
Ďalšie informácie k bitsquattingu sa dajú nájsť v Dinaburgovej prezentácii a článku.
Ondřej Mikle, Laboratoře CZ.NIC
I-D ECDSA pro SSHFP aneb krátký zápis o vzniku jednoho budoucího RFC…
Minulý týden vyšel na serveru Root.cz pěkný článek DNSSEC jako bezpečné úložiště SSH klíčů, který byste si měli přečíst, pokud chcete, aby vám tento blogpost dával aspoň nějaký smysl. Ve zmíněném článku zaznělo jedno takové povzdechnutí „Bohužel, specifikace záznamu SSHFP dosud nebyla rozšířena o podporu pro ECDSA klíče, jejich otisky tedy prozatím není možné do DNS uložit.“, které spustilo řetěz událostí, které (snad) vyústí v aktualizaci RFC.
Po chvilce pátrání v RFC lze zjistit, že autoři RFC 5656, které do Secure Shell protokolu přidává ECDSA algoritmus, opravdu zapomněli zaktualizovat i RFC 4255 definující SSHFP záznam. Seznam algoritmů pro klíče a jejich otisky jsou udržovány v registru IANA v seznamu DNS SSHFP Resource Record Parameters a je možné je zaktualizovat pomocí mechanismu „IETF Consensus“, který je definovaný v BCP 26:
IETF Consensus – New values are assigned through the IETF consensus process. Specifically, new assignments are made via RFCs approved by the IESG. Typically, the IESG will seek input on prospective assignments from appropriate persons (e.g., a relevant Working Group if one exists).
Ve zkratce řečeno, pro aktualizaci seznamu algoritmů je zapotřebí samostatné RFC. Jelikož pracovní skupina secsh je již uzavřena, tak zbývaly dvě možnosti – najít jinou pracovní skupinu, která by byla blízko, nebo nový draft publikovat jako individuální.
Tak či onak nový Internetový Draft (I-D) se nenapíše sám… a jelikož byl DNSSEC nedávno obohacen o rodinu algoritmů SHA-2, tak nebylo potřeba začínat na zelené louce, ale bylo možné se inspirovat již schváleným RFC. Také proto, ale nejen z tohoto důvodu, nový návrh rozšiřuje záznam SSHFP i o otisky pomocí SHA-256. Původně draft obsahoval i SHA-385 a SHA-512, ale nakonec na základě komentáře Ólafura Guðmundssona (předsedajícího pracovní skupině DNSEXT) byl výčet algoritmů zredukován jen na SHA-256 (aneb pokud to stačí pro otisk v DS záznamu, tak to musí stačit i pro SSHFP záznam). Další komentáře, které jsme dostali a následně začlenili do návrhu, byly od Stephena Kenta (ředitel oblasti Security).
Jedna z připomínek byla, zda-li by draft nemohl také obsahovat příklady nových záznamů. Což bylo již kousek od toho napsat funkční implementaci nových algoritmů do OpenSSH, což, jak se nakonec ukázalo, nebyl nijak heroický výkon a výsledek (používejte pouze na vlastní riziko) naleznete v patchi ssh-sshfp-ecdsa.patch.
Výsledný návrh nového I-D byl publikován pod názvem draft-os-ietf-sshfp-ecdsa-sha2 (zdrojové xml). Stephen Kent také navrhl, že bude nejlepší poslat nové I-D do obecné skupiny SAAG, což proběhlo hned po nahrání I-D do nástrojů IETF. Zatím se k novému návrhu nikdo nevyjádřil, takže doufejme, že je to kvůli tomu, že je to vcelku dost nudný návrh RFC :). Těsně před psaním tohoto příspěvku jsem ředitele oblasti Security požádal, zda-li by náš návrh nesponzoroval. Takže držme palce, aby tento jednoduchý návrh (ECDSA bude mít číslo 3, SHA-256 bude mít číslo 2), který ovšem v jazyce RFC znamená 9 stran textu :), hladce projde schvalovacími procesy IETF.
Na závěr bych chtěl poznamenat, že z hlediska procesů IETF je jedno, jestli je autor Internetového Draftu dlouhodobě zapojen do práce IETF nebo jen přijde, napíše návrh a zase odejde. Za CZ.NIC můžu říci, že bychom byli velice rádi, kdybychom mohli k práci pro IETF přitáhnout více lidí z ČR. K sérii popularizačních článků, které vyšly na Lupě (Cesta do hlubin IETF, Odkud pochází Internetové standardy (aneb bylo jednou jedno RFC) a Vrána k vráně sedá aneb koťátka, dogy a nápoje v IETF), tak přidáváme tuto veřejnou nabídku.
Pokud máte nápad na nový protokol, standard nebo jen menší či větší vylepšení stávajícího (viz toho rozšíření SSHFP o nové algoritmy), tak se na nás můžete kdykoliv obrátit. Velice rádi vám s psaním návrhu nového RFC pomůžeme.
Ondřej Surý
BIND 10 – agilně vyvíjený modulární nameserver
V týdnu od 21. března se v Akademii CZ.NIC uskutečnil BIND 10 Developer Meeting a já, spolu s mými kolegy z Laboratoří, jsem měl možnost podívat se, jak se vyvíjí nová verze téhle nejpoužívanější implementace DNS.
BIND 10 navenek přináší úplně nový design a množství funkcí, samotná koncepce vývoje však také doznala změn. Jak to vyjádřil programový manažer BIND 10 Shane Kerr, BIND 9 vznikal stylem „top-down“ a jeho vývoj byl více řízen někde „shora“. U nové verze se vývojáři snaží více o styl „bottom-up“ a méně o centralizované řízení. Projevem toho prvního je, že se jeho tým snaží o silnou modulárnost nového BINDu, kdy jednotlivé moduly (v praxi reprezentované samostatně běžícími procesy) jsou do velké míry nezávislé. Projevem toho druhého je zase určitá rovnost mezi všemi členy týmu (Shana nevyjímaje). Ta může být na jedné straně přínosná; každý má možnost „dostat se ke slovu“ a pokusit se prosadit svůj nápad či přístup. Na straně druhé to může vést k nekonečným diskusím, ve kterých trochu chybí nějaká autorita, která by ve věci „vynesla soud“ či aspoň nasměrovala diskusi produktivnějším směrem.
Vedení vývojářského týmu je v případě BIND 10 nepochybně náročné. Tvoří ho totiž patnáct lidí z celého světa – USA, Číny, Japonska, Velké Británie, Nizozemska i od nás z Čech. Tito lidé se osobně scházejí čtyřikrát do roka, aby tváří v tvář prodiskutovali jak plán dalšího vývoje, tak některé implementační detaily.

Část vývojářského týmu BIND 10 na setkání v Praze. Druhý zleva stojí Shane Kerr, třetí je Michal Vaner z Laboratoří CZ.NIC.
Byl jsem celkem překvapen jejich disciplínou a pracovním nasazením, když během těch pěti dnů, které tady strávili, věnovali práci devět nebo i více hodin denně. Na druhou stranu, jak už to tak bývá, když několik lidí s různých koutů světa a s různými názory a přístupy o něčem diskutuje, občas se nechá unést k již zmíněným dlouhým a ne zcela produktivním výměnám názorů.
Pravděpodobně největší výzvou je rozdělování a plánování úkolů a koordinace týmu; osobních setkání je málo a většina práce se tak musí plánovat do detailů a dopředu a to na období několika týdnů nebo i měsíců. Tým BIND 10 zvolil pro práci agilní metodu Scrum upravenou pro využití v mezinárodním týmu, který se nemůže setkávat každý den, což ostatně Scrum vyžaduje. Základem jsou za prvé face-to-face meetingy jako ten, kterého jsme se zúčastnili, a za druhé konferenční hovory probíhající téměř každý den. Podle Shanových slov zaberou minimálně 15 procent času celého týmu, pro vývoj jsou ale velice přínosné. Metodu Scrum využívá vývojářský tým teprve od minulého roku a její zavedení je prý skutečně znát.
Dalším výrazným prvkem provázejícím vývoj BIND 10 je testování. Tady musím mezinárodní tým vývojářů pochválit, protože testování věnuje skutečně mnoho času a prostředků. Skutečně bylo vidět, že „test-driven development“ není jen prázdná fráze. Až doposud se věnovali hlavně unit-testům, ale v plánu mají také testování na vyšší úrovni, která by měla ověřovat, jak se bude celý systém chovat v různých situacích. Cílem je zvýšit spolehlivost a důvěru uživatelů v tento systém; k tomuto cíli se podle mě vydali tou správnou cestou. Doufejme, že to dotáhnou do konce a BIND bude mít šanci zbavit se své nepříliš lichotivé přezdívky – Buggy Internet Name Daemon.
Sledovat práci vývojářů BIND 10, poznat lidi, kteří za ním stojí, a vidět, jak vzniká nová verze nejpoužívanějšího DNS softwaru bylo nevšední zkušeností. I když u nás v Laboratořích zatím žádný mezinárodní projekt nevedeme, v mnohém se jistě můžeme z jejich práce poučit či inspirovat.
Ľuboš Slovák
ITAR končí
V půlce července byla podepsána kořenová zóna a krátce na to jsem si posteskl, že DS záznamy některých domén zůstaly v ITARu a některé se přesunuly do kořenové zóny. Dnes už je situace úplně jiná. ITAR je už téměř prázdný a naopak kořenová zóna se nám utěšeně plní. Snad proto ve čtvrtek IANA oznámila, že ukončuje provoz ITARu. Dle tohoto oznámení budou na konci listopadu vymazány z ITARu všechny záznamy a na začátku příštího roku bude provoz celého adresáře ukončen. Zatím nebylo vydáno žádné podobné prohlášení u dalšího podobného systému, tedy DLV.
Jaké záznamy vlastně ITAR v současnosti ještě obsahuje? Jsou v něm DS záznamy následujících domén: .arpa, .bg, .br, .gov, .nu, .pr, .th, a .tm. Překvapivé je, že DS první jmenované, tedy .arpa, neni v kořenové zóně. Je to poměrně škoda. Tato doména je využívána i třeba pro reverzní DNS zóny či ENUM. Snad se tedy rychle podaří i tuto doménu zmigrovat. Každopádně kořenová zóna v současné chvíli obsahuje 294 domén a podepsaných je z toho 46.
Pokud tedy používáte ITAR, připravte se na jeho vypnutí a buďte bez obav, kořenová zóna vám bude stačit…
Ondřej Filip
KIDNS – Keys In DNS
Technologie DNSSEC je aktuálně nasazována po celém světě. K většímu úspěchu jí ovšem chybí tzv. killer-app. Tj. takové použití DNSSECu, kvůli kterému si jej budou chtít pořídit všichni. Takovou killer-app by se mohly stát standardy ukládání kryptografických dat do DNS, na kterých se pracuje na půdě organizace IETF.
Nejprve bych ovšem krátce zabrousil do historie. Nápad ukládat veřejné části klíčů (nebo jejich otisky) do DNS není nikterak nový. První standard popisující záznam CERT, umožňující ukládat certifikáty do DNS, vytvořili v roce 1999 Olafur Gudmundsson a Donald Eastlake (RFC2538). Tento internetový standard byl v roce 2006 aktualizován Simonem Josefssonem a jeho aktuální podobu naleznete v RFC4398.
Pro SSH vznikl v roce 2006 podobný standard (RFC4255), který je podporován v OpenSSH, ale bohužel je nutné jeho podporu implicitně zapnout. Vytváření šifrovaných tunelů pomocí IPsecu můžete taktéž podpořit informací uloženou v záznamu IPSECKEY (RFC4025) z roku 2005.
Proč tedy zatím nedošlo k masivnějšímu rozšíření používání těchto šikovných pomůcek, jak publikovat veřejné klíče pomocí DNS? Jeden z velkých problémů spočíval v tom, že data, která jste dostali pomocí DNS, nebyla nijak zabezpečena. Tudíž útočník mohl libovolně podvrhnout kryptografický obsah v těchto záznamech.
Naštěstí jsme od té doby ušli dlouhou cestu zakončenou podepsáním kořenové zóny a nyní máme kryptograficky zabezpečený DNS strom, ve kterém můžeme publikovat zabezpečená data. Po počátečním šumu, který vznikl z nadšení z podpisu kořenové zóny, se většina práce naštěstí soustředila okolo IETF. Na posledním setkání IETF 78 v Maastrichtu se na neformálním meetingu (tzv. Bar BoF) potkalo asi 50 zástupců internetové komunity i komerčních firem, které tato problematika zajímá, a dohodli jsme se na postupu směřujícímu k vytvoření regulérní pracovní skupiny (WG) v rámci IETF. Po počátečních průtazích s vytvořením poštovní konference vznikl mailing list keyassure (archiv konference), ve kterém probíhá živá debata nad několika I-D, které vznikly na základě počátečního impulsu.
Aktuálně jsme společně s Warrenem Kumarim z Google vytvořili návrh zakládací listiny pracovní skupiny (za přispění diskutérů v poštovní konferenci) a poslali jsme žádost na vytvoření pracovní skupiny KIDNS (Keys In DNS). Původní záměr byl uspořádat formální BoF setkání na IETF 79 v Pekingu, viz seznam BoF, ale na základě diskuze v konferenci vyplynulo, že BoF již pro vytvoření pracovní skupiny není zapotřebí.
A co se tedy jedná? Pokud chcete provozovat web přes HTTPS (případně mít zabezpečený poštovní protokol – SMTP, IMAP, POP3), tak máte v zásadě jen jednu možnost, jak toto provést tak, aby se certifikát jevil jako důvěryhodný – a to pořídit jej u některé z certifikačních autorit, které jsou považovány za natolik bezpečné, že byli výrobci prohlížečů zařazeny do implicitního seznamu certifikačních autorit. Jak už to ovšem bývá, tak ne všechny certifikační autority jsou stejně bezpečné a bezpečnost je vždy tak silná, jako její nejslabší článek. Běžná praxe u DV (Domain Validated) certifikátů je dnes taková, že ověření validity žádosti je provedeno na základě toho, že jste schopni přijímat e-maily na doméně, pro kterou žádáte certifikát. Jinými slovy vám stačí ovládnout MX záznamy pro směřování pošty a odchytit ty správné e-maily, abyste byli schopni vytvořit certifikát pro konkrétní doménové jméno. Certifikační autority sice poskytují i certifikáty s vyšší úrovní zabezpečení tzv. EV (Extended Validation), ale ruku na srdce, kolik z vás by si všimlo, že se zabezpečení změnilo z EV na DV certifikát. A jak velké by to bylo procento z vašich přátel, rodičů, atp., kteří nejsou obdařeni bezpečnostní paranoiou jako vy.
Úkoly jsou před námi dva:
- Umožnit validaci libovolných certifikátů, tedy i self-signed, pomocí záznamu v DNS
- Umožnit ověření, že použitý certifikát je pravý a vlastník doménového jména jej zamýšlel použít. To je výrazné vylepšení i pro EV certifikáty.
V obou dvou případech bude nutné záznamy zabezpečit pomocí DNSSECu, aby bylo možné ověřit validitu dat, která klient dostane z DNS.
Na závěr bych uvedl seznam čtení na dlouhé noci, tedy I-D, které zatím v pracovní skupině vznikly:
- Using Secure DNS to Associate Certificates with Domain Names For TLS
- Confirming the Certificate structure in TLS with Secure DNS
- DNS Extended Service Parameters (ESRV) Record
A na úplný závěr bych vás, pokud vás tato problematika oslovuje, rád pozval do poštovní konference a snad již brzy vzniklé pracovní skupiny KIDNS.
Ondřej Surý
Dvojkotví
Stejně jako všichni lidé, kteří se nějakým způsobem podílejí na správě DNS infrastruktury, jsem se i já těšil na podpis kořenové zóny. Všichni jsme si od tohoto kroku slibovali, že konečně bude jeden jediný pravý bod důvěry (trust anchor – kotva), který velice rychle nahradí dosavadní dočasné mechanismy jako je ITAR či DLV. Osobně jsem očekával, že hned, jak bude umožněno vkládat DS záznamy do kořenové zóny, tak učiní všechny podepsané domény nejvyšší úrovně. Dnes máme už téměř tři týdny po podpisu kořene a více než měsíc od okamžiku, kdy bylo možné DS záznamy vkládat. Pojďme se tedy podívat, jak situace s kořenovou zónou vypadá. Poměrně překvapivé je zjištění, že v kořenové zóně je 11 domén (bg, br, cat, cz, dk, edu, lk, na, org, tm, uk), zatímco v ITARu je 12 domén (arpa, bg, br, ch, cz, li, na, nu, pr, se, th, tm). Na druhou stranu počet domén v ITARu neustále klesá, nedávno například ITAR opustila .lk a .org. A pochopitelně počet DS záznamů v kořenové zóně roste. Nicméně právě druhým překvapením je, že v kořenové zóně nejsou dvě vetší domény – .se a .eu. Evropská .eu není ani v ITARu. Zástupkyně švédské domény se v mailinglistu vyjádřila tak, že v době dovolených nemají kapacity na vložení DS záznamu, a že tak učiní v průběhu srpna. To je zajímavé vyjádření. Z naší zkušenosti musím říct, že to rozhodně mnoho práce nevyžaduje :-)
Každopádně i tak můžeme říct, že ITAR se pomalu stává minulostí, už rozhodně nelze validovat jen s ním. Česká doména jej kvůli rotaci klíčů opustí brzy a dá se předpokládat, že obdobně se zachovají i ostatní registry. Naopak nové registry už budou vkládat své DS záznamy přímo do kořene. V mailinglistech věnovaných rozvoji DNSSEC byla už spuštěna debata o tom, kdy provoz ITARu definitivně ukončit. Zatím ještě žádné datum nepadlo.
Každopádně, pokud jste tak ještě neučinili, nastavte své resolvery, aby validovaly proti kořenové zóně. Jinak už o mnoho domén „přijdete“.
Ondřej Filip
DNSSEC klíč v kořenové zóně
Jistě jste si všimli, že vás, naše čtenáře, pravidelně informujeme o dění okolo podpisu kořenové zóny (naposledy zde). Máme za sebou úspěšně první i druhou KSK ceremonii a poslední krok, který dle harmonogramu zbývá, je zveřejnění pravého KSK klíče (až doposud byla kořenová zóna podepsaná pomocí mechanismu DURZ).
A dnešního dne bude celý tento proces, který trval několik měsíců, završen publikováním pravého KSK klíče (teď si na pozadí představte bouchání šampaňského a jásot :)).
Pravý klíč pro kořenovou zónu má následující hash:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
. IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEARECAAYFAkw9t5sACgkQoZmhm3FA9yZfkwCeOo3dGa5Nr1ux4WmDpRIrKjoM
iREAoKtYh03ZK+k5brhikmb+9u5iqOZU
=ZfNp
-----END PGP SIGNATURE-----
Tento DS záznam byl získán z dokumentu, který byl vytisknut na první KSK ceremonii:
DS záznam KSK klíče pro kořenovou zónu je podepsán GPG klíčem CZ.NICu 7140F726, který by měl být podepsán mým osobním klíčem a klíčem CSIRT CZ.NIC. Tento klíč můžete získat například ze server pgp.mit.edu:
gpg --keyserver pgp.mit.edu --recv-key 7140F726
Následující sekce bude platná až po publikaci tohoto klíče do kořenové zóny, která proběhne dnes 15. července 2010 mezi 21.30 – 01.30 středoevropského letního času.
Pokud budete chtít začít validovat pomocí klíče kořenové zóny, tak toto provedete změnou konfigurace vašeho rekurzivního DNS serveru (připomínám, že je zapotřebí rekurzivní server Unbound nebo Bind minimálně ve verzi 9.6-ESV nebo libovolné vyšší).
Přesný popis zveřejnění klíčů naleznete v dokumentu DNSSEC Trust Anchor Publication for the Root Zone. Důležité informace jsou tyto:
- Klíč bude zveřejněn ve dvou formátech:
- v XML obsahující hash DNSKEY klíče ve formátu DS záznamu
- v CSR (Certificate Signing Request) ve formátu PKCS#10
- URL XML souboru bude: https://data.iana.org/root-anchors/root-anchors.xml
- Podpisy souboru trust-anchors budou uloženy v:
Konfiguraci serveru Unbound provedete pomocí direktivy trust-anchor:
trust-anchor: ". IN DS 19036 8 2 49AAC11D7B6F6446702E54A1607371607A1A41855200FD2CE1CDDE32F24E8FB5"
Druhou variantou je uložení DS záznamu do souboru např. /etc/unbound/root.ds a nastavení directivy trust-anchor-file: (nebo auto-trust-anchor-file:)
trust-anchor-file: "/etc/unbound/root.ds"
Konfiguraci serveru Bind9 je podobná, jen formát záznamu je odlišný. Nepoužívá se přímo DNS záznam, ale rovnou DNSKEY.
Do konfigurace Bind 9.6 vložíte následující blok s konfigurací:
trusted-keys {
"." 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};
Konfigurace pro Bind 9.7 je obdobná, ale použije se konfigurační direktiva managed-keys:, která automatickou aktualizaci klíče v případě, že bude DNSSEC klíč změněn mechanismem popsaným v RFC5011:
managed-keys {
"." initial-key 257 3 8 "AwEAAagAIKlVZrpC6Ia7gEzahOR+9W29euxhJhVVLOyQbSEW0O8gcCjF FVQUTf6v58fLjwBd0YI0EzrAcQqBGCzh/RStIoO8g0NfnfL2MTJRkxoX bfDaUeVPQuYEhg37NZWAJQ9VnMVDxP/VHL496M/QZxkjf5/Efucp2gaD X6RS6CXpoY68LsvPVjR0ZSwzz1apAzvN9dlzEheX7ICJBBtuA6G3LQpz W5hOA2hzCTMjJPJ8LbqF6dsV6DoBQzgul0sGIcGOYl7OyQdXfZ57relS Qageu+ipAdTTJ25AsRTAoub8ONGcLmqrAmRLKBP1dfwhYB4N7knNnulq QxA+Uk1ihz0=";
};
Po provedení změn musíte znovu načíst konfiguraci a měli byste mít zapnutu validaci pomocí kořenové zóny. Podotýkám, že bych zatím nevypínal validaci pomocí služby ITAR, která v současnosti obsahuje 26 pevných bodů důvěry. Oproti tomu kořenová zóna v čase psaní tohoto blogpostu obsahuje pouhých sedm bezpečných delegací:
# dig @xfr.lax.dns.icann.org . axfr | awk '/^[a-zA-Z0-9-]+\.[[:space:]]/ { print $1, $4; }' | grep DS | sort -u
bg. DS
br. DS
cat. DS
cz. DS
na. DS
tm. DS
uk. DS
Ověření validace můžete například provést takto:
# dig +adflag IN NS . @adresa_vašeho_resolveru
Nyní vypadá výsledek přibližně takto:
$ dig +adflag IN NS . @127.0.0.1
; <<>> DiG 9.7.0-P1 <<>> +adflag IN NS . @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7104
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15
;; QUESTION SECTION:
;. IN NS
;; ANSWER SECTION:
[...seznam NS záznamů...]
;; ADDITIONAL SECTION:
[...seznam IP adres nameserverů...]
;; Query time: 1 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Wed Jul 14 15:45:11 2010
;; MSG SIZE rcvd: 492
Po podpisu kořenové zóny do hlavičky přibude příznak AD:
$ dig +adflag IN NS . @127.0.0.1
; <<>> DiG 9.7.0-P1 <<>> +adflag IN NS . @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7104
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 15
[...]
Aktualizováno: Přidána konfigurace pro Bind 9.7.
Ondřej Surý



