Hlavní navigace

RA-Guard: pomáhat a chránit sousedy v IPv6

28. 5. 2010
Doba čtení: 5 minut

Sdílet

 Autor: 29
IP potřebuje automatické mechanismy pro zjišťování linkových adres, konfiguraci síťových parametrů a další úkoly. Má je IPv4 (ARP, DHCP), má je i IPv6 (ND, DHCPv6) a všechny trpí bezpečnostními problémy. Dnes se podíváme, jak se je snaží řešit IPv6.

Objevování sousedů (Neighbor Discovery, ND) je švýcarský nožík, který jedním společným mechanismem řeší několik konfiguračních úloh. Nahrazuje ARP při vyhledání linkové adresy odpovídající určité IP adrese. Detaily se liší, ale princip je podobný – hledající pošle dotaz „hledám linkovou adresu k tomuto IP“ a šťastný vlastník pošle odpověď.

Problémy ND

Druhou významnou úlohou ND je bezstavová autokonfigurace síťových parametrů. Směrovače posílají do připojených sítí ohlášení obsahující místní prefix(y) a zároveň informaci, zda daný směrovač funguje jako implicitní brána ven. Když počítač dostane oznámení, vytvoří si identifikátor rozhraní (náhodný nebo odvozený z linkové adresy), připojí za prefix a má platnou adresu. Ještě si – opět pomocí ND – ověří, zda danou adresu již někdo nepoužívá. Vše doplní směrovací tabulkou s výchozími směrovači a může fungovat.

V základní podobě není ND nijak zabezpečeno a nabízí bohužel řadu možností, jak do jeho nablýskaných mechanismů hodit vidle. Nikde není zaručeno, že na dotaz po linkové adrese odpovídá její skutečný vlastník. Lze tedy uchvátit pakety určené někomu jinému. Také nemáte jistotu, že ohlášení prefixů posílá opravdový směrovač, takže počítače mohou získat nesmyslné adresy a směrovací tabulky. A konečně je možný i DoS útok na automatickou konfiguraci, kdy se na každý dotaz „nepoužívá už někdo tuto IP adresu?“ odpoví kladně, takže nikdo není schopen si automaticky vytvořit platnou adresu.

Příčinou narušení ND přitom nemusí být vždy jen zlý úmysl. V současnosti k němu daleko častěji dochází chybou v konfiguraci či příliš asertivním chováním některého z užitečných programů. Mimořádně špatné jméno má v tomto smyslu služba Windows Internet Connection Sharing Service, která se tváří jako pupek světa a má tendenci na sebe stáhnout okolní provoz (a to pro IPv6 i IPv4).

Cesty k řešení

Pracovní skupina IPv6 Operations (V6ops) se snaží problém popsat a navrhnout možná řešení. draft-ietf-v6ops-rogue-ra-00 popisuje základní scénáře narušení ND (chyba správce sítě, chyba koncových zařízení nebo zlý úmysl) a shrnuje celkem jedenáct možností, jak se chránit či alespoň minimalizovat dopady.

Řadu z nich lze použít jen ve velmi specifických situacích – například vypnutí automatismů a přechod na manuální konfiguraci či rozdělení sítě tak, aby každý koncový stroj měl vlastní linkové médium, si lze jen těžko reálně představit v síti netriviální velikosti. Jiné mají spíše doplňkový charakter. Třeba programy pro sledování a případnou následnou eliminaci falešných ND ohlášení odesláním stejné zprávy s nulovou životností (ramond, rafixd či NDPMon) umožňují problémovou situaci diagnostikovat a zmírnit její následky, nijak jí ale nepředcházejí.

Pro praktické nasazení „všedního dne“ připadají ze všech popsaných alternativ v úvahu zejména dva přístupy: SeND a nějaká forma filtrování ND v aktivních prvcích. SeND (Secure Neighbor Discovery) se snaží o kompletní zabezpečení objevování sousedů. Je to těžká váha, opřená o kryptografické metody, která bude v praxi narážet na různé pragmatické problémy. Jak funguje se podíváme příště.

