Varför är internet fortfarande online?

Internet verkar vara en stark, oberoende och oförstörbar struktur. I teorin är nätverket tillräckligt starkt för att överleva en kärnvapenexplosion. I verkligheten kan Internet släppa en liten router. Allt för att internet är en hög av motsägelser, sårbarheter, fel och videor om katter. Internets ryggrad, BGP, är fylld av problem. Det är fantastiskt att han fortfarande andas. Förutom fel i själva Internet är det också brutet av allt och alla: stora internetleverantörer, företag, stater och DDoS-attacker. Vad ska man göra åt det och hur ska man leva med det?

Varför är internet fortfarande online?

Vet svaret Alexey Uchakin (Natt_orm) är ledare för ett team av nätverksingenjörer på IQ Option. Dess huvudsakliga uppgift är plattformens tillgänglighet för användarna. I utskriften av Alexeys rapport om Saint HighLoad++ 2019 Låt oss prata om BGP, DDOS-attacker, Internetswitchar, leverantörsfel, decentralisering och fall då en liten router skickade Internet i viloläge. På slutet – ett par tips om hur man överlever allt detta.

Dagen Internet gick sönder

Jag kommer bara att citera några incidenter där Internets anslutning gick sönder. Detta kommer att räcka för hela bilden.

"AS7007 Incident". Första gången internet gick sönder var i april 1997. Det fanns en bugg i programvaran för en router från det autonoma systemet 7007. Vid något tillfälle meddelade routern sin interna routingtabell för sina grannar och skickade hälften av nätverket i ett svart hål.

"Pakistan mot YouTube". 2008 beslutade modiga killar från Pakistan att blockera YouTube. De gjorde det så bra att halva världen lämnades utan katter.

"Fångst av VISA, MasterCard och Symantec prefix av Rostelecom". 2017 började Rostelecom av misstag tillkännage prefixen VISA, MasterCard och Symantec. Som ett resultat dirigerades finansiell trafik genom kanaler som kontrollerades av leverantören. Läckan varade inte länge, men det var obehagligt för finansiella företag.

Google vs Japan. I augusti 2017 började Google tillkännage prefixen för de stora japanska leverantörerna NTT och KDDI i några av sina upplänkar. Trafiken skickades till Google som transit, troligen av misstag. Eftersom Google inte är en leverantör och inte tillåter transittrafik, lämnades en betydande del av Japan utan internet.

"DV LINK fångade prefixen för Google, Apple, Facebook, Microsoft". Även 2017 började den ryska leverantören DV LINK av någon anledning att tillkännage nätverken för Google, Apple, Facebook, Microsoft och några andra stora aktörer.

"eNet från USA har fångat AWS Route53 och MyEtherwallet prefix". Under 2018 tillkännagav Ohio-leverantören eller en av dess kunder Amazon Route53 och MyEtherwallet kryptoplånboksnätverk. Attacken var framgångsrik: även trots det självsignerade certifikatet, en varning om vilket dök upp för användaren när han gick in på MyEtherwallets webbplats, kapades många plånböcker och en del av kryptovalutan stals.

Det var mer än 2017 14 sådana incidenter bara under 000! Nätverket är fortfarande decentraliserat, så allt och inte alla går sönder. Men det finns tusentals incidenter, alla relaterade till BGP-protokollet som driver Internet.

BGP och dess problem

Protokoll BGP - Border Gateway Protocol, beskrevs första gången 1989 av två ingenjörer från IBM och Cisco Systems på tre "servetter" - A4-ark. Dessa "servetter" sitter fortfarande på Cisco Systems huvudkontor i San Francisco som en kvarleva från nätverksvärlden.

Protokollet är baserat på samverkan mellan autonoma system - Autonomous Systems eller AS för kort. Ett autonomt system är helt enkelt ett ID som IP-nätverk tilldelas i det offentliga registret. En router med detta ID kan meddela dessa nätverk för världen. Följaktligen kan vilken rutt som helst på Internet representeras som en vektor, som kallas AS Path. Vektorn består av antalet autonoma system som måste passeras för att nå destinationsnätverket.

