Зошто Интернетот е сè уште онлајн?

Се чини дека Интернетот е силна, независна и неуништлива структура. Теоретски, мрежата е доволно силна за да преживее нуклеарна експлозија. Во реалноста, Интернетот може да испушти еден мал рутер. Сè затоа што Интернетот е куп противречности, ранливости, грешки и видеа за мачки. Основата на Интернетот, BGP, е полн со проблеми. Неверојатно е што тој сè уште дише. Покрај грешките на самиот Интернет, тој е исто така скршен од сите и сите: големи интернет провајдери, корпорации, држави и DDoS напади. Што да направите во врска со тоа и како да живеете со него?

Зошто Интернетот е сè уште онлајн?

Го знае одговорот Алексеј Учакин (Ноќна_змија) е лидер на тим мрежни инженери во IQ Option. Неговата главна задача е пристапноста на платформата за корисниците. Во транскриптот од извештајот на Алексеј за Saint HighLoad++ 2019 година Ајде да зборуваме за BGP, DDOS напади, прекинувачи на Интернет, грешки на провајдерите, децентрализација и случаи кога мал рутер го испратил Интернетот да спие. На крајот - неколку совети како да го преживеете сето ова.

Денот кога интернетот пукна

Ќе наведам само неколку инциденти каде што се прекина поврзувањето на Интернет. Ова ќе биде доволно за целосна слика.

„Инцидент AS7007“. Првиот пат кога интернетот пукна беше во април 1997 година. Имаше грешка во софтверот на еден рутер од автономниот систем 7007. Во одреден момент, рутерот ја објави својата внатрешна рутирачка табела на своите соседи и испрати половина од мрежата во црна дупка.

„Пакистан против YouTube“. Во 2008 година, храбрите момци од Пакистан решија да го блокираат YouTube. Тие го направија тоа толку добро што половина свет остана без мачки.

„Снимање на префикси на VISA, MasterCard и Symantec од Ростелеком“. Во 2017 година, Ростелеком по грешка почна да ги објавува префиксите VISA, MasterCard и Symantec. Како резултат на тоа, финансискиот сообраќај беше пренасочен преку канали контролирани од давателот. Протекувањето не траеше долго, но беше непријатно за финансиските компании.

Гугл против Јапонија. Во август 2017 година, Google почна да ги објавува префиксите на главните јапонски провајдери NTT и KDDI во некои од неговите надоврзувања. Сообраќајот е испратен до Google како транзит, најверојатно по грешка. Бидејќи Google не е провајдер и не дозволува транзитен сообраќај, значителен дел од Јапонија остана без интернет.

„DV LINK ги сними префиксите на Google, Apple, Facebook, Microsoft“. Исто така, во 2017 година, рускиот провајдер DV LINK поради некоја причина почна да ги објавува мрежите на Google, Apple, Facebook, Microsoft и некои други големи играчи.

„eNet од САД ги сними префиксите AWS Route53 и MyEtherwallet“. Во 2018 година, провајдерот од Охајо или еден од неговите клиенти ги објави мрежите за криптопаричници Amazon Route53 и MyEtherwallet. Нападот беше успешен: дури и покрај самопотпишаниот сертификат, предупредување за кое корисникот се појави при влегувањето на веб-страницата MyEtherwallet, многу паричници беа киднапирани и дел од криптовалутата беше украдена.

Само во 2017 година имало повеќе од 14 вакви инциденти! Мрежата е сè уште децентрализирана, па не се распаѓа се и не сите. Но, има илјадници инциденти, сите поврзани со протоколот BGP што го напојува Интернетот.

BGP и неговите проблеми

Протокол BGP - Протокол за гранична порта, првпат беше опишан во 1989 година од двајца инженери од IBM и Cisco Systems на три „салфетки“ - А4 листови. Овие "салфетки" сè уште седи во седиштето на Cisco Systems во Сан Франциско како остаток од светот на вмрежувањето.

Протоколот се заснова на интеракцијата на автономните системи - Автономни системи или скратено AS. Автономниот систем е едноставно ID на кој IP мрежите се доделуваат во јавниот регистар. Рутер со овој ID може да ги објави овие мрежи на светот. Според тоа, секоја рута на Интернет може да се претстави како вектор, кој се нарекува КАКО Пат. Векторот се состои од броеви на автономни системи кои мора да се поминат за да се стигне до целната мрежа.