Filtrování ND se naproti tomu dá nasadit snadněji, v omezené míře už dnes. Jeho základní myšlenkou je, že aktivní prvky propojující jednotlivá zařízení v linkové vrstvě nepropustí nekorektní ND zprávy. Aby byla filtrace účinná, musí tyto aktivní prvky ležet v cestě mezi komunikujícími počítači. To ovšem dnes nebývá problém. Typickou koncovou síť tvoří přepínaný Ethernet nebo infrastrukturní WiFi a pakety od každého koncového stroje musí procházet ethernetovým přepínačem nebo AP. Jestliže v něm bude adekvátní filtr, falešná ND zpráva nemá šanci vůbec proniknout do sítě.

RA-Guard

O popis základních vlastností takového filtrování se snaží specifikace nazvaná RA-Guard (viz draft-ietf-v6ops-ra-guard-04.txt). Nezabíhá do technických detailů, věnuje se spíše obecným vlastnostem a charakteru filtrování. Popisuje dva základní modely: Pojmem bezstavové filtrování označuje jednoduchou variantu, kdy jsou ND zprávy povoleny například pro určitý port nebo zdrojovou adresu (linkovou a/nebo IP). V této podobě některé současné prvky už filtrovat zprávy dovedou.

Možnosti bezstavového filtrování jsou omezené, nicméně můžete například ohlášení směrovače povolit jen z toho portu, o němž víte, že do směrovače skutečně vede. Pak máte jistotu, že nikdo jiný nedokáže ostatním podstrčit neplatné prefixy adres nebo zmást jejich směrovací tabulky. Už jen tato varianta výrazně pomůže síť ochránit proti zmatečným konfiguracím koncových strojů či agilním aplikacím.

Zajímavější, zatím však spíše papírovou možností je stavové filtrování, které své chování dynamicky přizpůsobuje dění v síti. Dost nadějně vypadá zejména jeho zvažovaná kombinace se SeND – aktivní prvek propustí ohlášení směrovače (případně jinou ND zprávu), jen pokud se ji podaří úspěšně ověřit pomocí SeND. Vystupuje pak jako SeND proxy pro stroje, které jej samy nepodporují nebo nemají k dispozici místní klíče. Zprávu by nedokázaly ověřit, ovšem díky prověrce v aktivním prvku se k nim dostanou jen ty korektní. Tímto způsobem lze SeND nasadit alespoň částečně v sítích, ve kterých je regulérní implementace problematická. Typickým příkladem jsou otevřená prostředí s dočasnými uživateli (WiFi v dopravních prostředcích nebo na konferencích).

cif - debata 2

Tímto způsobem bude možné celkem bez problémů chránit ohlášení směrovačů. Nasadit SeND a nakonfigurovat odpovídající algoritmy a klíče na omezeném počtu zařízení (směrovače a filtrující aktivní prvky) by nemělo představovat problém. Ovšem chránit síť proti falešným zprávám koncových stanic (čili cíleným útokům) bude tvrdší oříšek. Tady nejspíš nepůjde požadovat SeND, protože by to znamenalo jeho plošné nasazení na všech zařízeních, které (alespoň zatím) není možné. Bude pravděpodobně třeba sáhnout po statistickém hodnocení a heuristikách, jež by podle obvyklých vzorců chování síťových zařízení posuzovaly, zda lze zprávu považovat za korektní či nikoli. V této oblasti je myslím pole pro bádání velmi otevřené.

Specifikace RA-Guard teprve vzniká. Dobrou zprávou je, že na jejím vývoji se podílejí zaměstnanci Cisco Systems, kde se pracuje také na implementaci. Lze proto očekávat, že nezůstane jen na papíře, což rozhodně prospěje zdraví koncových IPv6 sítí.

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

Autor článku

Autor dělá nepořádek v příslovích, protože sítě nejen dělá, ale i učí a dokonce také řídí. Působí na Ústavu nových technologií a aplikované informatiky na Technické univerzitě v Liberci. Píše knihy.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).