Det finns till exempel ett nätverk av ett antal autonoma system. Du måste ta dig från AS65001-systemet till AS65003-systemet. Vägen från ett system representeras av AS Path i diagrammet. Den består av två autonoma system: 65002 och 65003. För varje destinationsadress finns en AS Path-vektor, som består av antalet autonoma system som vi behöver gå igenom.

Varför är internet fortfarande online?

Så vad är problemen med BGP?

BGP är ett förtroendeprotokoll

BGP-protokollet är förtroendebaserat. Det betyder att vi som standard litar på vår granne. Detta är en funktion av många protokoll som utvecklades i början av Internet. Låt oss ta reda på vad "förtroende" betyder.

Ingen grannautentisering. Formellt finns det MD5, men MD5 2019 är just det...

Ingen filtrering. BGP har filter och de beskrivs, men de används inte eller används felaktigt. Jag ska förklara varför senare.

Det är väldigt enkelt att skapa en stadsdel. Att ställa in en stadsdel i BGP-protokollet på nästan vilken router som helst är ett par rader i konfigurationen.

Inga BGP-hanteringsrättigheter krävs. Du behöver inte ta prov för att bevisa dina kvalifikationer. Ingen kommer att ta bort dina rättigheter för att konfigurera BGP när du är full.

Två huvudproblem

Prefixkapningar. Prefixkapning är att annonsera ett nätverk som inte tillhör dig, som är fallet med MyEtherwallet. Vi tog några prefix, kom överens med leverantören eller hackade den, och genom det tillkännager vi dessa nätverk.

Ruttläckor. Läckor är lite mer komplicerade. Läcka är en förändring i AS Path. I bästa fall kommer förändringen att resultera i en större fördröjning eftersom du behöver resa en längre rutt eller på en mindre rymlig länk. I värsta fall kommer fallet med Google och Japan att upprepas.

Google i sig är inte en operatör eller ett autonomt transitsystem. Men när han tillkännagav de japanska operatörernas nätverk för sin leverantör, sågs trafik via Google via AS Path som en högre prioritet. Trafiken gick dit och sjönk helt enkelt för att routinginställningarna i Google är mer komplexa än bara filter vid gränsen.

Varför fungerar inte filter?

Ingen bryr sig. Detta är huvudorsaken - ingen bryr sig. Administratören för en liten leverantör eller ett företag som anslutit till leverantören via BGP tog MikroTik, konfigurerade BGP på den och vet inte ens om att filter kan konfigureras där.

Konfigurationsfel. De förstörde något, gjorde ett misstag i masken, satte på fel nät - och nu är det ett misstag igen.

Ingen teknisk möjlighet. Till exempel har telekomleverantörer många kunder. Det smarta att göra är att automatiskt uppdatera filtren för varje klient – ​​att övervaka att han har ett nytt nätverk, att han har hyrt ut sitt nätverk till någon. Det är svårt att följa detta, och ännu svårare med händerna. Därför installerar de helt enkelt avslappnade filter eller installerar inte filter alls.

undantag. Det finns undantag för älskade och stora kunder. Särskilt när det gäller gränssnitt mellan operatörer. Till exempel har TransTeleCom och Rostelecom ett gäng nätverk och det finns ett gränssnitt mellan dem. Om fogen faller kommer det inte att vara bra för någon, så filtren kopplas av eller tas bort helt.

Inaktuell eller irrelevant information i IRR. Filter byggs utifrån information som finns registrerad i IRR - Internet Routing Registry. Dessa är register över regionala internetregistratorer. Ofta innehåller register föråldrad eller irrelevant information, eller både och.

Vilka är dessa registratorer?

Varför är internet fortfarande online?

Alla internetadresser tillhör organisationen IANA - Internet Assigned Numbers Authority. När du köper ett IP-nätverk av någon köper du inte adresser, utan rätten att använda dem. Adresser är en immateriell resurs och enligt gemensam överenskommelse ägs de alla av IANA.

Systemet fungerar så här. IANA delegerar hanteringen av IP-adresser och autonoma systemnummer till fem regionala registrarer. De utfärdar autonoma system LIR - lokala internetregistratorer. LIR:er tilldelar sedan IP-adresser till slutanvändare.

