Клонирање слике VPN сервера без клонирања његовог идентитета
Одлучите да ли копија враћа једну капију или додаје другу. Конфигурација за поновну употребу, овлашћење за потпис и мрежно стање путују свако другачије.
Слика се подиже, услуга почиње и клијенти се повезују. То је тренутак да се зауставите и питате која се од две веома различите операције управо догодила. Или копија враћа једну логичку капију која је раније постојала, или додаје другу капију у флоту. Обе су легитимне и имају различите последице за идентитет и приступ. Машина која се чисто подигне не доказује ниједну од њих.
Три услова одлучују одговор, а то су три корпе материјала које слика може да носи. Разврстајте их пре него што се слика изгради, а не након што је двапут распоређена.
Најпре одлучите коју од две операције изводите
Враћање задржава један идентитет услуге. Стара инстанца је нестала, име и сертификат остају, а клијенти настављају да верују истој крајњој тачки. Додавање ствара други идентитет који клијенти, дневници и опозив морају да разликују.
Разлика није козметичка. Ако два жива домаћина приказују исти сертификат капије, клијент не може да их разликује, ни траг ревизије не може, а опозив тог сертификата уклања оба одједном. То је можда управо оно што намерни дизајн високе доступности жели, а ретко оно што има на уму пожурна копија слике.
Зато је прва одлука једна реченица, записана пре него што слика напусти домаћин за изградњу: ова копија враћа капију A, или ова копија постаје капија B. Све после тога је књиговодство према тој реченици. Ако нико не може да је напише, копија није спремна за изградњу.
Улази за поновну употребу, идентитет и овлашћење, стање распоређивања
Корпа за поновну употребу је лака: пакети, прегледана конфигурација без тајни, шаблони услуга, поставке очвршћивања. У томе је слика заиста добра и може се репродуковати без ограничења.
Корпа идентитета и овлашћења је место где копије греше. Приватни кључ и сертификат капије идентификују ту капију сваком клијенту. Кључ за потпис сертификационог тела је други објекат с другом моћи: он издаје идентитете. Веровати издаваоцу не значи да свака нова капија треба могућност издавања, а слање кључа за потпис унутар слике даје ту могућност свему што може да прочита слику.
Корпа стања распоређивања је она коју људи забораве јер изгледа као конфигурација. Адресе слушања, базени адреса, гурнуте руте, поставке резолвера и локална интеграција сви кодирају претпоставке о првом домаћину. Други чвор који их копира може да додељује из базена који већ поседује друга капија, или да усмери клијенте на ресурс који постоји само поред оригинала.
Шта нови чвор мора да добије и од кога
Независно управљан чвор треба да добије сопствене акредитиве кроз одобрени процес регистрације, а операција потписа треба да се одвија тамо где живи кључ за потпис, а не на новом домаћину. Запишите који идентитет може да се повуче без узнемиравања других чворова; ако је одговор „сви“, дизајн има један идентитет који се претвара да је два.
Мрежне вредности заслужују исти третман. Изаберите базен, адресу слушања и скуп гурнутих рута које се не сударају с постојећом капијом, и упишите их у улазе за припрему, а не у слику. Улаз је прегледан; слика није.
Постоји легитиман средњи случај. Подржани дизајн опоравка или репликације може намерно да задржи један логички идентитет услуге на више домаћина, с контролисаним приступом старој копији и планом ротације. То је одлука с власником, а не подразумевана поставка која се догоди јер је слика била прикладна.
openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20
Прва наредба каже који идентитет чвор заправо представља и ко га је потписао. Друга је почетни попис, а не доказ: приватни материјал може да живи изван тог директоријума, унутар базе података апликације или у слоју снимка који покренути датотечки систем више не приказује.
Шта копија слике тихо носи
Брисање датотеке из најновије ревизије слике не уклања је из старијих ревизија, кешева слојева или снимака направљених док је постојала. Зато се слике које носе акредитиве морају третирати као осетљиви објекти целог живота, а не само у тренутку изградње.
Проверите садржај слике и улазе за припрему као два одвојена питања. Слика одговара на „шта је унутар овог артефакта“, а улази одговарају на „шта ће ова инстанца постати при првом подизању“. Чиста слика са скриптом за подизање који доноси заједнички кључ добро одговара на прво питање, а лоше на друго.
Држите слике за опоравак које легитимно садрже тајне ограничене на људе којима су потребне и запишите где се чувају. Алтернатива, слика која је прикладна јер ради без икакве припреме, иста је слика која свакоме ко је нађе даје идентитет капије. Само се један од та два задатка појављује у запису изградње.
Провере пријема пре производње
Пре него што чвор преузме саобраћај, потврдите четири ствари: идентитет који представља, клијенте које ће прихватити, ресурсе до којих му је дозвољено да дође и повратни пут за адресе које дели.
systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'
Затим проверите негативан случај, онај који хвата несреће: има ли нови чвор администраторски или клијентски приступ који је био намењен оригиналу? Копирана конфигурација може да носи додатни унос клијента, наслеђену руту управљања или push директиву која је имала смисла на првом домаћину.
Ако је слика са живим тајнама већ изашла изван одобрене границе, замените акредитиве и ограничите копије. Уклањање датотеке из последње изградње није исто што и повлачење из употребе акредитива које старије копије још држе, а размак између те две чињенице управо је прозор који је потребан нападачу.