На пример, постои мрежа од голем број автономни системи. Треба да стигнете од системот AS65001 до системот AS65003. Патеката од еден систем е претставена со AS Path во дијаграмот. Се состои од два автономни системи: 65002 и 65003. За секоја одредишна адреса има вектор AS Path, кој се состои од броевите на автономни системи низ кои треба да поминеме.

Зошто Интернетот е сè уште онлајн?

Па кои се проблемите со BGP?

BGP е протокол за доверба

Протоколот BGP се базира на доверба. Тоа значи дека стандардно му веруваме на соседот. Ова е карактеристика на многу протоколи кои беа развиени во самиот почеток на Интернетот. Ајде да разбереме што значи „доверба“.

Нема автентикација на соседот. Формално, постои МД5, но МД5 во 2019 година е токму тоа...

Нема филтрирање. BGP има филтри и тие се опишани, но не се користат или се користат погрешно. Подоцна ќе објаснам зошто.

Многу е лесно да се постави соседство. Поставувањето соседство во протоколот BGP на речиси секој рутер е неколку линии од конфигурацијата.

Не се потребни права за управување со BGP. Не треба да полагате испити за да ги докажете вашите квалификации. Никој нема да ви ги одземе правата за конфигурирање на BGP додека сте пијани.

Два главни проблеми

Префикс киднапирања. Киднапирање на префикс е рекламирање на мрежа што не ви припаѓа, како што е случајот со MyEtherwallet. Зедовме некои префикси, се договоривме со провајдерот или го хакиравме и преку него ги објавуваме овие мрежи.

Протекување на рутата. Протекувањето е малку покомплицирано. Протекување е промена во AS Path. Во најдобар случај, промената ќе резултира со поголемо одложување бидејќи треба да патувате подолг пат или на помалку обемна врска. Во најлош случај ќе се повтори случајот со Гугл и Јапонија.

Самиот Google не е оператор или транзитен автономен систем. Но, кога тој ги објави мрежите на јапонските оператори на својот провајдер, сообраќајот преку Google преку AS Path се сметаше за поголем приоритет. Сообраќајот отиде таму и падна само затоа што поставките за рутирање во Google се посложени од само филтри на границата.

Зошто филтрите не работат?

На никој не му е гајле. Ова е главната причина - никој не се грижи. Администраторот на мал провајдер или компанија што се поврза со провајдерот преку BGP го зеде MikroTik, го конфигурираше BGP на него и не ни знае дека таму може да се конфигурираат филтри.

Грешки во конфигурацијата. Нешто збркаа, погрешија во маската, ставија погрешна мрежа - и сега повторно има грешка.

Нема техничка можност. На пример, телеком провајдерите имаат многу клиенти. Паметното нешто што треба да се направи е автоматски да се ажурираат филтрите за секој клиент - да се следи дали има нова мрежа, дека ја изнајмил својата мрежа на некого. Тешко е да се следи ова, а уште потешко е со вашите раце. Затоа, тие едноставно инсталираат опуштени филтри или воопшто не поставуваат филтри.

Исклучоци. Има исклучоци за сакани и големи клиенти. Особено во случај на интер-операторски интерфејси. На пример, TransTeleCom и Rostelecom имаат куп мрежи и меѓу нив има интерфејс. Ако зглобот падне, тоа нема да биде добро за никого, па филтрите се опуштени или целосно отстранети.

Застарени или ирелевантни информации во IRR. Филтрите се изградени врз основа на информации што се снимени во IRR - Регистар за рутирање на Интернет. Тоа се регистри на регионални интернет регистратори. Честопати, регистрите содржат застарени или ирелевантни информации, или и двете.

Кои се овие регистратори?

Зошто Интернетот е сè уште онлајн?

Сите интернет адреси припаѓаат на организацијата IANA - Орган за доделени броеви на Интернет. Кога купувате IP мрежа од некого, не купувате адреси, туку право да ги користите. Адресите се нематеријален ресурс и со заеднички договор сите се во сопственост на ИАНА.

Системот работи вака. IANA го делегира управувањето со IP адресите и броевите на автономните системи на пет регионални регистратори. Тие издаваат автономни системи LIR - локални интернет регистратори. Потоа, LIR доделуваат IP адреси на крајните корисници.

