Proč je internet stále online?

Internet se zdá být silnou, nezávislou a nezničitelnou strukturou. Teoreticky je síť dostatečně silná, aby přežila jaderný výbuch. Ve skutečnosti může internet zahodit jeden malý router. To vše proto, že internet je hromada rozporů, zranitelností, chyb a videí o kočkách. Páteř internetu, BGP, je plná problémů. Je úžasné, že ještě dýchá. Kromě chyb na internetu samotném jej také prolomí všichni a různí: velcí internetoví poskytovatelé, korporace, státy a DDoS útoky. Co s tím dělat a jak s tím žít?

Proč je internet stále online?

Zná odpověď Alexej Učakin (Noční_had) je vedoucím týmu síťových inženýrů ve společnosti IQ Option. Jeho hlavním úkolem je přístupnost platformy pro uživatele. V přepisu Alexejovy zprávy o Saint HighLoad++ 2019 Pojďme se bavit o BGP, DDOS útocích, internetových přepínačích, chybách poskytovatelů, decentralizaci a případech, kdy malý router poslal internet do spánku. Na závěr - pár tipů, jak to všechno přežít.

Den, kdy se zlomil internet

Uvedu jen několik případů, kdy se zhroutila konektivita internetu. Pro úplný obrázek to bude stačit.

"Incident AS7007". Poprvé se internet zlomil v dubnu 1997. U jednoho routeru z autonomního systému 7007 se vyskytla chyba v softwaru. V určitém okamžiku router oznámil svou vnitřní směrovací tabulku svým sousedům a poslal polovinu sítě do černé díry.

„Pákistán proti YouTube“. V roce 2008 se odvážní kluci z Pákistánu rozhodli zablokovat YouTube. Udělali to tak dobře, že polovina světa zůstala bez koček.

„Zachycení prefixů VISA, MasterCard a Symantec společností Rostelecom“. V roce 2017 začal Rostelecom omylem oznamovat předpony VISA, MasterCard a Symantec. V důsledku toho byl finanční provoz směrován přes kanály řízené poskytovatelem. Únik netrval dlouho, ale pro finanční společnosti byl nepříjemný.

Google vs Japonsko. V srpnu 2017 začal Google u některých svých uplinků oznamovat předpony hlavních japonských poskytovatelů NTT a KDDI. Provoz byl odeslán do Googlu jako tranzit, pravděpodobně omylem. Vzhledem k tomu, že Google není poskytovatelem a neumožňuje tranzitní dopravu, zůstala značná část Japonska bez internetu.

„DV LINK zachytil předpony Google, Apple, Facebook, Microsoft“. Také v roce 2017 ruský poskytovatel DV LINK z nějakého důvodu začal oznamovat sítě Google, Apple, Facebook, Microsoft a některých dalších velkých hráčů.

„eNet z USA zachytil předpony AWS Route53 a MyEtherwallet“. V roce 2018 oznámil poskytovatel Ohio nebo jeden z jeho klientů sítě kryptopeněženek Amazon Route53 a MyEtherwallet. Útok byl úspěšný: i přes certifikát s vlastním podpisem, o kterém se uživateli objevilo varování při vstupu na web MyEtherwallet, bylo mnoho peněženek uneseno a část kryptoměny ukradena.

Jen v roce 2017 bylo takových incidentů více než 14 000! Síť je stále decentralizovaná, takže ne všechno a ne všichni se porouchají. Existují však tisíce incidentů, všechny související s protokolem BGP, který pohání internet.

BGP a jeho problémy

Protokol BGP - Border Gateway Protocol, byl poprvé popsán v roce 1989 dvěma inženýry z IBM a Cisco Systems na třech „ubrouscích“ – listech A4. Tyto "ubrousky" stále sedí v ústředí Cisco Systems v San Franciscu jako přežitek ze světa sítí.

Protokol je založen na interakci autonomních systémů - Autonomní systémy nebo zkráceně AS. Autonomní systém je jednoduše ID, ke kterému jsou IP sítě přiřazeny ve veřejném registru. Router s tímto ID může tyto sítě oznámit světu. V souladu s tím může být jakákoli cesta na internetu reprezentována jako vektor, který se nazývá Cesta AS. Vektor se skládá z počtu autonomních systémů, které musí projít, aby se dostaly do cílové sítě.