Nackdelen med systemet är att var och en av de regionala registratorerna för sina register på sitt sätt. Alla har sin egen uppfattning om vilken information som ska finnas i register, och vem som ska eller inte ska kontrollera den. Resultatet är den röra vi har nu.

Hur kan du annars bekämpa dessa problem?

IRR - medioker kvalitet. Det är klart med IRR - allt är dåligt där.

BGP-communities. Detta är något attribut som beskrivs i protokollet. Vi kan till exempel bifoga en särskild gemenskap till vårt meddelande så att en granne inte skickar våra nätverk till sina grannar. När vi har en P2P-länk byter vi bara ut våra nätverk. För att förhindra att rutten av misstag går till andra nätverk lägger vi till community.

Samhällen är inte transitiva. Det är alltid ett kontrakt för två, och detta är deras nackdel. Vi kan inte tilldela någon gemenskap, med undantag för en, som accepteras som standard av alla. Vi kan inte vara säkra på att alla kommer att acceptera denna gemenskap och tolka den rätt. Därför, i bästa fall, om du håller med din upplänk, kommer han att förstå vad du vill ha av honom när det gäller gemenskap. Men din granne kanske inte förstår, eller så kommer operatören helt enkelt att återställa din tagg, och du kommer inte att uppnå vad du ville.

RPKI + ROA löser bara en liten del av problemen. RPKI är Resurs Public Key Infrastructure  — En särskild ram för signering av routinginformation. Det är en bra idé att tvinga LIR:er och deras kunder att upprätthålla en uppdaterad adressrymdsdatabas. Men det finns ett problem med det.

RPKI är också ett hierarkiskt offentligt nyckelsystem. IANA har en nyckel från vilken RIR-nycklar genereras, och från vilka LIR-nycklar genereras? som de signerar sitt adressutrymme med med hjälp av ROA:er - Route Origin Authorisations:

— Jag försäkrar er att detta prefix kommer att tillkännages på uppdrag av denna autonoma region.

Utöver ROA finns andra objekt, men mer om dem senare. Det verkar vara en bra och användbar sak. Men det skyddar oss inte från läckor från ordet "överhuvudtaget" och löser inte alla problem med prefixkapning. Därför har spelarna ingen brådska att implementera det. Även om det redan finns försäkringar från stora aktörer som AT&T och stora IX-företag att prefix med en ogiltig ROA-post kommer att tas bort.

Kanske kommer de att göra detta, men för närvarande har vi ett stort antal prefix som inte är signerade på något sätt. Å ena sidan är det oklart om de är giltigt meddelade. Å andra sidan kan vi inte släppa dem som standard, eftersom vi inte är säkra på om detta är korrekt eller inte.

Vad finns det mer?

BGPSec. Det här är en cool sak som akademiker kom på för ett nätverk av rosa ponnyer. De sa:

- Vi har RPKI + ROA - en mekanism för att verifiera adressutrymmessignaturer. Låt oss skapa ett separat BGP-attribut och kalla det BGPSec Path. Varje router kommer att underteckna med sin egen signatur de meddelanden den tillkännager till sina grannar. På så sätt kommer vi att få en pålitlig väg från kedjan av undertecknade meddelanden och kommer att kunna kontrollera den.

Bra i teorin, men i praktiken finns det många problem. BGPSec bryter många befintliga BGP-mekaniker för att välja nästa hopp och hantera inkommande/utgående trafik direkt på routern. BGPSec fungerar inte förrän 95% av hela marknaden har implementerat det, vilket i sig är en utopi.

BGPSec har enorma prestandaproblem. På nuvarande hårdvara är hastigheten för att kontrollera meddelanden cirka 50 prefix per sekund. Som jämförelse: den nuvarande Internettabellen med 700 000 prefix kommer att laddas upp om 5 timmar, under vilken den kommer att ändras 10 gånger till.

BGP Open Policy (rollbaserad BGP). Nytt förslag baserat på modellen Gao-Rexford. Det här är två forskare som forskar på BGP.

Gao-Rexford-modellen är som följer. För att förenkla, med BGP finns det ett litet antal typer av interaktioner:

  • Leverantörskund;
  • P2P;
  • intern kommunikation, säg iBGP.

