Opätovné načítanie certifikátu Nebula nezmenilo IP: tu je dôvod
Opätovné načítanie znovu prečíta prihlasovacie údaje hostiteľa len vtedy, keď overlay adresa zostane rovnaká. Zmena adresy znamená reštart a zmenu siete, nie nový pokus.
Vydáte nový certifikát hostiteľa s inou overlay adresou, skopírujete ho cez starý súbor, pošlete opätovné načítanie a hostiteľ naďalej odpovedá na adrese, ktorú mal predtým. Reflex je predpokladať, že opätovné načítanie zlyhalo alebo sa prečítal nesprávny súbor. Zvyčajne sa nestalo ani jedno: bežiaci proces si zámerne ponechal identitu, ktorú už mal, pretože náhrada zmenila niečo, čo opätovné načítanie nedokáže uplatniť.
Podpora opätovného načítania PKI v Nebule je dokumentovaná práve s touto hranicou a ľahko sa prehliadne, keď tá istá dokumentácia ukazuje, že opätovné načítanie funguje pri iných zmenách.
Čo opätovné načítanie skutočne znovu prečíta
Certifikát hostiteľa nie je len prihlasovací údaj tak, ako je SSH kľúč. Nesie overlay adresu, meno hostiteľa, členstvo v skupinách a dobu platnosti, a to všetko je spojené podpisom CA. Démon používa tento podpísaný obsah na rozhodnutie, ako sa prezentuje a ktoré pravidlá sa naň vzťahujú.
Opätovné načítanie umožňuje procesu prevziať obnovené prihlasovacie údaje bez toho, aby zhodil svoje tunely, čo je cenné pri rutinnej rotácii: rovnaká adresa, rovnaké meno, rovnaké skupiny, neskoršia expirácia. Obmedzenie je, že identita musí zostať rovnaká. Zmeňte overlay adresu a cesta opätovného načítania ju nedokáže uplatniť, pretože adresa je súčasťou toho, na čo sa bežiaca inštancia už zaviazala.
Takže správanie, ktoré ste videli, je dokumentované obmedzenie, ktoré robí svoju prácu, nie tiché zlyhanie. Súbor na disku je nový; identita v pamäti je stará; proces nemá podporovaný spôsob, ako tento rozdiel zosúladiť bez reštartu.
Adresa, meno a skupiny sú jedna identita
Pomáha myslieť na certifikát ako na jeden záznam, nie ako na sadu polí, ktoré možno upravovať nezávisle. Presun adresy nie je ako zmena predvoľby, pretože adresa sa objavuje v konfiguráciách partnerov na iných hostiteľoch, vo väzbách služieb a v politikách písaných proti identite.
| Field | What changes when you replace it |
|---|---|
| Overlay address | Peers that pinned the old address, service bindings, and any rule written against it |
| Host name | Name-based policy and the identities other hosts expect to see |
| Groups | Which access rules match, even if the address stays identical |
| Validity window | Nothing structural, which is why renewal reloads cleanly |
Skupiny si zaslúžia vlastný riadok, pretože spôsobujú tichšiu verziu toho istého zmätku. Hostiteľ, ktorý si ponechá adresu, ale zmení skupiny, môže po reštarte dosiahnuť iné služby, a test, ktorý iba pinguje starú adresu, bude vyzerať úplne zdravo, zatiaľ čo rozhodnutia o prístupe sa pod ním zmenili. Overte jednu službu viazanú pravidlom, nielen dostupnosť. To je rozdiel medzi potvrdením tunela a potvrdením politiky.
Porovnajte načítaný certifikát s náhradou
Predtým, než predpokladáte, že démon súbor ignoroval, prečítajte oba. Vypíšte certifikát, ktorý chcete načítať, a potvrďte polia, ktoré ste podľa vás zmenili, potom potvrďte, že bežiaca konfigurácia ukazuje na túto cestu, a nie na kópiu inde.
nebula-cert print -path /etc/nebula/host.crt
systemctl status nebula
ps -o args= -p $(pgrep -f 'nebula -config' | head -1)Argumenty procesu sú dôležitejšie, než ľudia čakajú. Unit, ktorý odovzdáva -config /etc/nebula/config.yml, číta položku pki.cert toho súboru, a certifikát nainštalovaný v dočasnom adresári nič neovplyvní. Skontrolujte cestu v bežiacom príkazovom riadku, nie cestu v dokumentácii, ktorú ste nasledovali. Ak sa obe líšia, našli ste problém bez toho, aby ste sa certifikátu vôbec dotkli.
Ak má nový certifikát inú adresu a proces si ponechal starú, máte teraz vysvetlenie namiesto záhady. Reštartujte ho, ak je to prijateľné, a berte zmenu adresy ako plánovanú zmenu siete, nie náhodnú.
Zmena adresy je zmena siete
Naplánujte to tak, ako by ste plánovali presun stroja. Iní hostitelia mohli starú adresu pripnúť vo svojej konfigurácii, služby sa na ňu môžu výslovne viazať a pravidlá firewallu proti nej môžu byť napísané. Zmena certifikátu presúva hostiteľa a presun hostiteľa zneplatňuje predpoklady inde.
Majte pri tom k dispozícii druhú cestu správy, pretože overlay spojenie môže byť práve to, ktoré prerušujete. Robiť to cez tunel, ktorý sa chystáte zlomiť, je klasický spôsob, ako z päťminútovej zmeny urobiť návštevu na mieste.
Či je reštart prijateľný, závisí od toho, čo hostiteľ robí, a to je otázka plánovania, nie technická. Čo nie je voliteľné, je uznať požiadavku na reštart namiesto posielania opätovného načítania po piaty raz.
Odstráňte staré prihlasovacie údaje samostatne
Inštalácia náhrady na jednom stroji necháva každého partnera stále dôverovať údajom, ktoré už pozná. Ak dôvodom zmeny bolo kompromitovanie, stará identita musí byť odvolaná postupom dôvery alebo blocklistu, aby ju partneri skutočne odmietli.
Je to samostatný krok s vlastným overením: potvrďte z iného hostiteľa, že stará identita už nefunguje, namiesto toho, aby ste predpokladali, že nový súbor urobil svoju prácu. Dokumentácia konfigurácie PKI v Nebule pokrýva nastavenia, ktoré možno znovu načítať, aj tu opísané obmedzenie adresy, a vyplatí sa ju prečítať celú, než začnete rotovať čokoľvek v produkcii.