Yandex implementuje RPKI

Dobrý deň, volám sa Alexander Azimov. V Yandex vyvíjam rôzne monitorovacie systémy, ako aj architektúru dopravnej siete. Dnes si však povieme niečo o protokole BGP.

Yandex implementuje RPKI

Pred týždňom Yandex povolil ROV (Overenie pôvodu trasy) na rozhraniach so všetkými partnerskými partnermi, ako aj na miestach výmeny návštevnosti. Prečítajte si nižšie o tom, prečo sa tak stalo a ako to ovplyvní interakciu s telekomunikačnými operátormi.

BGP a čo je na ňom zlé

Pravdepodobne viete, že BGP bol navrhnutý ako medzidoménový smerovací protokol. Postupom času sa však podarilo narásť počet prípadov použitia: dnes sa BGP vďaka početným rozšíreniam zmenilo na zbernicu správ, ktorá pokrýva úlohy od operátora VPN až po dnes módny SD-WAN, a dokonca našiel uplatnenie ako prenos pre radič podobný SDN, ktorý mení vektor vzdialenosti BGP na niečo podobné ako protokol Links sat.

Yandex implementuje RPKI

Obr. 1. BGP SAFI

Prečo BGP získal (a naďalej dostáva) toľko použití? Existujú dva hlavné dôvody:

  • BGP je jediný protokol, ktorý funguje medzi autonómnymi systémami (AS);
  • BGP podporuje atribúty vo formáte TLV (typ-dĺžka-hodnota). Áno, protokol v tom nie je sám, ale keďže ho na spojoch medzi telekomunikačnými operátormi nie je čím nahradiť, vždy sa ukáže ako výhodnejšie pripojiť k nemu ďalší funkčný prvok ako podporovať dodatočný smerovací protokol.

Čo s ním je? Stručne povedané, protokol nemá zabudované mechanizmy na kontrolu správnosti prijatých informácií. To znamená, že BGP je a priori dôveryhodný protokol: ak chcete svetu povedať, že teraz vlastníte sieť Rostelecom, MTS alebo Yandex, prosím!

Filter na báze IRRDB – najlepší z najhorších

Vynára sa otázka: prečo v takejto situácii stále funguje internet? Áno, väčšinou to funguje, no zároveň to periodicky exploduje a zneprístupní celé národné segmenty. Hoci aktivita hackerov v BGP je tiež na vzostupe, väčšinu anomálií stále spôsobujú chyby. Tohtoročným príkladom je malá chyba operátora v Bielorusku, čím sa značná časť internetu na pol hodiny zneprístupnila používateľom MegaFonu. Ďalší príklad - šialený optimalizátor BGP zlomil jednu z najväčších sietí CDN na svete.

Yandex implementuje RPKI

Ryža. 2. Odpočúvanie premávky Cloudflare

Prečo sa však takéto anomálie vyskytujú raz za šesť mesiacov a nie každý deň? Pretože operátori používajú externé databázy smerovacích informácií na overenie toho, čo dostávajú od susedov BGP. Takýchto databáz je veľa, niektoré z nich spravujú registrátori (RIPE, APNIC, ARIN, AFRINIC), niektoré sú nezávislými hráčmi (najznámejšia je RADB) a existuje aj celý rad registrátorov vlastnených veľkými spoločnosťami (Level3 , NTT atď.). Práve vďaka týmto databázam si medzidoménové smerovanie zachováva relatívnu stabilitu svojho fungovania.

Existujú však nuansy. Informácie o smerovaní sa kontrolujú na základe objektov ROUTE-OBJECTS a AS-SET. A ak prvá znamená autorizáciu pre časť IRRDB, potom pre druhú triedu neexistuje autorizácia ako trieda. To znamená, že ktokoľvek môže pridať kohokoľvek do svojich súborov a tým obísť filtre poskytovateľov upstream. Navyše nie je zaručená jedinečnosť pomenovania AS-SET medzi rôznymi bázami IRR, čo môže viesť k prekvapivým efektom s náhlou stratou konektivity pre telekomunikačného operátora, ktorý zo svojej strany nič nezmenil.

Ďalšou výzvou je spôsob používania AS-SET. Sú tu dva body:

  • Keď operátor získa nového klienta, pridá ho do svojho AS-SET, ale takmer nikdy ho neodstráni;
  • Samotné filtre sa konfigurujú iba na rozhraniach s klientmi.

Výsledkom je, že moderný formát BGP filtrov pozostáva z postupnej degradácie filtrov na rozhraniach s klientmi a a priori dôvery v to, čo pochádza od peeringových partnerov a poskytovateľov IP tranzitu.

