Зашто не би требало да користите ВиреГуард

ВиреГуард је у последње време стицао велику пажњу, у ствари, то је нова звезда међу ВПН-овима. Али да ли је тако добар као што изгледа? Желео бих да продискутујем нека запажања и прегледам имплементацију ВиреГуард-а да објасним зашто то није решење за замену ИПсец-а или ОпенВПН-а.

У овом чланку желео бих да разоткријем неке од митова [око ВиреГуарда]. Да, биће потребно много времена за читање, па ако нисте себи скували шољицу чаја или кафе, онда је време да то урадите. Такође бих желео да се захвалим Петру што је исправио моје хаотичне мисли.

Не постављам себи за циљ да дискредитујем програмере ВиреГуард-а, обезвређујем њихове напоре или идеје. Њихов производ ради, али лично мислим да је представљен потпуно другачије од онога што заиста јесте – представљен је као замена за ИПсец и ОпенВПН, који у ствари сада једноставно не постоје.

Као напомену, желим да додам да одговорност за овакво позиционирање ВиреГуарда сносе медији који су о томе говорили, а не сам пројекат или његови креатори.

У последње време није било много добрих вести о Линук кернелу. Дакле, речено нам је о монструозним рањивостима процесора, које су софтверски нивелисани, а Линус Торвалдс је о томе говорио превише грубо и досадно, на утилитарном језику програмера. Планер или мрежа на нултом нивоу такође нису баш јасне теме за сјајне часописе. И долази ВиреГуард.

На папиру, све то звучи сјајно: узбудљива нова технологија.

Али хајде да то погледамо мало пажљивије.

ВиреГуард бели папир

Овај чланак је заснован на званична ВиреГуард документацијанаписао Џејсон Доненфелд. Тамо он објашњава концепт, сврху и техничку имплементацију [ВиреГуард] у Линук кернелу.

Прва реченица гласи:

ВиреГуард […] има за циљ да замени ИПсец у већини случајева коришћења и друга популарна решења заснована на корисничком простору и/или ТЛС-у, као што је ОпенВПН, док је безбеднији, ефикаснији и лакши за коришћење [алатка].

Наравно, главна предност свих нових технологија је њихова једноставност [у поређењу са претходницима]. Али ВПН би такође требало да буде ефикасно и безбедно.

Дакле, шта је следеће?

Ако кажете да ово није оно што вам треба [од ВПН-а], онда можете завршити читање овде. Међутим, приметићу да су такви задаци постављени за било коју другу технологију тунелирања.

Најзанимљивији од наведених цитата лежи у речима „у већини случајева“, које је штампа, наравно, игнорисала. И тако, ту смо где смо завршили због хаоса који је овај немар створио - у овом чланку.

Зашто не би требало да користите ВиреГуард

Да ли ће ВиреГуард заменити мој [ИПсец] ВПН од локације до локације?

Не. Једноставно нема шансе да велики добављачи као што су Цисцо, Јунипер и други купе ВиреГуард за своје производе. Они не "скачу на возове који пролазе" у покрету осим ако за то постоји нека велика потреба. Касније ћу проћи кроз неке од разлога зашто вероватно неће моћи да уграде своје ВиреГуард производе чак и када би то желели.

Хоће ли ВиреГуард однети мој РоадВарриор са мог лаптопа у центар података?

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

ИПФире се често користи за јефтине интернет везе, као што су ДСЛ или кабловске везе. Ово има смисла за мала или средња предузећа којима није потребна брза влакна. [Напомена преводиоца: не заборавите да су Русија и неке земље ЗНД у комуникацији далеко испред Европе и Сједињених Држава, јер смо своје мреже почели да градимо много касније и са појавом Етхернет и оптичких мрежа као стандард, било нам је лакше да га обновимо. У истим земљама ЕУ или САД, кДСЛ широкопојасни приступ брзином од 3-5 Мбпс је и даље општа норма, а оптичка веза кошта нереално за наше стандарде. Стога, аутор чланка говори о ДСЛ или кабловској вези као о норми, а не о древним временима.] Међутим, ДСЛ, кабловски, ЛТЕ (и друге методе бежичног приступа) имају динамичке ИП адресе. Наравно, понекад се не мењају често, али се мењају.