Недостаток на системот е што секој од регионалните регистратори ги води своите регистри на свој начин. Секој има свои ставови за тоа кои информации треба да бидат содржани во регистрите и кој треба или не треба да ги проверува. Резултатот е нередот што го имаме сега.

Како поинаку можете да се изборите со овие проблеми?

IRR - просечен квалитет. Јасно е со IRR - сè е лошо таму.

БГП-заедници. Ова е некој атрибут што е опишан во протоколот. Можеме да прикачиме, на пример, посебна заедница на нашата објава за соседот да не ги испраќа нашите мрежи до своите соседи. Кога имаме P2P врска, ги разменуваме само нашите мрежи. За да спречиме рутата случајно да оди на други мрежи, додаваме заедница.

Заедниците не се транзитивни. Секогаш е договор за двајца, а тоа е нивниот недостаток. Не можеме да доделиме ниту една заедница, со исклучок на една, која стандардно е прифатена од сите. Не можеме да бидеме сигурни дека сите ќе ја прифатат оваа заедница и ќе ја толкуваат правилно. Затоа, во најдобар случај, ако се согласувате со вашиот uplink, тој ќе разбере што сакате од него во однос на заедницата. Но, вашиот сосед можеби нема да разбере, или операторот едноставно ќе ја ресетира вашата ознака, а вие нема да го постигнете она што го сакате.

RPKI + ROA решава само мал дел од проблемите. РПКИ е Инфраструктура на јавен клуч на ресурси  — посебна рамка за потпишување на информации за рутирање. Добра идеја е да се принудат LIR и нивните клиенти да одржуваат ажурирана база на податоци за адресниот простор. Но, има еден проблем со тоа.

RPKI е исто така хиерархиски систем со јавен клуч. IANA има клуч од кој се генерираат клучевите RIR, а од кои се генерираат клучевите LIR? со кој го потпишуваат нивниот адресен простор користејќи ROA - Овластувања за потекло на маршрутата:

— Ве уверувам дека овој префикс ќе биде објавен во име на овој автономен регион.

Покрај ROA, има и други објекти, но повеќе за нив подоцна. Изгледа како добра и корисна работа. Но, тоа не заштитува од протекување од зборот „воопшто“ и не ги решава сите проблеми со киднапирање на префиксот. Затоа, играчите не брзаат да го спроведат. Иако веќе има гаранции од големи играчи како што се AT&T и големите IX компании дека префиксите со неважечки запис за ROA ќе бидат исфрлени.

Можеби ќе го направат ова, но засега имаме огромен број на префикси кои не се потпишани на кој било начин. Од една страна, нејасно е дали се валидно објавени. Од друга страна, не можеме стандардно да ги исфрлиме, бидејќи не сме сигурни дали ова е точно или не.

Што има друго?

BGPSec. Ова е кул работа што академиците ја смислија за мрежа од розови коњчиња. Рекоа:

- Имаме RPKI + ROA - механизам за проверка на потписите на адресниот простор. Ајде да создадеме посебен BGP атрибут и да го наречеме BGPSec Path. Секој рутер ќе ги потпише со свој потпис објавите што им ги објавува на соседите. На овој начин ќе добиеме доверлива патека од ланецот на потпишани огласи и ќе можеме да ја провериме.

Добро во теорија, но во пракса има многу проблеми. BGPSec раскинува многу постоечки BGP механики за избор на следни скокови и управување со дојдовен/појдовен сообраќај директно на рутерот. BGPSec не функционира додека не го имплементира 95% од целиот пазар, што само по себе е утопија.

BGPSec има огромни проблеми со перформансите. На сегашниот хардвер, брзината на проверка на објавите е приближно 50 префикси во секунда. За споредба: сегашната Интернет табела од 700 префикси ќе биде поставена за 000 часа, при што ќе се промени уште 5 пати.

Отворена политика на BGP (BGP заснована на улоги). Свеж предлог заснован на моделот Гао-Рексфорд. Ова се двајца научници кои го истражуваат BGP.

Моделот Гао-Рексфорд е како што следува. За да се поедностави, со BGP има мал број видови на интеракции:

  • Клиент на провајдер;
  • P2P;
  • внатрешна комуникација, велат iBGP.

