Vyšlo na Lupě, 17.3.2014
Vytištěno z adresy: http://www.earchiv.cz/b14/b0317001.php3

Router Turris pod lupou

Sdružení CZ.NIC právě v těchto dnech expeduje routery Turris prvním zájemcům o jejich nasazení. Jaké jsou, jak se ovládají a co je s jejich používáním spojeno?

O projektu Turris jste možná již slyšeli, ale snad nezaškodí zopakovat si alespoň stručně jeho historii. Jde o projekt sdružení CZ.NIC, který se původně jmenoval „distribuovaná kybernetická bezpečnost“. Toto původní jméno asi nejlépe napovídá, o co v projektu jde: o boj proti kybernetickým hrozbám nikoli někde „na jednom místě“, ale „rozprostřeně“, na distribuovaném principu: s rozmístěním vhodných sond na co nejvíce různých míst, kde by sbíraly informace o aktuálním dění na poli bezpečností a dokázaly tak lépe detekovat potenciální hrozby či právě probíhající útoky. A stejně tak s rozmístěním většího počtu firewallů, které by byly centrálně spravovány na základě , vyhodnocení informací, průběžně získávaných ze sond.

Pokud již tušíte, že takovou sondou i firewallem současně je právě ono zařízení, avizované v titulku i v perexu, pak tušíte správně: sdružení CZ.NIC si jej vyvinulo samo, podle svých potřeb, aby plnilo roli sondy i firewallu současně. Jde o poměrně komplexní a univerzální zařízení, schopné fungovat na více vrstvách a plnit roli celé domácí brány. Pro jednoduchost je ale označováno jen jako router (česky: směrovač). Sdružení CZ.NIC jej právě nyní začíná distribuovat prvním zájemcům, kteří se k jeho nasazení dobrovolně přihlásili.

Celý projekt distribuované bezpečnosti (dnes pojmenovaný Turris) ale netvoří jen toto zařízení. Chybět nesmí ani centrální část, která sbírá příslušná data, vyhodnocuje je a následně využívá jak pro nastavení firewallů v routerech Turris, tak i pro další aktivity na poli kybernetické bezpečnosti (nezapomínejme, že CZ.NIC je aktuálně také provozovatelem národního CSIRTu).

Celý projekt má ale i další důležité součásti: konkrétně třeba smluvní vztahy mezi provozovatelem projektu a lidmi, kteří se projektu dobrovolně účastní a nechají si zapojit router Turris do své vlastní sítě. Jde v nich o to, aby tito lidé věděli, co a jak dělá sonda v zařízení, umístěném v jejich síti. Jaká data sbírá a co a jak „hlásí“ do CZ-NICu. To je totiž velmi citlivá otázka, ve které musí mít obě strany jasno – že nejde o žádné špehování, ale skutečně jen o zajištění kybernetické bezpečnosti.

O tom, že vše je realizováno korektně, a že se přitom „hraje s otevřenými kartami“ a nic se neskrývá, svědčí mimo jiné i nedávné ocenění celého projektu Turris jedinou pozitivní cenou v rámci cen Velkého bratra. S odůvodněním, že:

Projekt Turris, který připravilo a realizuje sdružení CZ.NIC, dělá něco, za co je obvykle udělována negativní cena Velkého bratra: pomocí směrovače v domácnosti monitoruje provoz mezi veřejným Internetem a konkrétní privátní sítí, a získané údaje posílá na jedno centrální místo. To, že tento projekt naopak dostává pozitivní cenu Velkého bratra, je dáno jednak cílem, který projekt sleduje, a pak způsobem, jakým tak činí.

Co je obsahem smlouvy?

Každý zájemce, který se rozhodne zapojit do projektu a nechá si „k sobě“ nainstalovat router Turris, uzavírá se sdružením CZ.NIC nájemní smlouvu (její plné znění najdete zde). V ní si zařízení pronajímá na 3 roky (s možností ji kdykoli vypovědět), za symbolickou 1 Kč. Přitom se zavazuje, že router Turris nainstaluje na svou internetovou přípojku „hned jako první“ (tj. hned „za“ ADSL modem, kabelový modem apod., a nikoli za nějaký jiný směrovač/router). Dále se zavazuje nechat zařízení trvale zapnuté a v provozu – to vše kvůli tomu, aby sonda v routeru mohla plnit svůj účel a sbírat data nepřetržitě.

