Hlavní navigace

Roamingová síť eduroam: připojení po celém světě

19. 10. 2016
Doba čtení: 9 minut

Sdílet

Síť eduroam umožňuje používat transparentně a bezpečně připojení k internetu po celém světě. Jak je zajištěna autentizace uživatelů a bezpečnost použití cizí sítě?

Jedna z přednášek na konferenci LinuxDays se věnovala bezpečnosti sítě eduroam, která nabízí zapojeným uživatelům roamingové služby v mnoha zemích po celém světě. Podle přednášejícího Ondřeje Caletky chceme všichni používat Wi-Fi. Máme sice LTE, ale kvůli ‚specifickému trhu‘ jsme schopni měsíční FUP vyčerpat za dvacet minut. Takže chceme Wi-Fi. Navíc na mnoha místech, speciálně v betonových katedrálách, je mobilní připojení nedostupné. Nezbývá než se pak připojit k místní síti, která mívá obvykle lepší pokrytí.

Jak to nedělat

Wi-Fi sítě je možné rozdělit podle zabezpečení: od nešifrované sítě přes captive portal až po zabezpečení WPA a 802.1X. Ondřej Caletka varoval před nešifrovanými sítěmi bez hesla, které je možné velmi snadno odposlouchávat. Dnešní zařízení aktivně volají známé Wi-Fi sítě a existují routery, které dokáží na míru spouštět sítě a nechat k nim uživatele připojovat. Známé sítě jsou aktivně vyvolávány pro případ, že používají skryté SSID. Router WiFi Pineapple dokáže na takové výzvy odpovědět a vytvořit síť na míru. Nic netušící uživatel pak všechna svá data posílá přes tuto síť.

Router WiFi Pineapple

Velmi problematický, ale bohužel také rozšířený, je způsob přihlašování uživatelů ve webovém prohlížeči. Nejhorší je varianta s captive portálem, což je velmi nebezpečné pro uživatele a navíc nepohodlné. Klient se připojí k nešifrované síti, jeho HTTP komunikace je blokována a „unášena“ směrem k webovému autentizačnímu portálu. Po ověření jména a hesla je komunikace pro danou MAC adresu povolena. Captive portály nejsou kompatibilní s HTTPS, IPv6, DNSSEC a není to nijak standardizované. Navíc vlastně vůbec neřeší bezpečnost, protože veškerá komunikace je přenášena nešifrovaně.

Zbytečný obtěžující captive portal, heslo je napsáno vlevo.

Celkem snadno nastavitelné a použitelné je zabezpečení sítě pomocí WPA, které je z hlediska uživatele velmi bezpečné. Není možné snadno odposlouchávat síť, i když znáte heslo, které uživatel použil pro připojení. Na druhou stranu to znemožňuje jednoduchou autentizaci uživatelů – obvykle všichni sdílejí jedno společné heslo. Taková síť je použitelná pro domácnost nebo malou kancelář, ale ne pro velké organizace s tisíci uživateli.

Eduroam s 802.1X

Poslední variantou je použití protokolu 802.1X, na které je postaven eduroam. To je velmi bezpečné jak pro provozovatele, tak i pro uživatele. Je ale velmi těžké to provozovat a navíc to provozovat správně. Autentizace uživatelů řeší anonymitu Wi-Fi sítí, které je jinak možné zneužít k páchání kyberkriminality. Když někdo přes vaši síť začne krást ve velkém lidem peníze, přijde policie. A pro vás to bude minimálně velmi nepříjemné. Proto je potřeba mít v takové „otevřené“ síti dobře autentizované uživatele, kteří jsou v případě potřeby dohledatelní.

Eduroam po celém světě

Všechny výše zmíněné problémy má za úkol řešit projekt eduroam. Ten vznikl v Nizozemsku v roce 2002, protože do té doby bylo potřeba registrovat MAC adresy Wi-Fi karet a při cestování mezi univerzitami bylo nutné si například karty půjčovat. Tím se sice řešila autentizace na fyzické úrovni, ale bylo to velmi nepraktické. Dnes navíc uživatelé cestují s celou řadou zařízení a všechna potřebují mít připojená k internetu.

Do Česka dorazil eduroam velmi rychle, už v roce 2004. Původně byl realizován pomocí tři různých autentizačních metod: 802.1X, VPN či captive portálů. Od roku 2007 je použití captive zakázáno a VPN nefungovalo pořádně nikde. Už téměř deset let se v síti používá výhradně autentizace na druhé síťové vrstvě. Ta není omezena jen na Wi-Fi, ale stejným způsobem je možné ji nasadit na drátovém ethernetu.

