Te väljastate uue hosti sertifikaadi teise overlay-aadressiga, kopeerite selle vana faili peale, saadate uuesti laadimise ja host jätkab vastamist aadressil, mis tal varem oli. Refleks on eeldada, et uuesti laadimine ebaõnnestus või loeti vale fail. Tavaliselt ei juhtunud kumbagi: töötav protsess hoidis teadlikult identiteeti, mis tal juba oli, sest asendus muutis midagi, mida uuesti laadimine rakendada ei saa.

Nebula PKI uuesti laadimise tugi on dokumenteeritud just selle piiriga ja see jääb kergesti märkamata, kui sama dokumentatsioon näitab, et uuesti laadimine töötab teiste muudatuste puhul.

Mida uuesti laadimine tegelikult uuesti loeb

Hosti sertifikaat ei ole lihtsalt mandaat nii, nagu on SSH võti. See kannab overlay-aadressi, hosti nime, gruppide liikmelisust ja kehtivusakent ning kõik need on seotud CA allkirjaga. Deemon kasutab seda allkirjastatud sisu, et otsustada, kuidas end esitleda ja millised reeglid sellele kehtivad.

Uuesti laadimine lubab protsessil võtta vastu uuendatud mandaadi, ilma oma tunneleid maha jätmata, mis on väärtuslik rutiinse rotatsiooni jaoks: sama aadress, sama nimi, samad grupid, hilisem aegumine. Piirang on see, et identiteet peab jääma samaks. Muutke overlay-aadressi ja uuesti laadimise tee ei saa seda rakendada, sest aadress on osa sellest, millega töötav eksemplar on juba kohustunud.

Seega nähtud käitumine on dokumenteeritud piir oma tööd tegemas, mitte vaikne tõrge. Fail kettal on uus; identiteet mälus on vana; protsessil pole toetatud viisi selle erinevuse ühitamiseks ilma taaskäivituseta.

Aadress, nimi ja grupid on üks identiteet

Aitab mõelda sertifikaadist kui ühest kirjest, mitte kui väljade komplektist, mida saab eraldi muuta. Aadressi liigutamine ei ole nagu eelistuse muutmine, sest aadress esineb teiste hostide peer-konfiguratsioonides, teenuste sidumistes ja identiteedi vastu kirjutatud poliitikates.

FieldWhat changes when you replace it
Overlay addressPeers that pinned the old address, service bindings, and any rule written against it
Host nameName-based policy and the identities other hosts expect to see
GroupsWhich access rules match, even if the address stays identical
Validity windowNothing structural, which is why renewal reloads cleanly

Grupid väärivad eraldi rida, sest need põhjustavad sama segaduse vaiksema versiooni. Host, kes hoiab oma aadressi, kuid vahetab gruppe, võib pärast taaskäivitust jõuda teiste teenusteni, ja test, mis ainult pingib vana aadressi, näeb täiesti terve välja, samal ajal kui juurdepääsuotsused on selle all muutunud. Kontrollige ühte reegliga kaetud teenust, mitte ainult kättesaadavust. See on vahe tunneli kinnitamise ja poliitika kinnitamise vahel.

Võrrelge laaditud sertifikaati asendusega

Enne kui eeldate, et deemon eiras faili, lugege mõlemat. Printige sertifikaat, mille kavatsete laadida, ja kinnitage väljad, mille arvate muutnud olevat, seejärel kinnitage, et töötav konfiguratsioon osutab sellele teele, mitte mujal asuvale koopiale.

nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)

Protsessi argumendid loevad rohkem, kui inimesed ootavad. Üksus, mis edastab -config /etc/nebula/config.yml, loeb selle faili kirjet pki.cert, ja ajutisse kataloogi paigaldatud sertifikaat ei mõjuta midagi. Kontrollige teed töötavas käsureal, mitte teed dokumentatsioonis, mida järgisite. Kui need erinevad, olete probleemi leidnud sertifikaati üldse puutumata.

Kui uuel sertifikaadil on teine aadress ja protsess jättis vana alles, on teil nüüd seletus, mitte mõistatus. Taaskäivitage see, kui see on vastuvõetav, ja käsitlege aadressi muutust plaanilise võrgumuudatusena, mitte juhuslikuna.

Aadressi muutmine on võrgu muutmine

Planeerige seda nii, nagu planeeriksite masina teisaldamist. Teised hostid võisid vana aadressi oma konfiguratsiooni kinnitada, teenused võivad sellega otseselt siduda ja tulemüürireeglid võivad olla selle vastu kirjutatud. Sertifikaadi muutmine liigutab hosti ja hosti liigutamine muudab mujal kehtetuks eeldused.

Hoidke selle tegemise ajal saadaval teine haldustee, sest overlay-ühendus võib olla just see, mille katkestate. Seda teha tunneli kaudu, mille kohe katki teete, on klassikaline viis muuta viie minuti muudatus kohapealseks visiidiks.

Kas taaskäivitus on vastuvõetav, sõltub sellest, mida host teeb, ja see on planeerimise, mitte tehniline küsimus. Mis ei ole valikuline, on taaskäivituse nõude tunnistamine, selle asemel et saata uuesti laadimine viiendat korda.

Kõrvaldage vana mandaat eraldi

Asenduse paigaldamine ühte masinasse jätab iga peeri ikka usaldama mandaati, mida ta juba teab. Kui muutuse põhjuseks oli kompromiteerimine, tuleb vana identiteet tagasi võtta usalduse või blokeerimisnimekirja protseduuriga, et peerid selle tegelikult tagasi lükkaksid.

See on eraldi samm oma kontrolliga: kinnitage teisest hostist, et vana identiteet enam ei tööta, selle asemel et eeldada, et uus fail tegi töö ära. Nebula PKI konfiguratsiooni dokumentatsioon katab uuesti laaditavad seaded ja siin kirjeldatud aadressipiirangu, ja seda tasub enne mis tahes tootmiskasutuses oleva roteerimist täies ulatuses lugeda.

Seotud artiklid