Врз основа на улогата на рутерот, веќе е можно стандардно да се доделат одредени политики за увоз/извоз. Администраторот не треба да конфигурира списоци со префикси. Врз основа на улогата што рутерите ја договараат меѓу себе и која може да се постави, веќе добиваме некои стандардни филтри. Во моментов ова е нацрт за кој се дискутира во IETF. Се надевам дека наскоро ќе го видиме ова во форма на RFC и имплементација на хардвер.

Големи интернет провајдери

Да го погледнеме примерот на провајдер CenturyLink. Тој е трет најголем провајдер во САД, опслужувајќи 37 држави и има 15 центри за податоци. 

Во декември 2018 година, CenturyLink беше на американскиот пазар 50 часа. За време на инцидентот имаше проблеми со работата на банкоматите во две држави, а бројот 911 не работеше неколку часа во пет држави. Лотаријата во Ајдахо беше целосно уништена. Инцидентот во моментов е под истрага на Комисијата за телекомуникации на САД.

Причина за трагедијата е една мрежна картичка во еден центар за податоци. Картичката не функционираше, испрати неточни пакети и сите 15 центри за податоци на провајдерот исчезнаа.

Зошто Интернетот е сè уште онлајн?

Идејата не функционираше за овој провајдер „премногу голем за да падне“. Оваа идеја воопшто не функционира. Можете да земете кој било главен играч и да ставите некои мали нешта на врвот. На САД сè уште им оди добро со поврзувањето. Клиентите на CenturyLink кои имаа резерва влегуваа во неа во толпа. Потоа алтернативните оператори се пожалија дека нивните врски се преоптоварени.

Ако падне условниот Казахтелеком, целата земја ќе остане без интернет.

корпорации

Веројатно Google, Amazon, FaceBook и други корпорации поддржуваат Интернет? Не, и тие го кршат.

Во 2017 година во Санкт Петербург на конференцијата ENOG13 Џеф Хјустон на АПНИЧКИ воведено извештај „Смртта на транзитот“. Тоа кажува дека сме навикнати на вертикални интеракции, текови на пари и сообраќај на Интернет. Имаме мали провајдери кои плаќаат за поврзување со поголемите, а тие веќе плаќаат за поврзување со глобалниот транзит.

Зошто Интернетот е сè уште онлајн?

Сега имаме таква вертикално ориентирана структура. Сè би било во ред, но светот се менува - главните играчи ги градат своите трансокеански кабли за да изградат свој 'рбет.

Зошто Интернетот е сè уште онлајн?
Вести за CDN кабелот.

Во 2018 година, TeleGeography објави студија дека повеќе од половина од сообраќајот на Интернет повеќе не е Интернет, туку столбот на ЦДН на големите играчи. Ова е сообраќај кој е поврзан со Интернет, но ова веќе не е мрежата за која зборувавме.

Зошто Интернетот е сè уште онлајн?

Интернетот се распаѓа на голем сет на лабаво поврзани мрежи.

„Мајкрософт“ има своја мрежа, „Гугл“ има своја и тие имаат мало преклопување едни со други. Сообраќајот што потекнува некаде во САД оди преку каналите на Microsoft преку океанот до Европа некаде на CDN, потоа преку CDN или IX се поврзува со вашиот провајдер и доаѓа до вашиот рутер.

Децентрализацијата исчезнува.

Оваа сила на интернетот, која ќе му помогне да преживее нуклеарна експлозија, се губи. Се појавуваат места на концентрација на корисници и сообраќај. Ако падне условниот Google Cloud, ќе има многу жртви одеднаш. Ова делумно го почувствувавме кога Роскомнадзор го блокираше AWS. А примерот на CenturyLink покажува дека за ова се доволни и мали нешта.

Претходно не се кршеше се и не сите. Во иднина, можеби ќе дојдеме до заклучок дека со влијание на еден голем играч, можеме да скршиме многу работи, на многу места и кај многу луѓе.

држави

Државите се следни на редот, а тоа е она што обично им се случува.

Зошто Интернетот е сè уште онлајн?

Тука нашиот Роскомнадзор воопшто не е ни пионер. Слична практика на исклучување на Интернет постои во Иран, Индија и Пакистан. Во Англија има предлог-закон за можност за исклучување на интернетот.

