Neuzraudzīti atjauninājumi ir saprātīga politika serverim, kuru jūs sasniedzat pa tā paša VPN, un vienlaikus tie ir viens vienīgs pašradīts atteices punkts. Pakotnes operācija restartē pakalpojumu, tunelis nokrīt, un administratīvais ceļš, ko izmantojāt, pazūd kopā ar to. Pastāv divi atkopšanas modeļi, un izvēle starp tiem ir atkarīga no viena nosacījuma: vai jums ir piekļuves ceļš, kas neiet caur to, kas tiek atjaunināts.

Divi atkopšanas modeļi, viens izšķirošs nosacījums

Pirmais modelis uzticas atjauninājumam un pieņem, ka pēc tam varēsiet atkārtoti pievienoties. Tas darbojas, ja VPN ir viens no vairākiem veidiem, kā sasniegt saimnieku, un ja tuneļa atteice neatņem jums iespēju to diagnosticēt. Otrais modelis iepriekš izvieto neatkarīgu ceļu, parasti mitināšanas pakalpojumu sniedzēja konsoli, un uzlūko tuneli kā to, ko apkope visticamāk salauzīs. Abi modeļi ir aizstāvami, un tikai vienam no tiem vajadzīgs iepriekšējs darbs.

Izšķirošo nosacījumu ir viegli pateikt un viegli izlaist. Ja katrs administratīvais ceļš uz mašīnu iet caur atjaunināmo pakalpojumu, jums vispār nav atkopšanas modeļa, tikai gaidīšana. Sakiet to skaļi izmaiņu pārskatā.

Šī nosacījuma pārbaude aizņem desmit minūtes, un tai jānotiek pirms pirmā neuzraudzītā atjauninājuma, nevis incidenta laikā. Atveriet konsoli, kamēr viss darbojas, apstipriniet, ka akreditācijas dati ir derīgi, un aizveriet to atkal. Apstipriniet, ka konsolē atveras saimnieks, kuru jūs domājat. Pēc tam apstipriniet, ka pieteikšanās, ko jūs tiešām izmantotu pulksten 3 naktī, joprojām darbojas.

Pēdējā daļa ir svarīgāka, nekā izklausās. Konsoles konts, kura parole tika nomainīta pirms sešiem mēnešiem un nekad netika pārbaudīta, nav atkopšanas ceļš; tas ir dokuments, kas apraksta šādu ceļu.

Ko rezerves kopija neatjauno

Konfigurācijas arhīvs ir failu uzskaite, un atjauninājums maina vairāk nekā failus. Pakotnes stāvoklis, kodola moduļi, iespējotās vienību saites un ar atsevišķu rīku piemērotie ugunsmūra noteikumi dzīvo ārpus konfigurācijas mapes, un atjaunošana, kas tos ignorē, rada mašīnu, kas izskatās konfigurēta un nepārsūta.

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

Autorizācija ir pelnījusi savu rindu. Kopija, kas uzņemta pirms kompromitētas ierīces noņemšanas, labprāt atjaunos šīs ierīces piekļuvi. Atgriešanās pie tās pārtraukuma laikā ir veids, kā viens incidents kļūst par diviem, un lēmums par atjaunošanu būtu jāpieņem par partneriem tikpat skaidri, cik par failiem.

Arī atritināšanas mehānisms ir svarīgs. Vecākas izpildāmās programmas kopēšana pāri pakotnes pārvaldītai nav atbalstītā pakotnes izmaiņu atcelšana, un tā atstāj pakotņu datubāzi aprakstām stāvokli, kam failu sistēma neatbilst. Izmantojiet pašas pakotņu pārvaldnieka versijas pazemināšanas ceļu vai momentuzņēmumu, ko piedāvā pakalpojumu sniedzējs. Versijas pazeminājums, ko ieraksta pakotņu datubāze, ir tas, ko varat atkārtot.

Nekas no tā nav pret rezerves kopijām. Tas ir par to, lai zinātu, kuru slāni sedz katrs artefakts, jo daļējas atjaunošanas atteices veids ir mulsinošāks par sākotnējo pārtraukumu. Rakstiet slāni blakus katrai kopijai runbook failā.

Kontroles punkts, atjauninājums, pēc tam pārbaude no ārpuses

Fiksējiet stāvokli pirms izmaiņām tādā formā, ko vēlāk varēsiet salīdzināt: instalētās versijas, iesaistītās pakalpojumu vienības, klausošās ligzdas un pašreizējais partneru saraksts. Četras komandas Linux saimniekā aptver lielāko daļu no tā.

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

Pirmā parāda, kuras vienības pastāv un vai tās darbojas, otrā apstiprina, ka klausītājs patiešām ir piesaistīts, un trešā sniedz paša pakalpojuma stāstījumu par pēdējām minūtēm. Neviena no tām nepierāda, ka klients var pievienoties, tāpēc nākamais solis notiek ārpus saimnieka. Saglabājiet šos rādījumus kā savu salīdzināšanas bāzi.

Pārbaudiet no tīkla, kas neizmanto tuneli: autentificējiet vienu atļautu klientu, atrisiniet vārdu un sasniedziet vienu paredzētu lietotni. Vietējā statusa rinda, kas saka, ka saskarne ir augšā, ir apgalvojums par saskarni, nevis par maršrutēšanu, atslēgām vai politiku, kas pieņem partneri.

Pēc tam apzināti pārbaudiet atkārtotas pievienošanās ceļu. Vienreiz restartējiet pakalpojumu un apstipriniet, ka tunelis atgriežas bez manuālas iejaukšanās, jo pakalpojums, kas pareizi startē tikai palaišanas laikā, ir pakalpojums, kas jūs pārsteigs vissliktākajā brīdī.

Kad tas neizdodas, izmantojiet pārbaudīto ceļu

Atkopšanas secība nav krāšņa un tā darbojas: sasniedziet saimnieku pa neatkarīgo ceļu, izlasiet paša pakalpojuma žurnālus un atjaunojiet konkrēto kontroles punktu, kas atbilst atteicei. Mainiet vienu lietu katrā mēģinājumā, lai nākamā žurnāla lasīšana kaut ko nozīmētu.

Pretojieties vēlmei veikt vairākas nefiksētas izmaiņas, lai atgūtu savienojamību. Mašīnu, kas salabota ar piecām vienlaicīgām izmaiņām, vēlāk nevar izskaidrot, un nākamais atjauninājums atkal ieviesīs to, kas patiešām nesa slodzi.

Pēc tam izlemiet pastāvīgo politiku ar pierādījumiem. Ja atjauninājums atklāja atkarību, ko neviens nebija dokumentējis, labojums ir dokumentācija un tests, nevis atjauninājumu izslēgšana. Ja tas atklāja pakalpojumu, ko nevar tīri restartēt, labojums ir vienībā, nevis grafikā.

Salīdzinājums atrisinās tīri, tiklīdz nosacījums ir nosaukts. Neatkarīgs ceļš padara neuzraudzītus atjauninājumus par pārvaldāmu risku. Tā trūkums padara to pašu politiku par plānotu pārtraukumu ar nezināmu atkopšanas laiku, un neviens automatizācijas apjoms šo aritmētiku nemaina.

Saistītie raksti