Две машини што разговараат само меѓу себе можат да ја задржат таа топологија и сепак да добијат договорени клучеви за сообраќај. Формата на мрежата и режимот на заштита се независни избори, и токму нивното мешање ги тера луѓето да се обидат да ротираат статична тајна со замена на датотека додека двата демони продолжуваат да работат. Замената на датотеката со клуч под активен пар не ротира ништо. Статичниот режим, кој OpenVPN 2.6 го означува како застарен, држи еден клуч за целиот живот на тунелот, па датотеката на дискот и клучот во меморијата повторно се совпаѓаат само откако двата краја ќе се рестартираат. Ако автоматското обновување е барањето, режимот на заштита мора да се промени.

Што не може статичниот режим

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

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

Исто така нема поим за идентитет на јазол надвор од поседувањето на датотеката. Секој што го има клучот е јазол, и ништо во тунелот не запишува која страна е која, па отповикувањето е сѐ или ништо.

Премин на TLS без препроектирање на врската

Режимот TLS додава контролен канал и со него способност да се договараат клучевите на податочниот канал. Во распоред точка-до-точка, едната страна ја презема улогата на сервер, а другата на клиент, но топологијата останува врска меѓу два јазли: секоја страна ја знае крајната точка на другата и не се појавува ниту базен ниту повеќекорисничка услуга. Улогите се детаљ од ракувањето, не нова архитектура.

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

Држете го мрежниот договор непроменет додека заштитата се менува. Истите адреси на тунелот, маршрути и дозволени услуги треба да важат пред и потоа, за да биде дефектот за време на миграцијата проблем на заштита, а не маскирано изненадување во рутирањето. Запишете ги адресите и маршрутите пред промената; нивното споредување подоцна е побрзо од реконструкција по памтење.

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

Кој што обновува, и кога

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

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

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

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

Прифаќање на промената

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

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

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

Поврзани статии