Slika se zažene, storitev se začne in odjemalci se povežejo. To je trenutek, da se ustavite in vprašate, katera od dveh zelo različnih operacij se je pravkar zgodila. Bodisi kopija obnovi en logični prehod, ki je prej obstajal, bodisi doda drugi prehod v floto. Obe sta legitimni in imata različne posledice za identiteto in dostop. Stroj, ki se čisto dvigne, ne dokaže nobene od njiju.

Odgovor odločajo trije pogoji in to so tri vedra materiala, ki ga lahko nosi slika. Razvrstite jih pred gradnjo slike, ne po tem, ko je bila dvakrat nameščena.

Najprej se odločite, katero od obeh operacij izvajate

Obnovitev ohrani eno identiteto storitve. Stara instanca je izginila, ime in potrdilo ostaneta, odjemalci pa še naprej zaupajo isti končni točki. Dodajanje ustvari drugo identiteto, ki jo morajo odjemalci, dnevniki in preklic vsi razlikovati.

Razlika ni kozmetična. Če dva živa gostitelja predstavljata isto potrdilo prehoda, ju odjemalec ne more razlikovati, tudi revizijska sled ne, in preklic tega potrdila odstrani oba hkrati. To je morda natanko tisto, kar hoče namerna zasnova visoke razpoložljivosti, in redko tisto, kar ima v mislih nagla kopija slike.

Zato je prva odločitev stavek, zapisan preden slika zapusti gostitelja gradnje: ta kopija obnovi prehod A ali ta kopija postane prehod B. Vse po tem je knjigovodstvo glede na ta stavek. Če ga nihče ne more napisati, kopija ni pripravljena za gradnjo.

Vhodi za večkratno uporabo, identiteta in pooblastilo, stanje namestitve

Vedro za večkratno uporabo je tisto lahko: paketi, pregledana konfiguracija brez skrivnosti, predloge storitev, nastavitve utrjevanja. V tem je slika res dobra in jo je mogoče reproducirati brez omejitev.

Vedro identitete in pooblastila je kraj, kjer se kopije zmotijo. Zasebni ključ in potrdilo prehoda identificirata ta prehod pri vsakem odjemalcu. Podpisni ključ potrditvene agencije je drug predmet z drugo močjo: izdaja identitete. Zaupanje izdajatelju ne pomeni, da vsak nov prehod potrebuje zmožnost izdajanja, in pošiljanje podpisnega ključa znotraj slike daje to zmožnost vsemu, kar lahko prebere sliko.

Vedro stanja namestitve je tisto, ki ga ljudje pozabijo, ker izgleda kot konfiguracija. Naslovi poslušanja, bazeni naslovov, potisnjene poti, nastavitve razreševalnika in lokalna integracija vsi kodirajo predpostavke o prvem gostitelju. Drugo vozlišče, ki jih kopira, lahko dodeljuje iz bazena, ki ga že ima drug prehod, ali usmeri odjemalce na vir, ki obstaja samo ob originalu.

Kaj mora novo vozlišče dobiti in od koga

Samostojno upravljano vozlišče bi moralo prejeti lastne poverilnice po odobrenem postopku registracije, podpisna operacija pa naj se zgodi tam, kjer živi podpisni ključ, in ne na novem gostitelju. Zabeležite, katero identiteto je mogoče umakniti, ne da bi motili druga vozlišča; če je odgovor »vse«, ima zasnova eno identiteto, ki se pretvarja, da sta dve.

Omrežne vrednosti si zaslužijo enako obravnavo. Izberite bazen, naslov poslušanja in nabor potisnjenih poti, ki ne trčijo v obstoječi prehod, in jih zapišite v vhode za oskrbo, ne v sliko. Vhod je pregleden; slika ni.

Obstaja legitimen vmesni primer. Podprta zasnova obnovitve ali replikacije lahko namerno ohrani eno logično identiteto storitve na več gostiteljih, z nadzorovanim dostopom do stare kopije in načrtom rotacije. To je odločitev z lastnikom, ne privzeta vrednost, ki se zgodi, ker je bila slika priročna.

openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20

Prvi ukaz pove, katero identiteto vozlišče dejansko predstavi in kdo jo je podpisal. Drugi je začetni popis, ne dokaz: zasebno gradivo lahko živi zunaj tega imenika, v podatkovni bazi aplikacije ali v plasti posnetka, ki ga delujoči datotečni sistem ne kaže več.

Kaj kopija slike tiho nosi

Brisanje datoteke iz najnovejše revizije slike je ne odstrani iz starejših revizij, predpomnilnikov plasti ali posnetkov, narejenih, dokler je obstajala. Zato je treba slike, ki nosijo poverilnice, obravnavati kot občutljive predmete vse njihovo življenje, ne le ob gradnji.

Preverite vsebino slike in vhode za oskrbo kot dve ločeni vprašanji. Slika odgovarja na »kaj je znotraj tega artefakta«, vhodi pa na »kaj bo ta instanca ob prvem zagonu«. Čista slika z zagonskim skriptom, ki prinese skupni ključ, dobro odgovori na prvo vprašanje in slabo na drugo.

Slike za obnovitev, ki legitimno vsebujejo skrivnosti, omejite na ljudi, ki jih potrebujejo, in zabeležite, kje so shranjene. Alternativa, slika, ki je priročna, ker deluje brez vsakršne oskrbe, je ista slika, ki vsakomur, ki jo najde, podeli identiteto prehoda. V dnevniku gradnje se pojavi le ena od teh dveh nalog.

Preverjanja sprejema pred proizvodnjo

Preden vozlišče prevzame promet, potrdite štiri stvari: identiteto, ki jo predstavi, odjemalce, ki jih bo sprejelo, vire, do katerih sme dostopati, in povratno pot za naslove, ki jih razdeljuje.

systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'

Nato preverite negativni primer, ki ujame nesreče: ima novo vozlišče skrbniški ali odjemalski dostop, ki je bil namenjen originalu? Kopirana konfiguracija lahko nosi dodatni vnos odjemalca, podedovano pot upravljanja ali direktivo push, ki je imela smisel na prvem gostitelju.

Če je slika z živimi skrivnostmi že presegla svojo odobreno mejo, zamenjajte poverilnice in omejite kopije. Odstranitev datoteke iz zadnje gradnje ni isto kot umik poverilnic, ki jih starejše kopije še vedno držijo, in vrzel med tema dvema dejstvoma je natanko tisto okno, ki ga napadalec potrebuje.

Sorodni članki