Důležité je také to, že router Turris není žádný black box, do kterého by jeho uživatel nesměl „sáhnout“ – smí. Může provádět úpravy a změny jeho programového vybavení podle svých potřeb, například si na něm instalovat různé servery, utility apod. Přitom ale nesmí zasahovat do funkcí sondy a firewallu, ani do jejich komunikace s centrálou projektu. Musí také počítat s tím, že tato komunikace bude probíhat průběžně a „na jeho účet“, v tom smyslu, že on nese náklady na takto přenášená data. Ve smlouvě je uvedeno, že by obvykle nemělo jít o více jak 400 MB dat za měsíc. Stejně tak musí být nájemce srozuměn s tím, že provozovatel projektu z jeho zařízení může průběžně testovat dostupnost zařízení a služeb třetích stran v síti (iniciovat k nim spojení), s tím že zde by celkový datový tok neměl přesáhnout 100 MB měsíčně.

Pokud jde o sběr dat, zde smlouva zaručuje, že CZ.NIC bude monitorovat pouze provoz mezi routerem Turris a veřejným Internetem, a nikoli provoz „za“ routerem, v připojených (privátních) sítích. Přitom bude vyhodnocovat pouze druh provozu (zdrojové a cílové adresy, porty, protokoly, čas), a sbírat data z logu nepovolených přístupů na firewall v zařízení. Stejně tak může sledovat provozní statistiky samotného zařízení (jeho teplotu, napětí, proud, využití paměti a CPU atd.). Naopak nesmí sledovat samotný obsah komunikace (vnitřní obsah paketů).

Data, získaná z pronajímaných zařízení, bude CZ.NIC uchovávat pouze po 10 dnů. A i během této doby je bude ukládat a zpracovávat odděleně od databáze nájemců jednotlivých zařízení, tak aby standardně nebylo možné přiřazení konkrétních dat ke konkrétnímu nájemci. Výjimkou mohou být pouze nejzávažnější bezpečnostní incidenty, kdy nepostačuje obecné informování ani vzdálené nastavení firewallu ve směrovači.

Kromě toho má každý nájemce routeru možnost podívat se na statistický přehled informací, získaných z jemu pronajatého zařízení, a to na serveru provozovatele projektu. K tomu, jak tato data vypadají a co se z nich nájemce dozví, se ale dostaneme až v dalším článku. Dnes se nejprve podíváme podrobněji na samotný router Turris, který je právě v těchto dnech dostává k prvním zájemcům o jeho pronájem.

Co umí router?

Jak již zaznělo výše, samotné zařízení si vyvinuli v CZ.NICu sami. Kvůli tomu, že žádné existující zařízení nevyhovovalo jejich představám. Díky tomu má CZ.NIC k dispozici celou dokumentaci k hardwaru svého zařízení, a také ji plně zveřejňuje (pod CERN Open Hardware License). Hlavní HW parametry jsou následující:

  • Procesor Freescale P2020 taktovaný na 1200 MHz
  • 2 GB DDR3 RAM v SO-DIMM slotu
  • 16 MB NOR a 256 MB NAND flash paměť
  • samostatný gigabitový WAN a 5 LAN portů (s využitím switch chipu QCA8337N)
  • Wifi 802.11a/g/n s 3x3 MIMO a odnímatelnými anténami
  • 2x USB 2.0 port
  • 1 volný miniPCIe slot
  • UART, SPI a I2C připojené na pin-header pro snadnou rozšiřitelnost

Pokud jde o software, ten si CZ.NIC již nevyvíjel sám, ale použil již existující operační systém Open WRT, založený na Linuxu. Díky tomu lze na zařízení instalovat a provozovat řadu programů (balíčků), vyvinutých pro tuto platformu, a tím značně rozšířit jeho základní funkčnost: například si na něm můžete provozovat vlastní poštovní (SMTP) server, file server, print server, server NAS, DLNA server apod. K těmto zajímavým možnostem se ale dostaneme až v dalších samostatných článcích.

