Yandex implementira RPKI

Zdravo, moje ime je Alexander Azimov. U Yandexu razvijam različite sisteme za praćenje, kao i arhitekturu transportne mreže. Ali danas ćemo govoriti o BGP protokolu.

Yandex implementira RPKI

Pre nedelju dana, Yandex je omogućio ROV (Route Origin Validation) na interfejsima sa svim peering partnerima, kao i tačkama razmene saobraćaja. U nastavku pročitajte zašto je to učinjeno i kako će to uticati na interakciju sa telekom operaterima.

BGP i šta nije u redu s njim

Vjerovatno znate da je BGP dizajniran kao protokol za rutiranje među domenima. Međutim, usput, broj slučajeva korištenja uspio je rasti: danas se BGP, zahvaljujući brojnim ekstenzijama, pretvorio u sabirnicu poruka, pokrivajući zadatke od operatera VPN do sada modernog SD-WAN-a, a čak je našao i primjenu kao transport za kontroler sličan SDN-u, pretvarajući vektor udaljenosti BGP u nešto slično links sat protokolu.

Yandex implementira RPKI

Fig. 1 BGP SAFI

Zašto je BGP primio (i nastavlja da prima) toliko upotreba? Dva su glavna razloga:

  • BGP je jedini protokol koji radi između autonomnih sistema (AS);
  • BGP podržava atribute u TLV formatu (tip-dužina-vrijednost). Da, protokol nije sam u tome, ali pošto ga nema ničim što bi ga zamijenilo na spojevima između telekom operatera, uvijek se ispostavi da je isplativije priključiti mu još jedan funkcionalni element nego podržati dodatni protokol za rutiranje.

Šta nije u redu s njim? Ukratko, protokol nema ugrađene mehanizme za provjeru ispravnosti primljenih informacija. Odnosno, BGP je a priori protokol povjerenja: ako želite reći svijetu da sada posjedujete mrežu Rostelecoma, MTS-a ili Yandexa, molim vas!

Filter baziran na IRRDB - najbolji od najgorih

Postavlja se pitanje: zašto Internet još uvijek radi u takvoj situaciji? Da, radi većinu vremena, ali u isto vrijeme periodično eksplodira, čineći nedostupnim čitave nacionalne segmente. Iako je aktivnost hakera u BGP-u također u porastu, većinu anomalija još uvijek uzrokuju greške. Ovogodišnji primjer je mala greška operatera u Bjelorusiji, čime je značajan dio interneta postao nedostupan korisnicima MegaFona na pola sata. Drugi primjer - ludi BGP optimizator razbio jednu od najvećih CDN mreža na svijetu.

Yandex implementira RPKI

Rice. 2. Cloudflare presretanje saobraćaja

Ali ipak, zašto se takve anomalije događaju jednom u šest mjeseci, a ne svaki dan? Zato što operateri koriste eksterne baze podataka o rutiranju kako bi provjerili šta primaju od BGP susjeda. Postoji mnogo takvih baza podataka, neke od njih vode registratori (RIPE, APNIC, ARIN, AFRINIC), neke su nezavisni igrači (najpoznatiji je RADB), a postoji i čitav niz registara u vlasništvu velikih kompanija (Level3 , NTT, itd.). Zahvaljujući ovim bazama podataka, rutiranje između domena održava relativnu stabilnost svog rada.

Međutim, postoje nijanse. Informacije o usmjeravanju se provjeravaju na osnovu ROUTE-OBJECTS i AS-SET objekata. I ako prva podrazumijeva autorizaciju za dio IRRDB-a, onda za drugu klasu nema autorizacije kao klase. Odnosno, svako može dodati bilo koga u svoje skupove i na taj način zaobići filtere upstream provajdera. Štaviše, jedinstvenost imenovanja AS-SET između različitih IRR baza nije zagarantovana, što može dovesti do iznenađujućih efekata sa iznenadnim gubitkom konekcije za telekom operatera, koji sa svoje strane nije ništa promenio.

Dodatni izazov je obrazac upotrebe AS-SET-a. Ovdje postoje dvije tačke:

  • Kada operater dobije novog klijenta, dodaje ga u svoj AS-SET, ali ga gotovo nikada ne uklanja;
  • Sami filteri se konfigurišu samo na interfejsima sa klijentima.

Kao rezultat toga, savremeni format BGP filtera sastoji se od postepeno degradirajućih filtera na interfejsima sa klijentima i a priori poverenja u ono što dolazi od partnera i provajdera IP tranzita.