Existuje například síť řady autonomních systémů. Musíte se dostat ze systému AS65001 do systému AS65003. Cesta z jednoho systému je v diagramu reprezentována AS Path. Skládá se ze dvou autonomních systémů: 65002 a 65003. Pro každou cílovou adresu existuje vektor AS Path, který se skládá z počtu autonomních systémů, kterými musíme projít.

Proč je internet stále online?

Jaké jsou tedy problémy s BGP?

BGP je důvěryhodný protokol

Protokol BGP je založen na důvěře. To znamená, že bližnímu standardně věříme. To je vlastnost mnoha protokolů, které byly vyvinuty na samém úsvitu internetu. Pojďme zjistit, co znamená „důvěra“.

Žádné ověřování sousedů. Formálně existuje MD5, ale MD5 v roce 2019 je právě to...

Žádné filtrování. BGP má filtry a jsou popsány, ale nepoužívají se nebo se používají nesprávně. Později vysvětlím proč.

Založení sousedství je velmi snadné. Nastavení sousedství v protokolu BGP na téměř každém routeru je několik řádků konfigurace.

Nejsou vyžadována žádná práva pro správu BGP. K prokázání své kvalifikace nemusíte skládat zkoušky. Nikdo vám nevezme vaše práva na konfiguraci BGP v opilosti.

Dva hlavní problémy

Únosy předpon. Prefix hijacking je reklama na síť, která vám nepatří, jako je tomu u MyEtherwallet. Vzali jsme nějaké prefixy, dohodli se s poskytovatelem nebo to hackli a přes něj tyto sítě oznamujeme.

Netěsnosti trasy. Úniky jsou trochu složitější. Únik je změna v cestě AS. V nejlepším případě bude mít změna za následek větší zpoždění, protože musíte cestovat po delší trase nebo na méně kapacitním spoji. Přinejhorším se bude opakovat případ s Googlem a Japonskem.

Google sám o sobě není operátorem ani dopravním autonomním systémem. Když však svému poskytovateli oznámil sítě japonských operátorů, byl provoz přes Google přes AS Path považován za vyšší prioritu. Provoz tam šel a klesl jednoduše proto, že nastavení směrování uvnitř Google je složitější než jen filtry na hranici.

Proč filtry nefungují?

Nikoho to nezajímá. To je hlavní důvod – nikoho to nezajímá. Správce malého poskytovatele nebo firmy, která se k poskytovateli připojila přes BGP, vzal MikroTik, nakonfiguroval na něm BGP a ani neví, že se tam dají konfigurovat filtry.

Chyby konfigurace. Něco pokazili, udělali chybu v masce, nasadili špatnou síťku – a teď je tu chyba znovu.

Žádná technická možnost. Například poskytovatelé telekomunikačních služeb mají mnoho klientů. Chytře byste měli automaticky aktualizovat filtry pro každého klienta – ujistěte se, že má novou síť, že svou síť někomu pronajal. Je těžké to sledovat a ještě obtížnější rukama. Proto jednoduše nainstalují uvolněné filtry nebo filtry neinstalují vůbec.

Výjimky. Existují výjimky pro milované a velké klienty. Zejména v případě mezioperátorských rozhraní. Například TransTeleCom a Rostelecom mají spoustu sítí a mezi nimi existuje rozhraní. Pokud kloub spadne, nebude to pro nikoho dobré, takže se filtry uvolní nebo úplně odstraní.

Zastaralé nebo irelevantní informace v IRR. Filtry jsou vytvořeny na základě informací, které jsou zaznamenány IRR - Internet Routing Registry. Jedná se o registry regionálních internetových registrátorů. Registry často obsahují zastaralé nebo irelevantní informace nebo obojí.

Kdo jsou tito registrátoři?

Proč je internet stále online?

Všechny internetové adresy patří organizaci IANA - Internet Assigned Numbers Authority. Když si od někoho koupíte IP síť, nekupujete si adresy, ale právo je používat. Adresy jsou nehmotným zdrojem a na základě společné dohody jsou všechny ve vlastnictví IANA.

Systém funguje takto. IANA deleguje správu IP adres a čísel autonomních systémů na pět regionálních registrátorů. Vydávají autonomní systémy LIR - lokální internetoví registrátoři. LIR pak přidělují IP adresy koncovým uživatelům.

