Kloniranje slike VPN poslužitelja bez kloniranja njegova identiteta
Odlučite obnavlja li kopija jedan pristupnik ili dodaje drugi. Konfiguracija za ponovnu upotrebu, ovlast potpisivanja i mrežno stanje putuju svaki na svoj način.
Slika se podiže, usluga kreće i klijenti se spajaju. To je trenutak da se zaustavite i pitate koja se od dvije vrlo različite radnje upravo dogodila. Ili kopija obnavlja jedan logički pristupnik koji je prije postojao, ili dodaje drugi pristupnik u flotu. Obje su legitimne i imaju različite posljedice za identitet i pristup. Stroj koji se čisto podigne ne dokazuje nijednu od njih.
Tri uvjeta odlučuju odgovor, a to su tri košare materijala koje slika može nositi. Razvrstajte ih prije nego se slika izgradi, a ne nakon što je dvaput raspoređena.
Najprije odlučite koju od dvije radnje izvodite
Obnavljanje zadržava jedan identitet usluge. Stara instanca je nestala, ime i certifikat ostaju, a klijenti i dalje vjeruju istom završnom odredištu. Dodavanje stvara drugi identitet koji klijenti, zapisi i opoziv moraju razlikovati.
Razlika nije kozmetička. Ako dva živa hosta predstavljaju isti certifikat pristupnika, klijent ih ne može razlikovati, a ni revizijski trag ne može, i opoziv tog certifikata uklanja oba odjednom. To je možda upravo ono što namjeran dizajn visoke dostupnosti želi, a rijetko je ono što brza kopija slike namjerava.
Zato je prva odluka rečenica, zapisana prije nego slika napusti graditeljski host: ova kopija obnavlja pristupnik A, ili ova kopija postaje pristupnik B. Sve nakon toga je knjigovodstvo prema toj rečenici. Ako je nitko ne može napisati, kopija nije spremna za izgradnju.
Materijal za ponovnu upotrebu, identitet i ovlast, stanje raspoređivanja
Košara za ponovnu upotrebu je ona laka: paketi, pregledana konfiguracija bez tajni, predlošci usluga, postavke očvršćivanja. U tome je slika doista dobra i može se reproducirati bez ograničenja.
Košara identiteta i ovlasti je mjesto gdje kopije pogriješe. Privatni ključ i certifikat pristupnika identificiraju taj pristupnik svakom klijentu. Ključ za potpisivanje certifikacijskog tijela drugi je objekt s drugom moći: on izdaje identitete. Vjerovati izdavatelju ne znači da svaki novi pristupnik treba mogućnost izdavanja, a slanje ključa za potpisivanje unutar slike daje tu mogućnost svemu što može pročitati sliku.
Košara stanja raspoređivanja je ona koju ljudi zaborave jer izgleda kao konfiguracija. Adrese slušanja, bazeni adresa, potisnute rute, postavke razrješivača i lokalna integracija svi kodiraju pretpostavke o prvom hostu. Drugi čvor koji ih kopira može dodjeljivati iz bazena koji već posjeduje drugi pristupnik ili usmjeriti klijente na resurs koji postoji samo uz original.
Što novi čvor mora dobiti i od koga
Neovisno upravljani čvor trebao bi primiti vlastite vjerodajnice kroz odobreni postupak upisa, a operacija potpisivanja trebala bi se odvijati tamo gdje živi ključ za potpisivanje, a ne na novom hostu. Zabilježite koji se identitet može povući bez uznemiravanja ostalih čvorova; ako je odgovor "svi", dizajn ima jedan identitet koji se pretvara da je dva.
Mrežne vrijednosti zaslužuju isti tretman. Odaberite bazen, adresu slušanja i skup potisnutih ruta koje se ne sudaraju s postojećim pristupnikom i upišite ih u ulaze za pripremu, a ne u sliku. Ulaz je pregledan; slika nije.
Postoji legitiman srednji slučaj. Podržani dizajn oporavka ili replikacije može namjerno zadržati jedan logički identitet usluge na više hostova, s kontroliranim pristupom staroj kopiji i planom rotacije. To je odluka s vlasnikom, a ne zadana postavka koja se dogodi jer je slika bila prikladna.
openssl x509 -in /etc/openvpn/server/server.crt -noout -subject -issuer -dates
find /etc/openvpn -name '*.key' -o -name '*.pem' | head -20
Prva naredba kaže koji identitet čvor zapravo predstavlja i tko ga je potpisao. Druga je početni popis, a ne dokaz: privatni materijal može živjeti izvan tog direktorija, unutar baze podataka aplikacije ili u sloju snimke koji pokrenuti datotečni sustav više ne pokazuje.
Što kopija slike tiho nosi
Brisanje datoteke iz najnovije revizije slike ne uklanja je iz starijih revizija, predmemorija slojeva ili snimki načinjenih dok je postojala. Zato se slike koje nose vjerodajnice moraju tretirati kao osjetljivi objekti cijeloga života, a ne samo u trenutku izgradnje.
Provjerite sadržaj slike i ulaze za pripremu kao odvojena pitanja. Slika odgovara "što je unutar ovog artefakta", a ulazi odgovaraju "što će ova instanca postati pri prvom podizanju". Čista slika sa skriptom za podizanje koja dohvaća zajednički ključ dobro odgovara na prvo pitanje, a loše na drugo.
Držite slike za oporavak koje legitimno sadrže tajne ograničene na ljude kojima su potrebne i zabilježite gdje se čuvaju. Alternativa, slika koja je prikladna jer radi bez ikakve pripreme, ista je slika koja svakome tko je nađe daje identitet pristupnika. Samo se jedan od tih dvaju zadataka pojavljuje u zapisu izgradnje.
Provjere prijema prije proizvodnje
Prije nego čvor preuzme promet, potvrdite četiri stvari: identitet koji predstavlja, klijente koje će prihvatiti, resurse do kojih mu je dopušteno doći i povratni put za adrese koje dijeli.
systemctl status openvpn-server@lab --no-pager
ss -lunp 'sport = :1194'
ip -4 route show table all | grep -F '10.90.'
Zatim provjerite negativan slučaj, onaj koji hvata nezgode: ima li novi čvor administratorski ili klijentski pristup koji je bio namijenjen originalu? Kopirana konfiguracija može nositi dodatni unos klijenta, naslijeđenu rutu upravljanja ili push direktivu koja je imala smisla na prvom hostu.
Ako je slika sa živim tajnama već izašla izvan odobrene granice, zamijenite vjerodajnice i obuzdajte kopije. Uklanjanje datoteke iz posljednje izgradnje nije isto kao povlačenje vjerodajnice koju starije kopije još drže, a razmak između tih dviju činjenica upravo je prozor koji napadaču treba.