Yandex implementuje RPKI

Dobrý den, jmenuji se Alexander Azimov. V Yandexu vyvíjím různé monitorovací systémy a také architekturu transportní sítě. Dnes si ale povíme něco o protokolu BGP.

Yandex implementuje RPKI

Před týdnem Yandex povolil ROV (Route Origin Validation) na rozhraních se všemi partnerskými partnery a také na výměnných bodech provozu. Níže si přečtěte, proč k tomu došlo a jak to ovlivní interakci s telekomunikačními operátory.

BGP a co je na něm špatného

Pravděpodobně víte, že BGP byl navržen jako mezidoménový směrovací protokol. Postupem času se však počet případů použití dařilo narůstat: dnes se BGP díky četným rozšířením proměnilo ve sběrnici zpráv, pokrývající úkoly od operátorské VPN po dnes módní SD-WAN, a dokonce našel uplatnění jako přenos pro řadič podobný SDN, měnící vzdálenostní vektorový BGP na něco podobného, ​​jako je protokol Links sat.

Yandex implementuje RPKI

Obr. 1. BGP SAFI

Proč BGP získal (a nadále přijímá) tolik použití? Existují dva hlavní důvody:

  • BGP je jediný protokol, který funguje mezi autonomními systémy (AS);
  • BGP podporuje atributy ve formátu TLV (type-length-value). Ano, protokol v tom není sám, ale protože jej na spojích mezi telekomunikačními operátory není čím nahradit, vždy se ukáže jako výhodnější připojit k němu další funkční prvek než podporovat další směrovací protokol.

Co je s ním? Protokol zkrátka nemá vestavěné mechanismy pro kontrolu správnosti přijatých informací. To znamená, že BGP je a priori důvěryhodný protokol: pokud chcete světu sdělit, že nyní vlastníte síť Rostelecom, MTS nebo Yandex, prosím!

Filtr na bázi IRRDB – nejlepší z nejhorších

Nabízí se otázka: proč v takové situaci stále funguje internet? Ano, většinou to funguje, ale zároveň to periodicky exploduje a znepřístupní celé národní segmenty. Přestože aktivita hackerů v BGP je také na vzestupu, většinu anomálií stále způsobují chyby. Letošním příkladem je malá chyba operátora v Bělorusku, což uživatelům MegaFonu na půl hodiny znepřístupnilo značnou část internetu. Další příklad - šílený BGP optimalizátor rozbil jednu z největších sítí CDN na světě.

Yandex implementuje RPKI

Rýže. 2. Zachycování provozu Cloudflare

Ale přesto, proč se takové anomálie vyskytují jednou za šest měsíců a ne každý den? Protože operátoři používají externí databáze směrovacích informací k ověření toho, co dostávají od sousedů BGP. Takových databází je mnoho, některé z nich spravují registrátoři (RIPE, APNIC, ARIN, AFRINIC), některé jsou nezávislými hráči (nejznámější je RADB) a existuje také celá řada registrátorů vlastněných velkými společnostmi (Level3 , NTT atd.). Právě díky těmto databázím si mezidoménové směrování udržuje relativní stabilitu svého provozu.

Existují však nuance. Informace o směrování jsou kontrolovány na základě objektů ROUTE-OBJECTS a AS-SET. A pokud první znamená autorizaci pro část IRRDB, pak pro druhou třídu neexistuje žádná autorizace jako třída. To znamená, že kdokoli může přidat kohokoli do svých sad a obejít tak filtry upstream poskytovatelů. Navíc není zaručena jedinečnost pojmenování AS-SET mezi různými IRR bázemi, což může vést k překvapivým efektům s náhlou ztrátou konektivity pro telekomunikačního operátora, který ze své strany nic nezměnil.

Další výzvou je způsob použití AS-SET. Jsou zde dva body:

  • Když operátor získá nového klienta, přidá ho do svého AS-SET, ale téměř nikdy jej neodebere;
  • Samotné filtry se konfigurují pouze na rozhraních s klienty.

Výsledkem je, že moderní formát BGP filtrů spočívá v postupné degradaci filtrů na rozhraní s klienty a apriorní důvěře v to, co přichází od peeringových partnerů a poskytovatelů IP tranzitu.