Nevýhodou systému je, že každý z krajských registrátorů si vede své registry po svém. Každý má svůj názor na to, jaké informace by měly být v registrech obsaženy a kdo by je měl či neměl kontrolovat. Výsledkem je nepořádek, který teď máme.

Jak jinak můžete s těmito problémy bojovat?

IRR - průměrná kvalita. S IRR je to jasné – tam je všechno špatně.

BGP-komunity. Toto je nějaký atribut, který je popsán v protokolu. K našemu oznámení můžeme připojit například speciální komunitu, aby soused neposílal naše sítě svým sousedům. Když máme P2P spojení, vyměňujeme si pouze naše sítě. Aby se trasa náhodou nedostala do jiných sítí, přidáváme komunitu.

Komunity nejsou tranzitivní. Vždy se jedná o smlouvu pro dva a to je jejich nevýhoda. Nemůžeme přiřadit žádnou komunitu, s výjimkou jedné, která je standardně přijímána všemi. Nemůžeme si být jisti, že každý toto společenství přijme a správně si ho vyloží. Proto v lepším případě, pokud budete souhlasit se svým uplinkem, pochopí, co po něm z hlediska komunity chcete. Ale váš soused to nemusí pochopit, nebo operátor jednoduše resetuje váš štítek a vy nedosáhnete toho, co jste chtěli.

RPKI + ROA řeší jen malou část problémů. RPKI je Infrastruktura veřejného klíče zdrojů  — speciální rámec pro podepisování směrovacích informací. Je dobré donutit LIR a jejich klienty udržovat aktuální databázi adresního prostoru. Je s tím ale jeden problém.

RPKI je také hierarchický systém veřejného klíče. IANA má klíč, ze kterého se generují klíče RIR a ze kterých se generují klíče LIR? kterým podepisují svůj adresní prostor pomocí ROA – autorizace původu trasy:

— Ujišťuji vás, že tato předpona bude oznámena jménem této autonomní oblasti.

Kromě ROA existují i ​​další objekty, ale o nich později. Vypadá to jako dobrá a užitečná věc. Ale nechrání nás před úniky ze slova „vůbec“ a neřeší všechny problémy s únosem prefixů. Hráči proto s jeho implementací nespěchají. Ačkoli již existují ujištění od velkých hráčů, jako je AT&T a velké společnosti IX, že předpony s neplatným záznamem ROA budou vynechány.

Možná to udělají, ale zatím máme obrovské množství prefixů, které nejsou nijak podepsány. Na jedné straně není jasné, zda jsou platně vyhlášeny. Na druhou stranu je nemůžeme standardně vypustit, protože si nejsme jisti, zda je to správné nebo ne.

Co je tam dalšího?

BGPSec. To je skvělá věc, kterou akademici vymysleli pro síť růžových poníků. Říkali:

- Máme RPKI + ROA - mechanismus pro ověřování podpisů adresního prostoru. Vytvořme samostatný atribut BGP a nazvěme jej Cesta BGPSec. Každý router podepíše svým vlastním podpisem oznámení, která oznamuje svým sousedům. Tímto způsobem získáme důvěryhodnou cestu z řetězce podepsaných oznámení a budeme ji moci kontrolovat.

Teoreticky dobré, ale v praxi je mnoho problémů. BGPSec narušuje mnoho stávajících mechanismů BGP pro výběr dalších skoků a správu příchozího/odchozího provozu přímo na routeru. BGPSec nefunguje, dokud jej nezavede 95 % celého trhu, což je samo o sobě utopie.

BGPSec má obrovské problémy s výkonem. Na současném hardwaru je rychlost kontroly hlášení přibližně 50 prefixů za sekundu. Pro srovnání: aktuální internetová tabulka 700 000 předvoleb se nahraje za 5 hodin, během kterých se ještě 10x změní.

Otevřená politika BGP (BGP založená na rolích). Nový návrh založený na modelu Gao-Rexford. To jsou dva vědci, kteří zkoumají BGP.

Model Gao-Rexford je následující. Pro zjednodušení, s BGP existuje malý počet typů interakcí:

  • Poskytovatel Zákazník;
  • P2P;
  • interní komunikace, řekněme iBGP.