Baserat på routerns roll är det redan möjligt att tilldela vissa import-/exportpolicyer som standard. Administratören behöver inte konfigurera prefixlistor. Baserat på den roll som routrarna kommer överens om sinsemellan och som går att ställa in får vi redan några standardfilter. Detta är för närvarande ett utkast som diskuteras i IETF. Jag hoppas att vi snart får se detta i form av en RFC och implementering på hårdvara.

Stora internetleverantörer

Låt oss titta på exemplet med en leverantör Century. Det är den tredje största amerikanska leverantören, betjänar 37 delstater och har 15 datacenter. 

I december 2018 var CenturyLink på den amerikanska marknaden i 50 timmar. Under händelsen var det problem med driften av bankomater i två delstater, och 911-numret fungerade inte på flera timmar i fem delstater. Lotteriet i Idaho var helt förstört. Händelsen utreds för närvarande av US Telecommunications Commission.

Orsaken till tragedin var ett nätverkskort i ett datacenter. Kortet fungerade inte, skickade felaktiga paket och alla 15 av leverantörens datacenter gick ner.

Varför är internet fortfarande online?

Idén fungerade inte för den här leverantören "för stor för att falla". Den här idén fungerar inte alls. Du kan ta vilken större spelare som helst och lägga några små saker ovanpå. USA går fortfarande bra med uppkoppling. CenturyLink-kunder som hade en reserv gick in i den i massor. Sedan klagade alternativa operatörer över att deras länkar var överbelastade.

Om den villkorliga Kazakhtelecom faller kommer hela landet att stå utan internet.

Företag

Förmodligen stöder Google, Amazon, Facebook och andra företag Internet? Nej, de bryter den också.

2017 i St Petersburg på ENOG13-konferensen Jeff Houston av APNIC lämnats rapport "Transitdöden". Den säger att vi är vana vid att interaktioner, pengaflöden och trafik på internet är vertikala. Vi har små leverantörer som betalar för anslutning till större, och de betalar redan för anslutning till global transitering.

Varför är internet fortfarande online?

Nu har vi en sådan vertikalt orienterad struktur. Allt skulle vara bra, men världen förändras - stora aktörer bygger sina transoceaniska kablar för att bygga sina egna ryggrader.

Varför är internet fortfarande online?
Nyheter om CDN-kabel.

2018 släppte TeleGeography en studie om att mer än hälften av trafiken på Internet inte längre är Internet, utan ryggraden CDN hos stora aktörer. Det här är trafik som är relaterad till Internet, men det är inte längre det nätverk vi pratade om.

Varför är internet fortfarande online?

Internet håller på att delas upp i en stor uppsättning löst anslutna nätverk.

Microsoft har sitt eget nätverk, Google har sitt eget och de har lite överlappning med varandra. Trafik som har sitt ursprung någonstans i USA går via Microsofts kanaler över havet till Europa någonstans på ett CDN, sedan via CDN eller IX ansluter den till din leverantör och kommer till din router.

Decentraliseringen håller på att försvinna.

Denna styrka hos Internet, som kommer att hjälpa det att överleva en kärnvapenexplosion, håller på att gå förlorad. Platser för koncentration av användare och trafik dyker upp. Om det villkorliga Google Cloud faller kommer det att finnas många offer samtidigt. Det kände vi delvis när Roskomnadzor blockerade AWS. Och exemplet med CenturyLink visar att även små saker räcker för detta.

Tidigare gick inte allt och inte alla sönder. I framtiden kan vi komma till slutsatsen att genom att påverka en stor aktör kan vi bryta en massa saker, på många ställen och på många människor.

stater

Stater är näst på tur, och detta är vad som brukar hända dem.

Varför är internet fortfarande online?

Här är vår Roskomnadzor inte ens en pionjär alls. En liknande praxis för internetavstängning finns i Iran, Indien och Pakistan. I England finns ett lagförslag om möjligheten att stänga ner internet.

Varje stor stat vill få en switch för att stänga av internet, antingen helt eller delvis: Twitter, Telegram, Facebook. Det är inte så att de inte förstår att de aldrig kommer att lyckas, men de vill verkligen det. Växeln används som regel i politiska syften - för att eliminera politiska konkurrenter, eller val närmar sig, eller ryska hackare har brutit något igen.