Постоји потпројекат тзв "вг-динамиц", који додаје демон корисничког простора да би се превазишао овај недостатак. Огроман проблем са горе описаним корисничким сценаријем је погоршање динамичког ИПв6 адресирања.

Ни са становишта дистрибутера, све ово не изгледа баш добро. Један од циљева дизајна био је да протокол остане једноставан и чист.

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

Да ли је ВиреГуард тако једноставан за коришћење?

Још није. Не кажем да ВиреГуард никада неће бити добра алтернатива за тунелирање између две тачке, али за сада је то само алфа верзија производа какав би требало да буде.

Али шта онда он заправо ради? Да ли је ИПсец заиста много тежи за одржавање?

Очигледно не. Продавац ИПсец-а је размишљао о томе и испоручује свој производ заједно са интерфејсом, као што је ИПФире.

Да бисте подесили ВПН тунел преко ИПсец-а, биће вам потребно пет скупова података које ћете морати да унесете у конфигурацију: сопствена јавна ИП адреса, јавна ИП адреса стране која прима, подмреже које желите да објавите путем ову ВПН везу и унапред дељени кључ. Дакле, ВПН се поставља за неколико минута и компатибилан је са било којим добављачем.

Нажалост, постоји неколико изузетака од ове приче. Свако ко је покушао да тунелира преко ИПсец-а до ОпенБСД машине зна о чему говорим. Постоји још неколико болних примера, али у ствари, постоји много, много више добрих пракси за коришћење ИПсец-а.

О сложености протокола

Крајњи корисник не мора да брине о сложености протокола.

Да смо живели у свету где је ово била стварна брига корисника, онда бисмо се решили СИП, Х.323, ФТП и других протокола креираних пре више од десет година који не функционишу добро са НАТ-ом.

Постоје разлози зашто је ИПсец сложенији од ВиреГуард-а: ради много више ствари. На пример, аутентикација корисника помоћу пријаве/лозинке или СИМ картице са ЕАП-ом. Има проширену могућност додавања нових криптографски примитиви.

А ВиреГуард то нема.

А то значи да ће се ВиреГуард у неком тренутку покварити, јер ће један од криптографских примитива ослабити или бити потпуно компромитован. Аутор техничке документације каже ово:

Вреди напоменути да је ВиреГуард криптографски настројен. Намерно му недостаје флексибилност шифара и протокола. Ако се пронађу озбиљне рупе у основним примитивима, све крајње тачке ће морати да се ажурирају. Као што можете видети из текућег тока СЛЛ/ТЛС рањивости, флексибилност шифровања се сада значајно повећала.

Последња реченица је потпуно тачна.

Постизање консензуса о томе коју енкрипцију користити чини протоколе као што су ИКЕ и ТЛС више комплекс. Превише компликована? Да, рањивости су прилично честе у ТЛС/ССЛ-у и за њих нема алтернативе.

О игнорисању стварних проблема

Замислите да имате ВПН сервер са 200 борбених клијената негде широм света. Ово је прилично стандардни случај употребе. Ако морате да промените шифровање, потребно је да испоручите ажурирање свим копијама ВиреГуард-а на овим лаптоповима, паметним телефонима и тако даље. Истовремено доставити. То је буквално немогуће. Администраторима који покушавају да то ураде биће потребни месеци да примене потребне конфигурације, а компанији средње величине биће буквално потребне године да изведе такав догађај.