Na základě role routeru je již standardně možné přiřadit určité importní/exportní politiky. Správce nemusí konfigurovat seznamy prefixů. Na základě role, kterou si routery mezi sebou dohodnou a kterou lze nastavit, už dostáváme nějaké výchozí filtry. Toto je v současné době návrh, který je projednáván v IETF. Doufám, že se toho brzy dočkáme v podobě RFC a implementace na hardware.

Velcí poskytovatelé internetu

Podívejme se na příklad poskytovatele CenturyLink. Je třetím největším poskytovatelem v USA, obsluhuje 37 států a má 15 datových center. 

V prosinci 2018 byl CenturyLink na americkém trhu 50 hodin. Během incidentu došlo ve dvou státech k problémům s provozem bankomatů a v pěti státech několik hodin nefungovalo číslo 911. Loterie v Idahu byla zcela zničena. Incident je v současné době v šetření americké telekomunikační komise.

Příčinou tragédie byla jedna síťová karta v jednom datovém centru. Karta selhala, odeslala nesprávné pakety a všech 15 datových center poskytovatele selhalo.

Proč je internet stále online?

Tento nápad u tohoto poskytovatele nefungoval "příliš velký na pád". Tento nápad vůbec nefunguje. Můžete vzít libovolného velkého hráče a dát na něj nějaké malé věci. USA jsou na tom s konektivitou stále dobře. Zákazníci CenturyLink, kteří měli rezervu, do toho šli houfně. Poté si alternativní operátoři stěžovali na přetížení jejich odkazů.

Pokud padne podmíněný Kazakhtelecom, celá země zůstane bez internetu.

korporace

Asi Google, Amazon, FaceBook a další korporace podporují internet? Ne, taky to porušují.

V roce 2017 v Petrohradě na konferenci ENOG13 Jeff HoustonAPNIC představen zpráva „Smrt tranzitu“. Říká, že jsme zvyklí na to, že interakce, peněžní toky a provoz na internetu jsou vertikální. Máme malé poskytovatele, kteří platí za konektivitu větším, a ti už platí za konektivitu pro globální tranzit.

Proč je internet stále online?

Nyní máme takovou vertikálně orientovanou strukturu. Všechno by bylo v pořádku, ale svět se mění – hlavní hráči budují své transoceánské kabely, aby si vybudovali vlastní páteř.

Proč je internet stále online?
Novinky o kabelu CDN.

V roce 2018 vydala TeleGeography studii, že více než polovina provozu na internetu již není internet, ale páteřní CDN velkých hráčů. To je provoz, který souvisí s internetem, ale to už není síť, o které jsme mluvili.

Proč je internet stále online?

Internet se rozpadá na velký soubor volně propojených sítí.

Microsoft má svou vlastní síť, Google má svou a navzájem se málo překrývají. Provoz, který vznikl někde v USA, jde přes kanály Microsoftu přes oceán do Evropy někde na CDN, pak se přes CDN nebo IX spojí s vaším poskytovatelem a dostane se k vašemu routeru.

Decentralizace mizí.

Tato síla internetu, která mu pomůže přežít jaderný výbuch, se ztrácí. Objevují se místa koncentrace uživatelů a provozu. Pokud padne podmíněný Google Cloud, bude mnoho obětí najednou. Částečně jsme to pocítili, když Roskomnadzor zablokoval AWS. A příklad CenturyLink ukazuje, že k tomu stačí i maličkosti.

Dříve ne všechno a ne všichni rozbili. V budoucnu možná dojdeme k závěru, že ovlivněním jednoho významného hráče můžeme rozbít spoustu věcí, na mnoha místech a u mnoha lidí.

Státy

Další na řadě jsou státy a to se jim obvykle stává.

Proč je internet stále online?

Tady náš Roskomnadzor dokonce není vůbec průkopníkem. Podobná praxe vypínání internetu existuje v Íránu, Indii a Pákistánu. V Anglii existuje návrh zákona o možnosti vypnout internet.

Jakýkoli velký stát chce získat přepínač pro vypnutí internetu, ať už úplně nebo po částech: Twitter, Telegram, Facebook. Není to tak, že by nechápali, že nikdy neuspějí, ale opravdu to chtějí. Přepínač se používá zpravidla k politickým účelům - k likvidaci politických konkurentů, nebo se blíží volby nebo ruští hackeři zase něco rozbili.

