Atvaizdas įsikrauna, paslauga paleidžiama, klientai prisijungia. Tai momentas sustoti ir paklausti, kuri iš dviejų labai skirtingų operacijų ką tik įvyko. Arba kopija atkuria vieną loginį šliuzą, kuris egzistavo anksčiau, arba prideda antrą šliuzą į laivyną. Abi yra teisėtos ir turi skirtingas pasekmes tapatybei ir prieigai. Mašina, kuri pakyla švariai, neįrodo nė vienos.

Atsakymą lemia trys sąlygos, ir tai yra trys medžiagos krepšiai, kuriuos atvaizdas gali nešti. Išrūšiuokite juos prieš statant atvaizdą, o ne po to, kai jis du kartus įdiegtas.

Pirmiausia nuspręskite, kurią iš dviejų operacijų atliekate

Atkūrimas išlaiko vieną paslaugos tapatybę. Senasis egzempliorius dingo, vardas ir sertifikatas lieka, o klientai toliau pasitiki tuo pačiu galiniu tašku. Papildymas sukuria antrą tapatybę, kurią klientai, žurnalai ir atšaukimas turi atskirti.

Skirtumas nėra kosmetinis. Jei du veikiantys mazgai pateikia tą patį šliuzo sertifikatą, klientas negali jų atskirti, audito pėdsakas taip pat negali, o to sertifikato atšaukimas pašalina abu iš karto. Tai gali būti būtent tai, ko nori tyčia suprojektuotas aukšto prieinamumo sprendimas, ir retai tai, ką numato paskubomis padaryta atvaizdo kopija.

Taigi pirmasis sprendimas yra vienas sakinys, užrašytas prieš atvaizdui paliekant kūrimo mazgą: ši kopija atkuria šliuzą A, arba ši kopija tampa šliuzu B. Viskas, kas po to, yra apskaita pagal tą sakinį. Jei niekas negali jo parašyti, kopija nėra paruošta kurti.

Daugkartiniai įėjimai, tapatybė ir įgaliojimai, diegimo būsena

Daugkartinis krepšys yra lengvasis: paketai, peržiūrėta konfigūracija be paslapčių, paslaugų šablonai, grūdinimo nustatymai. Tuo atvaizdas tikrai geras, ir jį galima atkurti be apribojimų.

Tapatybės ir įgaliojimų krepšys yra ten, kur kopijos suklysta. Šliuzo privatusis raktas ir sertifikatas identifikuoja tą šliuzą kiekvienam klientui. Sertifikavimo institucijos pasirašymo raktas yra kitas objektas su kita galia: jis išduoda tapatybes. Pasitikėjimas išdavėju nereiškia, kad kiekvienam naujam šliuzui reikia išdavimo galimybės, o pasirašymo rakto siuntimas atvaizdo viduje suteikia šią galimybę viskam, kas gali perskaityti atvaizdą.

Diegimo būsenos krepšys yra tas, kurį žmonės pamiršta, nes jis atrodo kaip konfigūracija. Klausymosi adresai, adresų telkiniai, stumiami maršrutai, sprendėjo nustatymai ir vietinė integracija visi koduoja prielaidas apie pirmąjį mazgą. Antrasis mazgas, kuris juos nukopijuoja, gali skirti iš telkinio, kurį jau valdo kitas šliuzas, arba nukreipti klientus į išteklių, kuris egzistuoja tik šalia originalo.

Ką naujas mazgas turi gauti ir iš ko

Nepriklausomai valdomas mazgas turėtų gauti savo kredencialus per patvirtintą registracijos procesą, o pasirašymo operacija turėtų vykti ten, kur yra pasirašymo raktas, o ne naujame mazge. Užsirašykite, kuri tapatybė gali būti atšaukta netrikdant kitų mazgų; jei atsakymas „visos“, projekte yra viena tapatybė, kuri apsimeta dviem.

Tinklo reikšmės nusipelno tokio paties požiūrio. Pasirinkite telkinį, klausymosi adresą ir stumiamų maršrutų rinkinį, kurie nesikerta su esamu šliuzu, ir įrašykite juos į aprūpinimo įėjimus, o ne į atvaizdą. Įėjimas yra peržiūrimas; atvaizdas ne.

Yra teisėtas tarpinis atvejis. Palaikomas atkūrimo arba replikacijos sprendimas gali sąmoningai išlaikyti vieną loginę paslaugos tapatybę keliose mašinose, su kontroliuojama prieiga prie senos kopijos ir rotacijos planu. Tai sprendimas su savininku, o ne numatytasis, atsirandantis dėl to, kad atvaizdas buvo patogus.

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

Pirmoji komanda pasako, kokią tapatybę mazgas iš tikrųjų pateikia ir kas ją pasirašė. Antroji yra pradinė inventorizacija, o ne įrodymas: privati medžiaga gali būti už to katalogo ribų, programos duomenų bazėje ar momentinės kopijos sluoksnyje, kurio veikianti failų sistema neberodo.

Ką atvaizdo kopija tyliai neša

Failo pašalinimas iš naujausios atvaizdo versijos nepašalina jo iš senesnių versijų, sluoksnių podėlių ar momentinių kopijų, padarytų jam egzistuojant. Todėl atvaizdai su kredencialais turi būti traktuojami kaip jautrūs objektai visą jų gyvavimo laiką, o ne tik kūrimo momentu.

Tikrinkite atvaizdo turinį ir aprūpinimo įėjimus kaip atskirus klausimus. Atvaizdas atsako „kas yra šio artefakto viduje“, o įėjimai atsako „kuo šis egzempliorius taps pirmojo paleidimo metu“. Švarus atvaizdas su paleidimo scenarijumi, kuris atsisiunčia bendrą raktą, gerai atsako į pirmąjį klausimą ir blogai į antrąjį.

Laikykite atkūrimo atvaizdus, kuriuose teisėtai yra paslapčių, apribotus tiems žmonėms, kuriems jų reikia, ir užsirašykite, kur jie saugomi. Alternatyva, atvaizdas, kuris patogus, nes veikia be jokio aprūpinimo, yra tas pats atvaizdas, kuris kiekvienam jį radusiam suteikia šliuzo tapatybę. Tik viena iš tų dviejų užduočių patenka į kūrimo žurnalą.

Priėmimo patikros prieš gamybą

Prieš mazgui priimant srautą, patvirtinkite keturis dalykus: pateikiamą tapatybę, priimamus klientus, leidžiamus išteklius ir grįžimo kelią platinamiems adresams.

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

Tada patikrinkite neigiamą atvejį, kuris pagauna avarijas: ar naujasis mazgas turi administratoriaus arba kliento prieigą, kuri buvo skirta originalui? Nukopijuota konfigūracija gali nešti papildomą kliento įrašą, paveldėtą valdymo maršrutą arba push nurodymą, kuris turėjo prasmę pirmame mazge.

Jei atvaizdas su gyvomis paslaptimis jau išėjo už patvirtintos ribos, pakeiskite kredencialus ir apribokite kopijas. Failo pašalinimas iš naujausio kūrimo nėra tas pats kaip senesnių kopijų dar turimų kredencialų išėmimas iš eksploatacijos, ir skirtumas tarp šių dviejų faktų yra būtent tas langas, kurio reikia užpuolikui.

Susiję straipsniai