Šta zamjenjuje prefiks filtere na osnovu AS-SET? Najzanimljivije je da kratkoročno - ništa. Ali pojavljuju se dodatni mehanizmi koji dopunjuju rad filtera baziranih na IRRDB, a prije svega, ovo je, naravno, RPKI.

RPKI

Na pojednostavljen način, RPKI arhitektura se može zamisliti kao distribuirana baza podataka čiji se zapisi mogu kriptografski verificirati. U slučaju ROA (autorizacija objekta rute), potpisnik je vlasnik adresnog prostora, a sam zapis je trostruki (prefiks, asn, max_length). U suštini, ovaj unos postulira sljedeće: vlasnik $prefix adresnog prostora je ovlastio AS broj $asn da oglašava prefikse čija dužina nije veća od $max_length. A ruteri, koristeći RPKI keš memoriju, mogu provjeriti usklađenost para prefiks - prvi govornik na putu.

Yandex implementira RPKI

Slika 3. RPKI arhitektura

ROA objekti su standardizirani dosta dugo, ali su donedavno ostali samo na papiru u IETF časopisu. Po mom mišljenju, razlog za to zvuči zastrašujuće - loš marketing. Nakon što je standardizacija završena, poticaj je bio da ROA zaštiti od otmice BGP-a - što nije bilo tačno. Napadači mogu lako zaobići filtere zasnovane na ROA-i umetanjem ispravnog AC broja na početak putanje. I čim je došlo do te spoznaje, sljedeći logičan korak je bio napuštanje korištenja ROA. I zaista, zašto nam treba tehnologija ako ne radi?

Zašto je vrijeme da se predomislite? Jer ovo nije cijela istina. ROA ne štiti od hakerskih aktivnosti u BGP-u, ali štiti od slučajnih otmica saobraćaja, na primjer od statičkih curenja u BGP-u, što je sve češće. Takođe, za razliku od filtera zasnovanih na IRR, ROV se može koristiti ne samo na interfejsima sa klijentima, već i na interfejsima sa kolegama i upstream provajderima. Odnosno, zajedno sa uvođenjem RPKI-a, a priori povjerenje postepeno nestaje iz BGP-a.

Sada se provjera ruta baziranih na ROA postupno implementira od strane ključnih igrača: najveći europski IX već odbacuje pogrešne rute među Tier-1 operaterima, vrijedno je istaknuti AT&T, koji je omogućio filtere na sučeljima sa svojim peering partnerima. Projektu pristupaju i najveći provajderi sadržaja. I desetine srednjih tranzitnih operatera su to već tiho implementirali, ne govoreći nikome o tome. Zašto svi ovi operateri implementiraju RPKI? Odgovor je jednostavan: da zaštitite svoj odlazni saobraćaj od grešaka drugih ljudi. Zato je Yandex jedan od prvih u Ruskoj Federaciji koji je uključio ROV na rub svoje mreže.

Šta će biti dalje?

Sada smo omogućili provjeru informacija o rutiranju na interfejsima sa tačkama razmene saobraćaja i privatnim peering-ima. U bliskoj budućnosti, verifikacija će biti omogućena i kod dobavljača uzvodnog saobraćaja.

Yandex implementira RPKI

Kakva je razlika za vas? Ako želite povećati sigurnost usmjeravanja prometa između vaše mreže i Yandexa, preporučujemo:

  • Potpišite svoj adresni prostor na portalu RIPE - jednostavno je, u prosjeku traje 5-10 minuta. Ovo će zaštititi našu povezanost u slučaju da neko nesvjesno ukrade vaš adresni prostor (a to će se sigurno dogoditi prije ili kasnije);
  • Instalirajte jedan od otvorenih RPKI kešova (ripe-validator, rutinator) i omogućiti provjeru rute na granici mreže - to će potrajati više, ali opet neće uzrokovati tehničke poteškoće.

Yandex također podržava razvoj sistema filtriranja zasnovanog na novom RPKI objektu - ASPA (Ovlašćenje dobavljača autonomnog sistema). Filteri zasnovani na ASPA i ROA objektima ne samo da mogu zamijeniti AS-SET-ove koji „propuštaju“, već i zatvore probleme MiTM napada koristeći BGP.

O ASPA-i ću detaljno govoriti za mjesec dana na Next Hop konferenciji. Tu će govoriti i kolege iz Netflixa, Facebooka, Dropboxa, Junipera, Mellanoxa i Yandexa. Ako vas zanima mrežni stog i njegov razvoj u budućnosti, dođite registracija je otvorena.

izvor: www.habr.com

Dodajte komentar