Eduroam v Česku

Eduroam řeší autentizaci uživatelů, ale nestará se o jejich domovskou konektivitu. Když máte eduroam z Prahy a přijedete do Ameriky, neznamená to, že dostanete českou IP adresu. Místní síť pouze ověří, že vás smí pustit a poté vás připojí do vlastní infrastruktury. Záleží tedy na konkrétní univerzitě, zda vám například nabídne IPv6, jaké dostanete adresy či další služby.

Federace sítí

Princip je možné popsat velmi jednoduše: Pokud se připojíte k síti s 802.1X, veškerý provoz je pro vás ve výchozím stavu blokován. Autentikátor v podobě přístupového bodu nebo switche vyzve klienta protokolem EAP-over-LAN k představení. Klient musí mít k dispozici supplicant, který jeho jménem komunikuje prostřednictvím autentikátoru s autentizačním serverem. Při pozitivní autentizaci je klient vpuštěn do sítě. Najednou vám všechno funguje jako dřív. Z hlediska sítě jste prokázali svou identitu, spřátelený server potvrdil její oprávněnost a překážka v podobě původního bloku byla odstraněna.

Princip federace

Eduroam do tohoto schématu přidává federaci a hierarchii. Každá organizace provozuje vlastní autorizační server (RADIUS) a databázi oprávněných uživatelů. Pokud se klient hlásí do své domovské sítě, proběhne dotaz na server v místní síti a přístupový bod pak uživatele vpustí. Pokud ale uživatel odcestuje a pokusí se připojit k jiné síti ve federaci, autentizační server zjistí, že uživatel k němu nepatří a dotaz odešle do národního RADIUS serveru. Pokud tento také nezná odpověď, pošle dotaz ještě výše do kořenového serveru, který má už adresář všech národních serverů a cesta pak končí v domácí organizaci. Tamní server uživatele ověří a stejnou cestou odpoví, že je možné ho vpustit do sítě. Domovská organizace pak jen ví, že uživatel byl vpuštěn a tím to pro ni končí.

EAP komunikace se vždy navazuje od klientského supplicanta až k autentizačnímu serveru domovské organizace (IdP). Ostatní servery by neměly do zprávy nijak zasahovat a měly by ji jen předat. Uživatel tak vlastně nepozná rozdíl v tom, zda je ve vlastní síti nebo v cizí. Vše se pro něj děje transparentně a on stále používá stejné přihlašovací údaje.

Protokoly autentizace

Pro autentizaci uživatelů se používají dva protokoly: EAP-TTLS a EAP-PEAP. Oba fungují podobně: sestaví si TLS tunel, přičemž si klient ověří serverový certifikát; uvnitř sestaveného tunelu pak server ověřuje klientovo heslo pomocí druhého (vnitřního) autentizačního protokolu. V praxi máte na výběr buď už před lety prolomený protokol EAP-MSCHAPv2, nebo protokol EAP-PAP, na kterém ani není co lámat. Další možností je EAP-TLS, který používá ověření obou stran pomocí certifikátu. Pak vlastně stačí už jen sestavit TLS spojení a uživatel je ověřen. Není potřeba uvnitř kanálu posílat žádné zprávy.

Komunikace jednotlivých RADIUS serverů je realizovaná pomocí UDP, kde je šifrováno pouze heslo sdíleným tajemstvím. Už na začátku se rozhodlo, že to není dostatečné a pro vyšší ochranu je protokol transportován v IPSec. To má ale nevýhodu v obtížné konfiguraci, přenos je nekompatibilní s překlady adres, je potřeba udržovat tunel na živu a obnovovat platnosti klíčů. Tyto problémy eliminuje nový protokol RadSec, který zapouzdřuje RADIUS zprávy do běžného TLS. Drtivá většina správců RADIUS serverů dnes už používá právě tento způsob.

Vnitřní a vnější identita

Dvouvrstvá autentizace má za následek i dvojici uživatelských identit. Vnější identita putuje federací v otevřené podobě a používá se pouze k směrování autentizačních požadavků do domovské organizace uživatele. Pro větší ochranu soukromí může být její uživatelská část anonymizovaná, protože na jménu konkrétního uživatele nezáleží.

Vnitřní identita proti tomu putuje uvnitř šifrovaného tunelu až do domovské organizace, která na jejím základě ověří uživatele. K této identitě nemá nikdo jiný kromě domácí organizace přístup.

Svět uživatelů a správců