Čo nahrádza prefixové filtre založené na AS-SET? Najzaujímavejšie je, že z krátkodobého hľadiska - nič. Objavujú sa však ďalšie mechanizmy, ktoré dopĺňajú prácu filtrov založených na IRRDB, a v prvom rade je to, samozrejme, RPKI.

RPKI

Zjednodušene si možno architektúru RPKI predstaviť ako distribuovanú databázu, ktorej záznamy je možné kryptograficky overiť. V prípade ROA (Route Object Authorization) je podpisovateľ vlastníkom adresného priestoru a samotný záznam je trojitý (prefix, asn, max_length). Tento záznam v podstate postuluje nasledovné: vlastník priestoru adries $prefix autorizoval číslo AS $asn na inzerciu prefixov s dĺžkou nie väčšou ako $max_length. A smerovače pomocou vyrovnávacej pamäte RPKI sú schopné skontrolovať súlad dvojice predpona - prvý rečník na ceste.

Yandex implementuje RPKI

Obrázok 3. Architektúra RPKI

Objekty ROA boli štandardizované už pomerne dlho, no donedávna zostali vlastne len na papieri v časopise IETF. Dôvod toho znie podľa mňa desivo – zlý marketing. Po dokončení štandardizácie bolo motiváciou, že ROA chránila pred únosom BGP - čo nebola pravda. Útočníci môžu jednoducho obísť filtre založené na ROA vložením správneho čísla AC na začiatok cesty. A hneď ako prišlo toto uvedomenie, ďalším logickým krokom bolo upustiť od používania ROA. A naozaj, prečo potrebujeme technológiu, ak nefunguje?

Prečo je čas zmeniť názor? Pretože toto nie je celá pravda. ROA nechráni pred hackerskou aktivitou v BGP, ale chráni pred náhodnými dopravnými únosmi, napríklad zo statických únikov v BGP, ktoré sú čoraz bežnejšie. Taktiež, na rozdiel od filtrov založených na IRR, ROV možno použiť nielen na rozhraniach s klientmi, ale aj na rozhraniach s partnermi a upstream poskytovateľmi. To znamená, že spolu so zavedením RPKI sa z BGP postupne vytráca a priori dôvera.

Teraz už kontrolu trás na základe ROA postupne implementujú kľúčoví hráči: najväčší európsky IX už vyraďuje nesprávne trasy, spomedzi operátorov Tier-1 stojí za vyzdvihnutie AT&T, ktorá povolila filtre na rozhraniach s partnerskými partnermi. K projektu pristupujú aj najväčší poskytovatelia obsahu. A desiatky stredne veľkých tranzitných operátorov to už v tichosti implementovali bez toho, aby o tom niekomu povedali. Prečo všetci títo operátori implementujú RPKI? Odpoveď je jednoduchá: chrániť odchádzajúce prenosy pred chybami iných ľudí. To je dôvod, prečo je Yandex jedným z prvých v Ruskej federácii, ktorý zaradil ROV na okraj svojej siete.

čo bude ďalej?

Teraz sme povolili kontrolu informácií o smerovaní na rozhraniach s dopravnými výmennými bodmi a súkromnými partnermi. V blízkej budúcnosti bude umožnené overenie aj u poskytovateľov upstreamových prenosov.

Yandex implementuje RPKI

Aký je to pre vás rozdiel? Ak chcete zvýšiť bezpečnosť smerovania prevádzky medzi vašou sieťou a Yandexom, odporúčame:

  • Podpíšte svoj adresný priestor na portáli RIPE - je to jednoduché, trvá to v priemere 5-10 minút. Ochránite tak našu konektivitu v prípade, že vám niekto nevedomky ukradne adresný priestor (a skôr či neskôr sa to určite stane);
  • Nainštalujte jednu z medzipamätí RPKI s otvoreným zdrojom (zrelý-validátor, rutinér) a povoliť kontrolu trasy na hranici siete – zaberie to viac času, ale opäť to nespôsobí žiadne technické ťažkosti.

Yandex tiež podporuje vývoj filtrovacieho systému založeného na novom objekte RPKI - KÚPELE (Autonomous System Provider Authorization). Filtre založené na objektoch ASPA a ROA môžu nielen nahradiť „deravé“ AS-SETy, ale aj uzavrieť problémy s MiTM útokmi pomocou BGP.

Podrobne o ASPA porozprávam o mesiac na konferencii Next Hop. Vystúpia tam aj kolegovia z Netflixu, Facebooku, Dropboxu, Juniperu, Mellanoxu a Yandexu. Ak vás zaujíma sieťový stack a jeho vývoj v budúcnosti, príďte registrácia je otvorená.

Zdroj: hab.com

Pridať komentár