DDoS útoky

Nebudu brát chléb svým kamarádům z Qrator Labs, dělají to mnohem lépe než já. Oni mají výroční zpráva o stabilitě internetu. A toto napsali ve zprávě za rok 2018.

Průměrná doba trvání DDoS útoků klesá na 2.5 hodiny. Útočníci také začnou počítat peníze, a pokud zdroj není okamžitě k dispozici, rychle ho nechají být.

Intenzita útoků roste. V roce 2018 jsme v síti Akamai viděli 1.7 Tb/s a to není limit.

Objevují se nové vektory útoků a ty staré sílí. Objevují se nové protokoly, které jsou náchylné k zesílení, a objevují se nové útoky na stávající protokoly, zejména TLS a podobně.

Většina provozu pochází z mobilních zařízení. Internetový provoz se zároveň přesouvá na mobilní klienty. S tím musí umět pracovat jak ti, kteří útočí, tak ti, kteří brání.

Nezranitelný - ne. To je hlavní myšlenka – neexistuje žádná univerzální ochrana, která by definitivně ochránila před jakýmkoli DDoS.

Systém nelze nainstalovat, pokud není připojen k internetu.

Doufám, že jsem vás dostatečně vyděsil. Pojďme se nyní zamyslet nad tím, co s tím.

Co dělat?!

Pokud máte volný čas, chuť a znalost angličtiny, zúčastněte se pracovních skupin: IETF, RIPE WG. Jedná se o otevřené e-mailové konference, přihlášení k odběru e-mailových konferencí, účast na diskuzích, účast na konferencích. Pokud máte status LIR, můžete hlasovat např. v RIPE pro různé iniciativy.

To je pro obyčejné smrtelníky monitoring. Abych věděl, co je rozbité.

Monitorování: co zkontrolovat?

Běžný ping, a nejen binární kontrola - funguje nebo ne. Zaznamenejte RTT do historie, abyste se později mohli podívat na anomálie.

traceroute. Toto je obslužný program pro určování datových tras v sítích TCP/IP. Pomáhá identifikovat anomálie a blokády.

HTTP kontroluje vlastní adresy URL a certifikáty TLS pomůže odhalit blokování nebo DNS spoofing pro útok, což je prakticky totéž. Blokování se často provádí pomocí spoofingu DNS a přesměrováním provozu na stub stránku.

Pokud máte žádost, ověřte si, pokud možno, vaši klienti na různých místech z různých míst. To vám pomůže odhalit anomálie únosů DNS, což poskytovatelé někdy dělají.

Monitoring: kde zkontrolovat?

Univerzální odpověď neexistuje. Zkontrolujte, odkud uživatel pochází. Pokud jsou uživatelé v Rusku, zkontrolujte z Ruska, ale neomezujte se na to. Pokud vaši uživatelé žijí v různých oblastech, zkontrolujte z těchto oblastí. Ale lepší z celého světa.

Monitorování: co zkontrolovat?

Přišel jsem na tři způsoby. Pokud víte více, napište do komentářů.

  • RIPE Atlas.
  • Komerční monitoring.
  • Vaše vlastní síť virtuálních strojů.

Promluvme si o každém z nich.

RIPE Atlas - je to taková malá krabička. Pro ty, kteří znají domácího "Inspektora" - jedná se o stejnou krabici, ale s jinou nálepkou.

Proč je internet stále online?

RIPE Atlas je bezplatný program. Zaregistrujete se, obdržíte router poštou a zapojíte jej do sítě. Za to, že někdo jiný použije váš vzorek, získáte nějaké kredity. S těmito půjčkami si můžete udělat průzkum sami. Testovat můžete různými způsoby: ping, traceroute, kontrola certifikátů. Pokrytí je poměrně velké, existuje mnoho uzlů. Ale jsou tu nuance.

Kreditní systém neumožňuje budovat výrobní řešení. Nebude dostatek kreditů na probíhající výzkum nebo komerční sledování. Kredity stačí na krátké studium nebo jednorázovou kontrolu. Denní normu z jednoho vzorku spotřebují 1-2 kontroly.

