Planlegg eit vedlikehaldsvindauge for OpenVPN utan å miste verten
Stopp tunnelen, mist økta. Ta vare på den køyrande eininga, bygg eit gjenopprettingssett, øv på ein pilotlyttar, og køyr deretter over frå utsida av VPN.
Å starte VPN-tenesta på nytt avsluttar kvar økt som brukar henne, så vindauget må byggjast rundt samtalar og ikkje rundt pakkehandsamaren. Brukarane treng nok varsel til å fullføre sensitivt arbeid, og du treng ein veg tilbake som ikkje er avhengig av tunnelen du er i ferd med å stoppe. Alt anna i handboka finst for å gjere desse to fakta handterlege. Utelat éin av dei, og ei rutineoppdatering blir eit avbrot utan utgang.
Rekkjefølgja nedanfor er medvite vald: kvart trinn produserer noko neste trinn treng, og eit kva som helst trinn kan avslutte endringa før ho byrjar.
Ta vare på tenesta som finst før du endrar henne
Les den installerte eininga i staden for den du trur du skreiv: systemctl cat [email protected] skriv ut eininga og eventuelle drop-ins, og systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory viser kva som faktisk køyrer og som kven. Spør binærfilen som eininga nemner, fordi openvpn --version frå eit skal kan peike på eit anna bygg. Noter profilbanen og kvar fil han viser til.
Noter også lyttande socketar: ss -lunp | grep 1194 fortel kva adresse og protokoll daemonen eig i dag. Viss svaret ikkje er det profilen antydar, overstyrer ein drop-in eller ei miljøfil det, og oppgraderinga vil arve den overraskinga.
Set saman eit gjenopprettingssett som andre kan bruke
Gjenopprettingssettet må kunne brukast av ein kollega klokka 03:00 utan konteksten din. Ta med den effektive konfigurasjonen med kvar fil det er vist til, tillits- og tilbakekallingsmaterialet under kontroll av PKI-eigaren, tildelingane og krokane per klient, og dei nøyaktige pakkeversjonane som er installerte i dag. Ein kopi av eitt filnamn er ikkje ein konfigurasjon. Lagre det på ein stad der vaktoperatøren kan nå det utan VPN.
Tilgangskontrollar gjeld også for det settet, fordi det inneheld private nøklar eller backend-legitimasjon. Ikkje bygg CA-en på nytt eller utsted identitetar på nytt berre fordi ein pakkeversjon endra seg.
Øv på ein pilotlyttar med ein ekte klient
Køyr kandidatutgivinga på ein separat lyttar med sin eigen port- og adresseplan, ikkje ved sida av produksjonsinstansen på same socket. Kopla til med klientmotorane brukarane dine faktisk køyrer, inkludert den vanskelege. Kontroller adressetildeling, pusht DNS, éin applikasjon som betyr noko, og éin rute som skal halde fram med å vere blokkert. Eigendefinerte krokar må køyre i den reelle privilegie- og filsystemkonteksten til tenesta, sidan eit root-skal ikkje beviser noko om dei.
Les utgivingsnotata for åtferdsendringar, ikkje berre for nye funksjonar. Cipher- og TLS-standardar flyttar seg mellom versjonar, og ein profil som framleis parskar kan framleis feile i ein handshake. Viss oppgraderinga krev profil- eller sertifikatendringar, legg det som eige steg i staden for å pakke det inn i pakkeoppdateringa.
Køyr over éin gong, frå ein veg utanfor tunnelen
Start vindauget frå ein konsoll eller eit administrasjonsnett som ikkje går gjennom tenesta. Stadfest at brukarane er varsla og at ein annan operatør veit korleis ein rullar tilbake. Bruk den førebudde endringa gjennom eigaren, og start deretter på nytt med sudo systemctl restart [email protected] og følg journalen med journalctl -u openvpn-server@office -b -f. Ein reload er nok når berre einingdefinisjonar er endra; ein endra profil krev at prosessen blir starta på nytt.
Rekn med at kvar klient koplar til på nytt, og at nokre applikasjonsøkter ikkje blir gjenopptekne. Koordiner ein rein pause med arbeidslastane som ikkje toler det.
Godta eller rull tilbake, og fortel brukarane kva som endra seg
Godtaking er ein fersk innlogging pluss ein reell operasjon pluss restriksjonane som framleis gjeld. Ei aktiv eining og ei grøn statuslinje er prosessfakta. Viss kriteria feilar innanfor vindauget, rull tilbake med den førebudde metoden, ikkje ved å gjenopprette ei enkelt fil og håpe; ein endra binærfil eller tenestepolicy overlever ein konfigurasjonsgjenoppretting. Ta vare på kvar tilbakekalling eller autorisasjonsendring som vart gjord i vindauget, slik at tilbakerullinga ikkje angrar tryggingsarbeidet.
Noter versjonane, profilendringane og godtakingsresultata for neste operatør, pensjoner pilotlyttaren, og fortel brukarane kva profil dei skal bruke no. Eit vindauge som sluttar utan den notata, blir teke opp att ved neste oppdatering.