Co nahrazuje filtry prefixů založené na AS-SET? Nejzajímavější je, že z krátkodobého hlediska - nic. Ale objevují se další mechanismy, které doplňují práci filtrů na bázi IRRDB, a v první řadě je to samozřejmě RPKI.

RPKI

Zjednodušeně lze architekturu RPKI chápat jako distribuovanou databázi, jejíž záznamy lze kryptograficky ověřovat. V případě ROA (Route Object Authorization) je podepisující vlastník adresního prostoru a samotný záznam je trojitý (prefix, asn, max_length). Tento záznam v podstatě postuluje následující: vlastník adresního prostoru $prefix autorizoval číslo AS $asn k inzerci prefixů s délkou ne větší než $max_length. A routery využívající mezipaměť RPKI jsou schopny zkontrolovat, zda je pár kompatibilní předpona - první řečník na cestě.

Yandex implementuje RPKI

Obrázek 3. Architektura RPKI

Objekty ROA byly standardizovány poměrně dlouho, ale donedávna zůstávaly vlastně jen na papíře v časopise IETF. Důvod toho zní podle mě děsivě – špatný marketing. Po dokončení standardizace bylo motivací to, že ROA chránila před únosem BGP – což nebyla pravda. Útočníci mohou snadno obejít filtry založené na ROA vložením správného čísla AC na začátek cesty. A jakmile toto uvědomění přišlo, dalším logickým krokem bylo opustit používání ROA. A opravdu, proč potřebujeme technologii, když nefunguje?

Proč je čas změnit názor? Protože to není celá pravda. ROA nechrání před aktivitou hackerů v BGP, ale chrání před náhodnými dopravními únosy, například ze statických úniků v BGP, které jsou stále častější. Na rozdíl od filtrů založených na IRR lze také ROV použít nejen na rozhraních s klienty, ale také na rozhraních s peer a upstream poskytovateli. To znamená, že spolu se zavedením RPKI se z BGP postupně vytrácí apriorní důvěra.

Nyní je kontrola tras na bázi ROA postupně implementována klíčovými hráči: největší evropský IX již zahazuje nesprávné trasy, z operátorů Tier-1 stojí za vyzdvihnutí společnost AT&T, která povolila filtry na rozhraních se svými peeringovými partnery. K projektu přistupují i ​​největší poskytovatelé obsahu. A desítky středně velkých tranzitních operátorů to již v tichosti zavedly, aniž by o tom komukoli řekli. Proč všichni tito operátoři implementují RPKI? Odpověď je jednoduchá: chránit svůj odchozí provoz před chybami jiných lidí. To je důvod, proč Yandex jako jeden z prvních v Ruské federaci zahrnul ROV na okraj své sítě.

Co se stane příště?

Nyní jsme povolili kontrolu směrovacích informací na rozhraních s body výměny provozu a soukromých peeringů. V blízké budoucnosti bude ověření umožněno také u poskytovatelů upstreamového provozu.

Yandex implementuje RPKI

Jaký to pro vás znamená rozdíl? Pokud chcete zvýšit zabezpečení směrování provozu mezi vaší sítí a Yandexem, doporučujeme:

  • Podepište svůj adresní prostor na portálu RIPE - je to jednoduché, v průměru to trvá 5-10 minut. To ochrání naši konektivitu pro případ, že by vám někdo nevědomky ukradl adresní prostor (a to se dříve nebo později určitě stane);
  • Nainstalujte jednu z open source mezipaměti RPKI (zralý validátor, rutinér) a povolit kontrolu trasy na hranici sítě - zabere to více času, ale opět to nezpůsobí žádné technické potíže.

Yandex také podporuje vývoj filtrovacího systému založeného na novém objektu RPKI - LÁZNĚ (Autonomous System Provider Authorization). Filtry založené na objektech ASPA a ROA mohou nejen nahradit „děravé“ AS-SETy, ale také uzavřít problémy s MiTM útoky pomocí BGP.

O ASPA budu podrobně mluvit za měsíc na konferenci Next Hop. Vystoupí tam i kolegové z Netflixu, Facebooku, Dropboxu, Juniperu, Mellanoxu a Yandexu. Pokud vás zajímá síťový stack a jeho vývoj do budoucna, přijďte registrace je otevřená.

Zdroj: www.habr.com

Přidat komentář