Nenadzorovane posodobitve so razumna politika za strežnik, do katerega dostopate prek njegovega lastnega VPN, hkrati pa so ena sama točka samo povzročene odpovedi. Operacija paketa znova zažene storitev, tunel pade in administrativna pot, ki ste jo uporabljali, izgine z njim. Obstajata dva modela obnovitve, izbira med njima pa je odvisna od enega pogoja: ali imate vhodno pot, ki ne gre skozi to, kar se posodablja.

Dva modela obnovitve, en odločilni pogoj

Prvi model zaupa posodobitvi in predpostavlja, da se boste pozneje lahko znova povezali. Deluje, ko je VPN eden od več načinov doseganja gostitelja in ko odpoved tunela ne odvzame vaše zmožnosti diagnosticiranja. Drugi model vnaprej postavi neodvisno pot, običajno konzolo ponudnika gostovanja, in tunel obravnava kot tisto, kar bo vzdrževanje najverjetneje zlomilo. Oba modela sta zagovorljiva in le eden od njiju zahteva delo vnaprej.

Odločilni pogoj je lahko izgovoriti in lahko preskočiti. Če vsaka administrativna pot do stroja poteka skozi posodobljeno storitev, nimate nobenega modela obnovitve, le pričakovanje. Povejte to na glas na pregledu spremembe.

Preizkušanje tega pogoja traja deset minut in se mora zgoditi pred prvo nenadzorovano posodobitvijo, ne med incidentom. Odprite konzolo, medtem ko vse deluje, potrdite, da so poverilnice veljavne, in jo znova zaprite. Potrdite, da se konzola odpre na gostitelju, ki ga mislite. Nato potrdite, da prijava, ki bi jo res uporabili ob 3 zjutraj, še vedno deluje.

Zadnji del je pomembnejši, kot se sliši. Konzolni račun, katerega geslo je bilo zamenjano pred šestimi meseci in nikoli preverjeno, ni pot obnovitve; to je dokument, ki tako pot opisuje.

Česa varnostna kopija ne obnovi

Arhiv konfiguracije je zapis datotek, posodobitev pa spremeni več kot datoteke. Stanje paketov, moduli jedra, omogočene povezave enot in pravila požarnega zidu, uporabljena z ločenim orodjem, živijo zunaj konfiguracijske mape, obnovitev, ki jih ignorira, pa ustvari stroj, ki je videti konfiguriran in ne posreduje.

What changedRestored by a configuration backupNeeds its own action
Service unit or startup orderingPartly, if the unit file was includedPackage state and enabled links
Kernel module or interface supportNoKernel or module rollback, or a boot-time decision
Peer or device authorizationOnly if the backup predates the revocationA deliberate decision about which peers return
Firewall rules applied outside the configOnly if they were capturedReplaying and verifying each rule

Avtorizacija si zasluži svojo vrstico. Kopija, narejena pred odstranitvijo ogrožene naprave, bo z veseljem obnovila dostop te naprave. Vrnitev nanjo med izpadom je način, kako en incident postane dva, in odločitev o obnovitvi bi bilo treba sprejeti glede vrstnikov enako izrecno kot glede datotek.

Tudi mehanizem razveljavitve je pomemben. Kopiranje starejše izvršljive datoteke čez tisto, ki jo upravlja paket, ni podprta razveljavitev spremembe paketa in pusti zbirko paketov opisovati stanje, ki se z datotečnim sistemom ne ujema. Uporabite lastno pot za znižanje različice upravitelja paketov ali posnetek, ki ga ponuja ponudnik. Znižanje različice, ki ga zabeleži zbirka paketov, je tisto, ki ga lahko ponovite.

Nič od tega ne govori proti varnostnim kopijam. Govori za to, da veste, kateri sloj pokriva vsak artefakt, ker je način odpovedi delne obnovitve bolj zmedljiv od prvotnega izpada. Zapišite sloj poleg vsake kopije v runbook.

Kontrolna točka, posodobitev, nato preverjanje od zunaj

Zabeležite stanje pred spremembo v obliki, ki jo boste lahko pozneje primerjali: nameščene različice, vključene storitvene enote, poslušajoče vtičnice in trenutni seznam vrstnikov. Štirje ukazi pokrijejo večino tega na gostitelju Linux.

systemctl list-units --type=service | grep -E 'openvpn|wg-quick'
ss -lunp | grep -E ':51820|:1194'
journalctl -u wg-quick@wg0 --since '-10 min'

Prvi pokaže, katere enote obstajajo in ali delujejo, drugi potrdi, da je poslušalec res vezan, tretji pa vam da lastno poročilo storitve o zadnjih minutah. Noben od njih ne dokazuje, da se odjemalec lahko poveže, zato se naslednji korak zgodi zunaj gostitelja. Te meritve obdržite kot svojo osnovo za primerjavo.

Preverite iz omrežja, ki ne uporablja tunela: overite enega pooblaščenega odjemalca, razrešite ime in dosezite eno predvideno aplikacijo. Lokalna statusna vrstica, da je vmesnik gor, je trditev o vmesniku, ne o usmerjanju, ključih ali politiki, ki vrstnika sprejme.

Nato namerno preizkusite pot ponovne povezave. Enkrat znova zaženite storitev in potrdite, da se tunel vrne brez ročnega posega, ker je storitev, ki se pravilno zažene le ob zagonu, storitev, ki vas bo presenetila v najslabšem trenutku.

Ko to ne uspe, uporabite preizkušeno pot

Zaporedje obnovitve ni bleščeče in deluje: dosezite gostitelja po neodvisni poti, preberite lastne dnevnike storitve in obnovite določeno kontrolno točko, ki ustreza odpovedi. Spremenite eno stvar na poskus, da bo naslednje branje dnevnika kaj pomenilo.

Uprite se želji, da bi za vrnitev povezljivosti naredili več nezapisanih sprememb. Stroja, popravljenega s petimi hkratnimi urejanji, pozneje ni mogoče razložiti, in naslednja posodobitev bo znova vnesla tisto, ki je v resnici nosila obremenitev.

Nato odločite trajno politiko z dokazi. Če je posodobitev razkrila odvisnost, ki je nihče ni dokumentiral, je popravek dokumentacija in preizkus, ne izklop posodobitev. Če je razkrila storitev, ki se ne more čisto znova zagnati, je popravek v enoti, ne v urniku.

Primerjava se čisto razreši, ko je pogoj poimenovan. Neodvisna pot naredi nenadzorovane posodobitve obvladljivo tveganje. Njena odsotnost naredi isto politiko načrtovan izpad z neznanim časom obnovitve, in nobena količina avtomatizacije te aritmetike ne spremeni.

Sorodni članki