Zde zůstaneme alespoň u „základní funkčnosti“, ke které patří například plná a důsledná podpora IPv6 a DNSSEC, stejně jako již zmiňovaná funkčnost sondy, firewallu, i celá možnost ovládání „bezpečnostních“ funkcí zařízení na dálku, z centrály projektu Turris.  

Pokud jde o možnost správy (administrace) ze strany uživatele: samotný operační systém OpenWRT má své vlastní a sofistikované nástroje pro správu, které umožňují „prakticky vše“. V routeru Turris jde konkrétně o rozhraní LuCi, které je ale určené až pro pokročilejší uživatele. Pro běžného uživatele je připraven „průvodce“ (jakási zjednodušená administrační nadstavba nad Open WRT), kterou vytvořil již CZ.NIC. Měl by postačovat pro jednoduchou správu základních funkcí celého zařízení.

Počáteční zprovoznění

Zmiňovaný průvodce je současně i utilitou, kterou je nutné projít při prvním spuštění zařízení (i po jeho resetu do továrního nastavení), za účelem jeho prvotního nastavení. Naznačme si proto jeho možnosti a požadavky.

První věc, ke které vás průvodce přinutí (a jinak nepustí dál), je zadat heslo pro správcovské rozhraní. Toto heslo může (ale nemusí) být současně i heslem do pokročilejšího rozhraní LuCi, i pro případný přístup přes SSH.

Dalším krokem v průvodci je nastavení „vnějšího“ (WAN) rozhraní směrovače, pro připojení do Internetu. Zde je vhodné si říci, že pro tento účel má zařízení jen (gigabitový) ethernetový port, takže potřebujete externí xDSL modem, kabelový modem či jiné „koncové“ zařízení na konci své přípojky, zakončené klasickým Ethernetem. Do budoucna se zařízení možná dočká zabudovaného DSL modemu, ale v současné době tomu tak není.

Na WAN rozhraní přitom máte k dispozici obvyklé možnosti nastavení: buď „DHCP“, kdy zařízení dostane přidělenu IP adresu a další nezbytné konfigurační údaje od „nadřazeného“ DHCP serveru (typicky od internetového providera). Další možností je explicitní zadání těchto údajů (konfigurace statické IP adresy), a připojení pomocí PPPoE.

Jakmile zadáte vše potřebné pro připojení k Internetu, zařízení si samo otestuje jeho funkčnost, včetně podpory DNSSEC na straně vašeho poskytovatele (providera). Pokud totiž jeho DNS resolvery řádně podporují DNSSEC, je (kvůli rychlejší odezvě) výhodnější, aby mu zařízení příslušné dotazy předávalo (tzv. forwardovalo). Ale pokud provider DNSSEC nepodporuje (což je i můj případ, v kabelové síti UPC), router Turris bude používat vlastní zabudovaný DNS resolver s podporou DNSSEC (tj. bez forwardování příslušných dotazů).

V dalších krocích, na funkčním připojení k Internetu, si zařízení seřídí svůj čas oproti časovým serverům, a stáhne a nainstaluje i případné aktualizace. Ty se následně, za běžného provozu, již instalují samy (s možností nastavit, kdy se zařízení nemá kvůli jejich instalaci rebootovat).

Další kroky pak řeší nastavení na „vnitřní straně“ zařízení: jeho rozhraní LAN, a pak nastavení bezdrátového rozhraní. Právě zde se ale nejvíce projevuje zjednodušenost celého průvodce a jeho použitelnost jen pro nejzákladnější nastavení. Například při nastavení LAN rozhraní máte možnost zapnout či vypnout zabudovaný DHCP server, a určit rozsah dynamicky přidělovaných IP adres, včetně IP adresy samotného zařízení (ze strany jeho rozhraní LAN).

Pokud byste ale potřebovali třeba tzv. rezervovat konkrétní IP adresy pro konkrétní uzly, můžete to udělat až v rozšířeném nastavení skrze rozhraní LuCi.

Poněkud nestandardní, a vlastně i trochu nebezpečné, mi přijde to, že změna IP adresy samotného zařízení zafunguje hned, a ne až po následném restartu (rebootu) celého zařízení, jak bývá zvykem.  Protože kvůli tomu obvykle musí uživatel okamžitě „přestavět“ počítač, ze kterého je k zařízení připojen (musí dosáhnout potřebné změny nastavení IP adres).