Секоја голема држава сака да добие прекинувач за исклучување на интернетот, целосно или во делови: Твитер, Телеграма, Фејсбук. Не е дека тие не разбираат дека никогаш нема да успеат, но навистина го сакаат тоа. Прекинувачот се користи, по правило, за политички цели - за елиминирање на политичките конкуренти, или се ближат избори или руски хакери повторно скршиле нешто.

DDoS напади

Нема да им одземам леб на моите другари од „Кратор лабс“, тие го прават тоа многу подобро од мене. Тие имаат годишен извештај за стабилноста на Интернет. И еве што напишаа во извештајот за 2018 година.

Просечното времетраење на DDoS нападите паѓа на 2.5 часа. Напаѓачите исто така почнуваат да бројат пари, а ако ресурсот не е веднаш достапен, тогаш брзо го оставаат на мира.

Интензитетот на нападите расте. Во 2018 година, видовме 1.7 Tb/s на мрежата Akamai, и ова не е граница.

Се појавуваат нови вектори за напад, а старите се интензивираат. Се појавуваат нови протоколи кои се подложни на засилување, а се појавуваат и нови напади врз постоечките протоколи, особено TLS и слично.

Најголем дел од сообраќајот е од мобилни уреди. Во исто време, интернет сообраќајот се префрла на мобилни клиенти. И оние што напаѓаат и оние што бранат треба да можат да работат со ова.

Неранлив - не. Ова е главната идеја - не постои универзална заштита што дефинитивно ќе заштити од какви било DDoS.

Системот не може да се инсталира освен ако не е поврзан на Интернет.

Се надевам дека доволно те исплашив. Ајде сега да размислиме што да правиме во врска со тоа.

Што да се прави?!

Доколку имате слободно време, желба и познавање на англиски јазик, учествувајте во работни групи: IETF, RIPE WG. Ова се отворени списоци за пошта, претплатете се на мејлинг листи, учествувајте во дискусии, доаѓајте на конференции. Ако имате статус LIR, можете да гласате, на пример, во RIPE за различни иницијативи.

За обични смртници ова е следење. Да се ​​знае што е скршено.

Мониторинг: што да се провери?

Нормален пинг, и не само бинарна проверка - работи или не. Запишете го RTT во историјата за да можете подоцна да гледате аномалии.

Traceroute. Ова е корисна програма за одредување правци на податоци на TCP/IP мрежите. Помага да се идентификуваат аномалии и блокади.

HTTP проверува за прилагодени URL-адреси и TLS сертификати ќе помогне да се открие блокирање или DNS измама за напад, што е практично иста работа. Блокирањето често се врши со DNS измама и со претворање на сообраќајот на никулец.

Ако е можно, проверете ја решеноста на вашите клиенти за вашето потекло од различни места ако имате апликација. Ова ќе ви помогне да откриете аномалии на киднапирање на DNS, нешто што понекогаш го прават провајдерите.

Мониторинг: каде да се провери?

Не постои универзален одговор. Проверете од каде доаѓа корисникот. Ако корисниците се во Русија, проверете од Русија, но не се ограничувајте на тоа. Ако вашите корисници живеат во различни региони, проверете од овие региони. Но, подобро од целиот свет.

Мониторинг: што да се провери?

Дојдов до три начини. Ако знаете повеќе, пишете во коментарите.

  • ЗРЕЛИ атлас.
  • Комерцијален мониторинг.
  • Сопствена мрежа на виртуелни машини.

Ајде да зборуваме за секој од нив.

ЗРЕЛИ атлас - тоа е толку мала кутија. За оние кои го познаваат домашниот „Инспектор“ - ова е истата кутија, но со различна налепница.

Зошто Интернетот е сè уште онлајн?

RIPE Atlas е бесплатна програма. Се регистрирате, добивате рутер по пошта и го приклучувате на мрежата. За фактот дека некој друг го користи вашиот примерок, добивате некои кредити. Со овие заеми можете сами да истражувате. Можете да тестирате на различни начини: ping, traceroute, проверка на сертификати. Покриеноста е доста голема, има многу јазли. Но, постојат нијанси.