V praxi mají provozovatelé sítí problémy především s dohledáváním držitele konkrétní IP adresy a zablokování konkrétního uživatele. Protokol 802.1X řeší jen přístup k síti, ne přidělování adres. Jen některá pokročilejší L2 zařízení registrují klientské IP adresy v účtovacích datech. Je-li navíc používán NAT, je třeba uchovávat informace o překladech. Nestačí tak správně nakonfigurovat přístupové body, ale je potřeba vybudovat infrastrukturu pro ukládání mnoha údajů z různých částí sítě.

Pokud některý z uživatelů poruší pravidla, obvykle mu chce správce sítě zabránit v dalším použití sítě. V případě blokování uživatelů má ale správce k dispozici jen MAC adresu, kterou je ale možné libovolně změnit a vnější identitu. Vnější identita sice odhalí domovskou organizaci uživatele, ale konkrétní uživatelské jméno odhalit nemusí. Zablokování tak může vzít s sebou všechny ostatní uživatele dané organizace. Spolehlivé zablokování jednoho uživatele proto vyžaduje manuální komunikaci s poskytovatelem identity.

Poskytovatelé identit zase řeší problémy s uživatelskými hesly – například je potřeba zvolit, zda univerzita používá stejné uživatelské heslo ke všem systémům včetně eduroam. My tlačíme všechny české univerzity, aby šlo o různá hesla. Pak je ale otázka, zda si může uživatel heslo zvolit nebo mu jej poskytovatel identity vygeneruje. Caletka je rozhodně pro generování bezpečných hesel, ale to zase zhoršuje uživatelské pohodlí, protože někteří klienti hesla zapomínají a chtějí je po uživateli znovu a znovu. Mluvím o Windows. Když máte slabý Wi-Fi signál a nedostane se k vám odpověď při přihlašování, systém vyhodnotí heslo jako špatné a zapomene ho.. Poskytovatel identit také jako jediný vidí obě uživatelské identity a může rozhodnout, zda bude podporovat anonymizaci vnějších identit. V rámci české federace nedoporučujeme anonymní vnější identity nabízet, domníváme se, že přinášejí víc škody než užitku.

Příklad nastavení protokolu PEAP v MS Windows

Uživatelé pak často tápou při konfiguraci přístupu do eduroam. Běžný uživatel je zaskočen asi šesticí voleb, které po nich chce operační systém. Navíc klient musí správně ověřovat certifikát autentizačního serveru, protože jinak může útočník vytvořit vlastní AP jménem eduroam a odchytávat hesla. Problém je, že klient nezná jméno serveru a nemá jak rozpoznat správný certifikát. Různé platformy k problému přistupují různě; Windows ve výchozím nastavení věří jakémukoli důvěryhodnému certifikátu, Apple používá TOFU přístup a při prvním připojení ukazuje uživateli otisk certifikátu. Ostatní platformy obvykle žádné ověřování neprovádí. Bez správné konfigurace s omezením na konkrétní jméno autentizačního serveru, případně na konkrétní privátní certifikační autoritu, která vydává certifikáty pouze pro autentizační servery dané instituce, pak není autentizace bezpečná a heslo může uniknout. Proti odcizení hesla je možné se bránit použitím klientského certifikátu, pokud to poskytovatel identity podporuje. To je ale obvykle velmi obtížné pro uživatele, kteří nejsou technicky zdatní.

Existuje nástroj eduroam Configuration Assistant Tool (CAT), který umožňuje snadnou a bezpečnou konfiguraci. Vychází z XML profilu, který publikuje poskytovatel identity. Generuje instalátor pro konkrétní instituci a platformu. Podporovány jsou Windows, Mac i Linux v desktopových i mobilních variantách. V případě Androidu jde dokonce o jediný možný způsob, jak nastavit omezení na konkrétní jméno certifikátu, protože standardní menu operačního systému takovouto kontrolu nastavit nedokáže.

DT24

Útoky se skutečně dějí

Že jde o reálnou hrozbu, se ukázalo několik dní po přednášce, kdy začali představitelé VŠE rozesílat varovný e-mail, ve kterém se píše, že se po areálu pohybovala cizí osoba, která vytvářela falešnou síť eduroam a odchytávala hesla uživatelů, kteří se k ní připojili.


Roman Bořánek, Twitter

Varování VŠE

Riziko zneužití tu tedy skutečně je a na zabezpečení připojení k síti eduroam je potřeba si dát pozor. Zejména v případě, že univerzita používá stejné přihlašovací údaje také k dalším systémům a službám.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.

Ondřej Caletka vystudoval obor Telekomunikační technika na ČVUT a dnes pracuje ve vzdělávacím oddělení RIPE NCC, mezinárodní asociaci koordinující internetové sítě.