Pokrytí je nerovnoměrné. Vzhledem k tomu, že program je zdarma v obou směrech, pokrytí je dobré v Evropě, v evropské části Ruska a některých regionech. Pokud ale potřebujete Indonésii nebo Nový Zéland, pak je vše mnohem horší – možná nemáte 50 vzorků na zemi.

Nemůžete zkontrolovat http ze vzorku. To je způsobeno technickými nuancemi. Slibují, že to v nové verzi opraví, ale zatím http nelze zkontrolovat. Ověřit lze pouze certifikát. Nějakou kontrolu http lze provést pouze na speciálním zařízení RIPE Atlas zvaném Anchor.

Druhou metodou je komerční sledování. S ním je všechno v pořádku, platíš peníze, že? Slibují vám několik desítek nebo stovek monitorovacích bodů po celém světě a vykreslí nádherné dashboardy hned po vybalení. Ale opět jsou tu problémy.

Je to placené, místy až moc. Ping monitoring, celosvětové kontroly a spousta http kontrol mohou stát několik tisíc dolarů ročně. Pokud to finance dovolí a toto řešení se vám líbí, pokračujte.

Pokrytí nemusí být v oblasti zájmu dostatečné. Stejným pingem se specifikuje maximálně abstraktní část světa - Asie, Evropa, Severní Amerika. Vzácné monitorovací systémy mohou procházet až do konkrétní země nebo oblasti.

Slabá podpora pro vlastní testy. Pokud potřebujete něco vlastního, a ne jen „kudrnaté“ na url, pak jsou s tím také problémy.

Třetím způsobem je vaše sledování. Tohle je klasika: "Napišme si vlastní!"

Vaše sledování se promění ve vývoj softwarového produktu, a to distribuovaného. Hledáte poskytovatele infrastruktury, podívejte se, jak ji nasadit a monitorovat - monitorování je potřeba sledovat, ne? A podpora je také nutná. Než se do toho pustíte, desetkrát si to rozmyslete. Možná bude jednodušší zaplatit někomu, kdo to udělá za vás.

Monitorování anomálií BGP a DDoS útoků

Zde je na základě dostupných zdrojů vše ještě jednodušší. Anomálie BGP jsou detekovány pomocí specializovaných služeb, jako je QRadar, BGPmon. Přijímají tabulku s úplným zobrazením od více operátorů. Na základě toho, co vidí od různých operátorů, mohou detekovat anomálie, hledat zesilovače a tak dále. Registrace je většinou zdarma – zadáte své telefonní číslo, předplatíte si emailová upozornění a služba vás upozorní na vaše problémy.

Sledování DDoS útoků je také jednoduché. Typicky toto je Na základě NetFlow a protokolů. Existují specializované systémy jako např FastNetMon, moduly pro Splunk. Jako poslední možnost je tu váš poskytovatel DDoS ochrany. Může také unikat NetFlow a na jeho základě vás bude upozorňovat na útoky vaším směrem.

Závěry

Nedělejte si iluze – internet určitě praskne. Ne všechno a ne všichni se rozbijí, ale 14 tisíc incidentů v roce 2017 naznačuje, že k incidentům dojde.

Vaším úkolem je zaznamenat problémy co nejdříve. Minimálně nejpozději od vašeho uživatele. Nejen, že je důležité poznamenat, vždy mějte v záloze „plán B“. Plán je strategie toho, co uděláte, až se všechno porouchá.: rezervní operátoři, DC, CDN. Plán je samostatný kontrolní seznam, podle kterého kontrolujete práci všeho. Plán by měl fungovat bez zapojení síťových inženýrů, protože jich je většinou málo a chtějí spát.

To je vše. Přeji vám vysokou dostupnost a zelený monitoring.

Příští týden se v Novosibirsku očekává sluníčko, vysoká zátěž a vysoká koncentrace vývojářů HighLoad++ Siberia 2019. Na Sibiři se předpovídá fronta zpráv o monitorování, dostupnosti a testování, zabezpečení a správě. Očekávají se srážky v podobě načmáraných poznámek, networkingu, fotografií a příspěvků na sociálních sítích. Všechny aktivity doporučujeme odložit na 24. a 25. června a rezervovat lístky. Čekáme na vás na Sibiři!

Zdroj: www.habr.com

Přidat komentář