Кредитниот систем не дозволува градежни производствени решенија. Нема да има доволно кредити за тековно истражување или комерцијален мониторинг. Кредитите се доволни за кратко студирање или еднократна проверка. Дневната норма од еден примерок се троши со 1-2 проверки.

Покриеноста е нерамномерна. Бидејќи програмата е бесплатна во двете насоки, покриеноста е добра во Европа, во европскиот дел на Русија и во некои региони. Но, ако ви треба Индонезија или Нов Зеланд, тогаш сè е многу полошо - можеби немате 50 примероци по земја.

Не можете да го проверите http од примерок. Ова се должи на техничките нијанси. Ветуваат дека ќе го поправат во новата верзија, но засега http не може да се провери. Само сертификатот може да се потврди. Некаква проверка на http може да се направи само на специјален уред RIPE Atlas наречен Anchor.

Вториот метод е комерцијален мониторинг. Се е во ред со него, плаќаш пари нели? Тие ви ветуваат неколку десетици или стотици точки за следење низ целиот свет и цртаат прекрасни контролни табли од кутијата. Но, повторно има проблеми.

Се плаќа, на некои места е многу. Набљудувањето на пинг, проверките низ целиот свет и многу http проверки може да чинат неколку илјади долари годишно. Доколку финансиите дозволуваат и ви се допаѓа ова решение, повелете.

Покриеноста може да не е доволна во регионот на интерес. Со истиот пинг е наведен максимум апстрактен дел од светот - Азија, Европа, Северна Америка. Ретките системи за мониторинг можат да се спуштат во одредена земја или регион.

Слаба поддршка за сопствени тестови. Ако ви треба нешто прилагодено, а не само „кадрава“ на URL-то, тогаш има проблеми и со тоа.

Третиот начин е вашето следење. Ова е класика: „Ајде да го напишеме нашето!“

Вашето следење се претвора во развој на софтверски производ и дистрибуиран. Барате давател на инфраструктура, погледнете како да го распоредите и надгледувате - мониторингот треба да се следи, нели? Потребна е и поддршка. Размислете десет пати пред да го преземете ова. Можеби е полесно да платите некој да го направи тоа наместо вас.

Следење на аномалии на BGP и DDoS напади

Овде, врз основа на достапните ресурси, сè е уште поедноставно. Аномалиите на BGP се откриваат со помош на специјализирани услуги како што се QRadar, BGPmon. Тие прифаќаат табела со целосен преглед од повеќе оператори. Врз основа на она што го гледаат од различни оператори, тие можат да детектираат аномалии, да бараат засилувачи итн. Регистрацијата обично е бесплатна - го внесувате вашиот телефонски број, се претплатите на известувањата по е-пошта и услугата ќе ве извести за вашите проблеми.

Следењето DDoS напади е исто така едноставно. Типично ова е NetFlow-базирани и логови. Постојат специјализирани системи како FastNetMon, модули за Плускав. Како последно средство, тука е вашиот обезбедувач на заштита од DDoS. Исто така, може да протече NetFlow и, врз основа на него, ќе ве извести за напади во вашата насока.

Наоди

Немајте илузии - Интернетот дефинитивно ќе пукне. Нема да пукне се и не сите, но 14 илјади инциденти во 2017 година навестуваат дека ќе има инциденти.

Ваша задача е да забележите проблеми што е можно порано. Најмалку, не подоцна од вашиот корисник. Не само што е важно да се забележи, секогаш чувајте го „план Б“ во резерва. Планот е стратегија за тоа што ќе правите кога сè ќе се расипе.: резервни оператори, DC, CDN. Планот е посебна листа за проверка според која ја проверувате работата на сè. Планот треба да функционира без вклучување на мрежни инженери, бидејќи обично ги има малку и сакаат да спијат.

Тоа е се. Ви посакувам висока достапност и зелен мониторинг.

Следната недела во Новосибирск се очекува сонце, оптоварување и висока концентрација на програмери HighLoad++ Сибир 2019 година. Во Сибир се предвидува фронт на извештаи за мониторинг, пристапност и тестирање, безбедност и управување. Се очекуваат врнежи во форма на чкртани белешки, вмрежување, фотографии и објави на социјалните мрежи. Препорачуваме одложување на сите активности на 24 и 25 јуни и да резервирате билети. Ве чекаме во Сибир!

Извор: www.habr.com

Додадете коментар