DDoS-attacker

Jag tar inte bort bröd från mina kamrater från Qrator Labs, de gör det mycket bättre än jag. De har årlig rapport om internetstabilitet. Och det här är vad de skrev i 2018 års rapport.

Den genomsnittliga varaktigheten av DDoS-attacker sjunker till 2.5 timmar. Angriparna börjar också räkna pengar, och om resursen inte är tillgänglig omedelbart lämnar de den snabbt ifred.

Intensiteten på attackerna ökar. Under 2018 såg vi 1.7 Tb/s på Akamais nätverk, och detta är inte gränsen.

Nya attackvektorer dyker upp och gamla intensifieras. Nya protokoll dyker upp som är mottagliga för amplifiering, och nya attacker dyker upp på befintliga protokoll, speciellt TLS och liknande.

Det mesta av trafiken kommer från mobila enheter. Samtidigt övergår internettrafiken till mobila klienter. Både de som attackerar och de som försvarar behöver kunna jobba med detta.

Osårbar - nej. Detta är huvudidén - det finns inget universellt skydd som definitivt kommer att skydda mot någon DDoS.

Systemet kan inte installeras om det inte är anslutet till Internet.

Jag hoppas att jag har skrämt dig tillräckligt. Låt oss nu fundera på vad vi ska göra åt det.

Vad ska man göra?!

Om du har ledig tid, lust och kunskaper i engelska, delta i arbetsgrupper: IETF, RIPE WG. Det är öppna maillistor, prenumerera på maillistor, delta i diskussioner, kom på konferenser. Har du LIR-status kan du rösta till exempel i RIPE på olika initiativ.

För enbart dödliga är detta övervakning av. Att veta vad som är trasigt.

Övervakning: vad ska man kontrollera?

Normal Ping, och inte bara en binär check - den fungerar eller inte. Spela in RTT i historiken så att du kan titta på anomalier senare.

traceroute. Detta är ett verktygsprogram för att bestämma datarutter på TCP/IP-nätverk. Hjälper till att identifiera anomalier och blockeringar.

HTTP söker efter anpassade webbadresser och TLS-certifikat hjälper till att upptäcka blockering eller DNS-spoofing för en attack, vilket är praktiskt taget samma sak. Blockering utförs ofta genom DNS-spoofing och genom att förvandla trafik till en stubbsida.

Om möjligt, kontrollera dina kunders beslutsamhet om ditt ursprung från olika platser om du har en ansökan. Detta kommer att hjälpa dig att upptäcka avvikelser i DNS-kapning, något som leverantörer ibland gör.

Övervakning: var ska man kontrollera?

Det finns inget universellt svar. Kontrollera var användaren kommer ifrån. Om användare är i Ryssland, kolla från Ryssland, men begränsa dig inte till det. Om dina användare bor i olika regioner, kolla från dessa regioner. Men bättre från hela världen.

Övervakning: vad ska man kontrollera?

Jag kom på tre sätt. Om du vet mer, skriv i kommentarerna.

  • MOGEN Atlas.
  • Kommersiell övervakning.
  • Ditt eget nätverk av virtuella maskiner.

Låt oss prata om var och en av dem.

MOGEN Atlas – det är en så liten låda. För dem som känner till den inhemska "inspektören" - det här är samma låda, men med ett annat klistermärke.

Varför är internet fortfarande online?

RIPE Atlas är ett gratisprogram. Du registrerar dig, får en router med posten och kopplar in den i nätverket. För att någon annan använder ditt prov får du några poäng. Med dessa lån kan du göra en del efterforskningar själv. Du kan testa på olika sätt: ping, traceroute, kontrollera certifikat. Täckningen är ganska stor, det finns många noder. Men det finns nyanser.

Kreditsystemet tillåter inte att bygga produktionslösningar. Det kommer inte att finnas tillräckligt med krediter för pågående forskning eller kommersiell övervakning. Poängen räcker till en kort studie eller engångskontroll. Dagsnormen från ett prov förbrukas av 1-2 kontroller.