ИПсец и ОпенВПН нуде функцију преговарања о шифрама. Дакле, неко време након којег укључите ново шифровање, старо ће такође радити. Ово ће омогућити тренутним корисницима да надограде на нову верзију. Након што се ажурирање уведе, једноставно искључите рањиво шифровање. И то је то! Спремни! Дивна си диван си! Клијенти то неће ни приметити.

Ово је заправо веома чест случај за велике примене, па чак и ОпенВПН има неких потешкоћа са овим. Повратна компатибилност је важна, и иако користите слабију енкрипцију, за многе то није разлог за затварање предузећа. Јер ће парализовати рад стотинама купаца због немогућности да раде свој посао.

ВиреГуард тим је учинио свој протокол једноставнијим, али потпуно неупотребљивим за људе који немају сталну контролу над оба вршњака у свом тунелу. По мом искуству, ово је најчешћи сценарио.

Зашто не би требало да користите ВиреГуард

Криптографија!

Али шта је ово занимљиво ново шифровање које користи ВиреГуард?

ВиреГуард користи Цурве25519 за размену кључева, ЦхаЦха20 за шифровање и Поли1305 за аутентификацију података. Такође ради са СипХасх-ом за хеш кључеве и БЛАКЕ2 за хеширање.

ЦхаЦха20-Поли1305 је стандардизован за ИПсец и ОпенВПН (преко ТЛС-а).

Очигледно је да се развој Данијела Бернштајна веома често користи. БЛАКЕ2 је наследник БЛАКЕ-а, СХА-3 финалисте који није победио због сличности са СХА-2. Ако би СХА-2 био покварен, постојала је велика шанса да ће и БЛАКЕ бити угрожен.

ИПсец и ОпенВПН не требају СипХасх због свог дизајна. Дакле, једина ствар која тренутно не може да се користи са њима је БЛАКЕ2, и то само док се не стандардизује. Ово није велики недостатак, јер ВПН-ови користе ХМАЦ за стварање интегритета, што се сматра јаким решењем чак и у комбинацији са МД5.

Тако сам дошао до закључка да се скоро исти скуп криптографских алата користи у свим ВПН-овима. Стога, ВиреГуард није ни мање ни више безбедан од било ког другог тренутног производа када је у питању шифровање или интегритет пренетих података.

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

Да ли је ВиреГуард бржи од других ВПН решења?

Укратко: не, не брже.

ЦхаЦха20 је стреам шифра коју је лакше имплементирати у софтвер. Шифрује један бит по један. Блок протоколи као што је АЕС шифрују блок 128 бита одједном. За имплементацију хардверске подршке потребно је много више транзистора, тако да већи процесори долазе са АЕС-НИ, екстензијом скупа инструкција која обавља неке од задатака процеса шифровања да би га убрзала.

Очекивало се да АЕС-НИ никада неће ући у паметне телефоне [али јесте — прибл. пер.]. За ово, ЦхаЦха20 је развијен као лагана алтернатива која штеди батерију. Стога вам може бити новост да сваки паметни телефон који данас можете да купите има неку врсту АЕС убрзања и ради брже и са мањом потрошњом енергије са овом енкрипцијом него са ЦхаЦха20.

Очигледно, скоро сваки десктоп/сервер процесор купљен у последњих неколико година има АЕС-НИ.

Стога очекујем да ће АЕС надмашити ЦхаЦха20 у сваком појединачном сценарију. Званична документација ВиреГуард-а помиње да ће са АВКС512 ЦхаЦха20-Поли1305 надмашити АЕС-НИ, али ово проширење скупа инструкција ће бити доступно само на већим ЦПУ-има, што опет неће помоћи са мањим и мобилним хардвером, који ће увек бити бржи са АЕС-ом. - Н.И.

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

ИПсец вам омогућава да слободно изаберете које је шифровање најбоље за ваш случај. И наравно, ово је неопходно ако, на пример, желите да пренесете 10 или више гигабајта података преко ВПН везе.

Проблеми интеграције у Линук-у