V dalším kroku, při nastavování bezdrátového rozhraní, jsou opět k dispozici jen ta nejzákladnější nastavení, jako jméno sítě (SSID), možnost jeho skrývání, pásmo (2,4 a 5 GHz), kanál (s možností automatického výběru), a konečně heslo.

Co zde chybí, je například možnost volit standard (b, g, n atd.) či způsob zabezpečení. To vše se dá provést až v rozšířeném nastavení pomocí rozhraní LuCi, kde můžete dělat i řadu dalších věcí. Třeba vytvořit další bezdrátové sítě, se samostatným SSID i samostatným způsobem směrování, ale fungující ve stejném frekvenčním pásmu a na stejném kanále jako ostatní bezdrátové sítě.

Konečně posledním krokem v rámci počátečního nastavení je registrace zařízení v centrále projektu Turris.

Zde by vás již „měli znát“, na základě uzavřené smlouvy o pronájmu, jejíž podpis musí předcházet převzetí samotného zařízení. Mimochodem, podepsat tuto smlouvu můžete i pomocí svého účtu u MojeID. Musí se ovšem jednat o tzv. validovaný účet.

Po zaregistrování svého zařízení se pak můžete dívat na webu projektu Turris na přehled údajů, které o vás vaše zařízení poslalo do centrály projektu. Stejně tak zde můžete změnit standardní 10denní dobu, po kterou jsou tato data centrálně uchovávána (viz výše).

Ale toto si necháme již na další podrobnější článek.

Pokročilé nastavení

Zde si na závěr naznačme alespoň něco z toho, co nabízí rozhraní LuCi, určené zkušenějším uživatelům. Dostanete se k němu například přes zjednodušené rozhraní pro správu, odpovídající právě popsanému průvodci (jehož služby máte k dispozici trvale):

Alespoň z mého pohledu je jednou z nejzajímavějších funkcí možnost sledovat v reálném čase (a přímo na vlastním zařízení) veškerý provoz mezi tímto zařízením a vnějším Internetem. Tedy jak provoz generovaný samotným zařízením (což je zejména jeho komunikace s centrálou projektu), tak i veškerý provoz z/do Internetu, generovaný koncovými zařízeními ve vnitřních sítích. Příklad vidíte na obrázku: v horní části je tříminutové „okno“ s objemy provozu (samostatně pro TCP, UDP a ostatní provoz). Pod ním pak aktuálně vedená TCP spojení a přenesené UDP datagramy.

Z tohoto přehledu si pak můžete udělat představu o tom, co a jak se odehrává ve vaší síti. Zkusme si to, pro tento konkrétní obrázek:

  • na prvním řádku vidíte, jak samotný router Turris posílá data (spojovaným způsobem přes protokol TCP) do centrály projektu, na adresu api.turris.cz, konkrétně na port 5678. Toto spojení je zřejmě udržováno trvale (od rebootu), a v daném případě bylo takto přeneseno 4,61 MB dat. Odhadem jde o cca 2,5 MB za 12 hodin, což by bylo 150 MB za měsíc (a tedy méně než slibované maximum 400 MB, viz výše)
  • druhý a třetí řádek ukazuje „udržovací“ komunikaci SIP klientů ve vnitřní síti se službami voocall a 802.cz.
  • čtvrtý řádek ukazuje komunikaci jednoho počítače se samotným routerem Turris a jeho rozhraním LuCi
  • pátý a šestý řádek vypovídají o on-line zálohování dvou různých počítačů ve vnitřní síti prostřednictvím služby CrashPlan
  • sedmý řádek odpovídá použití služby Dropbox na jednom z počítačů ve vnitřní síti.

Stejným způsobem si pak můžete sami „hlídat“ svou bezpečnost. Sami se ujistit, zda počítače ve vaší síti nedělají něco, o čem třeba nevíte, či co si dokonce nepřejete. I když takováto kontrola není úplně jednoduchá. Ale třeba právě k tomuto účelu vzniknou časem specializované nástroje. Samotný router Turris je pro jejich nasazení dobře připraven.