Täckningen är ojämn. Eftersom programmet är gratis åt båda hållen är täckningen bra i Europa, i den europeiska delen av Ryssland och vissa regioner. Men om du behöver Indonesien eller Nya Zeeland, då är allt mycket värre - du kanske inte har 50 prover per land.

Du kan inte kontrollera http från ett prov. Detta beror på tekniska nyanser. De lovar att fixa det i den nya versionen, men för närvarande kan http inte kontrolleras. Endast certifikatet kan verifieras. Någon form av http-kontroll kan bara göras på en speciell RIPE Atlas-enhet som heter Anchor.

Den andra metoden är kommersiell övervakning. Allt är bra med honom, du betalar pengar, eller hur? De lovar dig flera dussin eller hundratals övervakningspunkter runt om i världen och ritar vackra instrumentpaneler ur lådan. Men återigen, det finns problem.

Det är betalt, på vissa ställen är det väldigt. Pingövervakning, globala kontroller och massor av http-kontroller kan kosta flera tusen dollar per år. Om ekonomin tillåter och du gillar den här lösningen, fortsätt.

Täckningen kanske inte är tillräcklig i området av intresse. Med samma ping specificeras maximalt en abstrakt del av världen - Asien, Europa, Nordamerika. Sällsynta övervakningssystem kan borra ner till ett specifikt land eller region.

Svagt stöd för anpassade tester. Om du behöver något anpassat, och inte bara en "lockig" på webbadressen, så finns det problem med det också.

Det tredje sättet är din övervakning. Det här är en klassiker: "Låt oss skriva vårt eget!"

Din övervakning förvandlas till utveckling av en mjukvaruprodukt och en distribuerad sådan. Du letar efter en infrastrukturleverantör, titta på hur man distribuerar och övervakar den - övervakning måste övervakas, eller hur? Och stöd krävs också. Tänk tio gånger innan du tar dig an det här. Det kan vara lättare att betala någon för att göra det åt dig.

Övervakning av BGP-avvikelser och DDoS-attacker

Här, baserat på tillgängliga resurser, är allt ännu enklare. BGP-avvikelser upptäcks med hjälp av specialiserade tjänster som QRadar, BGPmon. De accepterar en fullvytabell från flera operatörer. Baserat på vad de ser från olika operatörer kan de upptäcka anomalier, leta efter förstärkare och så vidare. Registrering är vanligtvis gratis - du anger ditt telefonnummer, prenumererar på e-postmeddelanden och tjänsten kommer att uppmärksamma dig på dina problem.

Att övervaka DDoS-attacker är också enkelt. Typiskt är detta NetFlow-baserad och loggar. Det finns specialiserade system som FastNetMon, moduler för Splunk. Som en sista utväg finns din DDoS-skyddsleverantör. Det kan också läcka NetFlow och baserat på det kommer det att meddela dig om attacker i din riktning.

Resultat

Ha inga illusioner - Internet kommer definitivt att gå sönder. Inte allt och inte alla kommer att gå sönder, men 14 tusen incidenter under 2017 antyder att det kommer att finnas incidenter.

Din uppgift är att upptäcka problem så tidigt som möjligt. Åtminstone senast din användare. Det är inte bara viktigt att notera, ha alltid en "Plan B" i reserv. En plan är en strategi för vad du ska göra när allt går sönder.: reservoperatörer, DC, CDN. En plan är en separat checklista mot vilken du kontrollerar arbetet med allt. Planen bör fungera utan inblandning av nätverksingenjörer, eftersom det vanligtvis är få av dem och de vill sova.

Det är allt. Jag önskar er hög tillgänglighet och grön övervakning.

Nästa vecka väntas solsken, hög belastning och en hög koncentration av utvecklare i Novosibirsk HighLoad++ Sibirien 2019. I Sibirien förutspås en front med rapporter om övervakning, tillgänglighet och testning, säkerhet och förvaltning. Nederbörd väntas i form av klottrade lappar, nätverkande, fotografier och inlägg på sociala nätverk. Vi rekommenderar att skjuta upp alla aktiviteter den 24 och 25 juni och att boka biljetter. Vi väntar på dig i Sibirien!

Källa: will.com

Lägg en kommentar