Иако је ВиреГуард изабрао модеран протокол за шифровање, то већ изазива много проблема. И тако, уместо да се користи оно што језгро подржава из кутије, интеграција ВиреГуард-а је одложена годинама због недостатка ових примитива у Линуку.

Нисам сасвим сигуран каква је ситуација на другим оперативним системима, али вероватно није много другачија него на Линуксу.

Како изгледа стварност?

Нажалост, сваки пут када ме клијент затражи да поставим ВПН везу за њих, наиђем на проблем да користе застареле акредитиве и шифровање. 3ДЕС у комбинацији са МД5 је и даље уобичајена пракса, као и АЕС-256 и СХА1. И иако је ово друго нешто боље, ово није нешто што би требало користити 2020. године.

За размену кључева увек Користи се РСА - спор, али прилично сигуран алат.

Моји клијенти су повезани са царинским органима и другим државним организацијама и институцијама, као и са великим корпорацијама чија су имена позната широм света. Сви они користе образац захтева који је креиран пре неколико деценија, а могућност коришћења СХА-512 једноставно никада није додата. Не могу да кажем да то некако јасно утиче на технолошки напредак, али очигледно успорава корпоративни процес.

Боли ме што ово видим јер ИПсец подржава елиптичке криве од 2005. Цурве25519 је такође новији и доступан за употребу. Постоје и алтернативе за АЕС као што су Цамеллиа и ЦхаЦха20, али очигледно нису све подржане од стране великих произвођача као што су Цисцо и други.

И људи то искориштавају. Постоји много Цисцо комплета, постоји много комплета дизајнираних да раде са Цисцо. Они су лидери на тржишту у овом сегменту и нису много заинтересовани за било какву иновацију.

Да, ситуација [у корпоративном сегменту] је ужасна, али нећемо видети никакве промене због ВиреГуард-а. Продавци вероватно никада неће видети проблеме са перформансама са алатима и шифровањем које већ користе, неће видети никакве проблеме са ИКЕв2, па стога не траже алтернативе.

Генерално, да ли сте икада размишљали о томе да напустите Цисцо?

Мерила

А сада пређимо на мерила из ВиреГуард документације. Иако ова [документација] није научни чланак, ипак сам очекивао да ће програмери заузети научнији приступ или користити научни приступ као референцу. Било која мерила су бескорисна ако се не могу репродуковати, а још бескориснија када се добију у лабораторији.

У Линук верзији ВиреГуард-а, он користи предности коришћења ГСО – генеричког растерећења сегментације. Захваљујући њему, клијент креира огроман пакет од 64 килобајта и шифрује / дешифрује га у једном потезу. Тако се смањују трошкови позивања и имплементације криптографских операција. Ако желите да максимизирате пропусност своје ВПН везе, ово је добра идеја.

Али, као и обично, стварност није тако једноставна. Слање тако великог пакета мрежном адаптеру захтева да се он пресече на много мањих пакета. Нормална величина слања је 1500 бајтова. То јест, наш гигант од 64 килобајта биће подељен на 45 пакета (1240 бајтова информација и 20 бајтова ИП заглавља). Затим ће неко време потпуно блокирати рад мрежног адаптера, јер се морају послати заједно и одједном. Као резултат, ово ће довести до скока приоритета, а пакети као што је ВоИП, на пример, биће стављени у ред чекања.

Дакле, висока пропусност коју ВиреГуард тако храбро тврди постиже се по цену успоравања умрежавања других апликација. А ВиреГуард тим је већ потврдио ово је мој закључак.

Али идемо даље.

Према мерилима у техничкој документацији, веза показује пропусност од 1011 Мбпс.

Импресиван.

Ово је посебно импресивно због чињенице да је максимална теоретска пропусност једне Гигабит Етхернет везе 966 Мбпс са величином пакета од 1500 бајтова минус 20 бајтова за ИП заглавље, 8 бајтова за УДП заглавље и 16 бајтова за заглавље сам ВиреГуард. Постоји још једно ИП заглавље у инкапсулираном пакету и још једно у ТЦП-у за 20 бајтова. Дакле, одакле је дошао овај додатни пропусни опсег?

Са огромним оквирима и предностима ГСО-а о којима смо горе говорили, теоретски максимум за величину оквира од 9000 бајтова био би 1014 Мбпс. Обично је таква пропусност у стварности недостижна, јер је повезана са великим потешкоћама. Дакле, могу само да претпоставим да је тест обављен коришћењем још дебљих предимензионираних оквира од 64 килобајта са теоријским максимумом од 1023 Мбпс, што подржавају само неки мрежни адаптери. Али ово је апсолутно неприменљиво у стварним условима, или се може користити само између две директно повезане станице, искључиво у оквиру тестне плоче.

Али пошто се ВПН тунел прослеђује између два хоста користећи интернет везу која уопште не подржава јумбо оквире, резултат постигнут на бенчу не може се узети као мерило. Ово је једноставно нереално лабораторијско достигнуће које је немогуће и непримењиво у реалним борбеним условима.

Чак и док сам седео у дата центру, нисам могао да пренесем оквире веће од 9000 бајтова.

Критеријум применљивости у стварном животу је апсолутно нарушен и, како мислим, аутор спроведеног „мерења” се озбиљно дискредитовао из очигледних разлога.

Зашто не би требало да користите ВиреГуард

Последњи трачак наде

Сајт ВиреГуард много говори о контејнерима и постаје јасно чему је заиста намењен.

Једноставан и брз ВПН који не захтева никакву конфигурацију и може се применити и конфигурисати помоћу масивних алата за оркестрацију какве Амазон има у свом облаку. Конкретно, Амазон користи најновије хардверске функције које сам раније споменуо, као што је АВКС512. Ово се ради да би се убрзао рад и да се не везује за к86 или било коју другу архитектуру.

Они оптимизују проток и пакете веће од 9000 бајтова – то ће бити огромни инкапсулирани оквири за међусобно комуницирање контејнера или за операције резервног копирања, креирање снимака или постављање ових истих контејнера. Чак ни динамичке ИП адресе неће утицати на рад ВиреГуард-а ни на који начин у случају сценарија који сам описао.

Добро одиграно. Бриљантна имплементација и веома танак, скоро референтни протокол.

Али једноставно се не уклапа у свет ван центра података који у потпуности контролишете. Ако преузмете ризик и почнете да користите ВиреГуард, мораћете да правите сталне компромисе у дизајну и примени протокола за шифровање.

Излаз

Лако ми је закључити да ВиреГуард још није спреман.

Замишљен је као лако и брзо решење бројних проблема са постојећим решењима. Нажалост, зарад ових решења жртвовао је многе функције које ће бити релевантне за већину корисника. Зато не може да замени ИПсец или ОпенВПН.

Да би ВиреГуард постао конкурентан, потребно је да дода најмање поставку ИП адресе и конфигурацију рутирања и ДНС-а. Очигледно, томе служе шифровани канали.

Безбедност је мој главни приоритет, и тренутно немам разлога да верујем да су ИКЕ или ТЛС на неки начин угрожени или покварени. У оба је подржана модерна енкрипција, а доказана су деценијама рада. Само зато што је нешто новије не значи да је боље.

Интероперабилност је изузетно важна када комуницирате са трећим лицима чије станице не контролишете. ИПсец је де фацто стандард и подржан је скоро свуда. И он ради. И без обзира како изгледа, у теорији, ВиреГуард у будућности можда неће бити компатибилан чак ни са различитим верзијама себе.

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

Негирање свих ових чињеница и слепо хтење да користите ВиреГуард за повезивање вашег иПхоне-а са кућном радном станицом је само мајсторска класа забијања главе у песак.

Извор: ввв.хабр.цом

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