Planlegg et vedlikeholdsvindu for OpenVPN uten å miste verten
Stopp tunnelen, mist økten. Ta vare på den kjørende enheten, bygg et gjenopprettingssett, øv på en pilotlytter, og koble deretter over fra utsiden av VPN.
Å starte VPN-tjenesten på nytt avslutter hver økt som bruker den, så vinduet må bygges rundt samtaler og ikke rundt pakkebehandleren. Brukerne trenger nok varsel til å fullføre sensitivt arbeid, og du trenger en vei tilbake som ikke avhenger av tunnelen du er i ferd med å stoppe. Alt annet i håndboken finnes for å gjøre disse to fakta håndterbare. Utelat én av dem, og en rutineoppdatering blir et avbrudd uten utgang.
Rekkefølgen nedenfor er bevisst: hvert trinn produserer noe neste trinn trenger, og ethvert trinn kan avslutte endringen før den begynner.
Ta vare på tjenesten som finnes før du endrer den
Les den installerte enheten i stedet for den du tror du skrev: systemctl cat [email protected] skriver ut enheten og eventuelle drop-ins, og systemctl show [email protected] -p ExecStart -p User -p WorkingDirectory viser hva som faktisk kjører og som hvem. Spør binærfilen som enheten navngir, fordi openvpn --version fra et skall kan peke på en annen bygg. Noter profilbanen og hver fil den refererer til.
Noter også lyttende socketer: ss -lunp | grep 1194 forteller hvilken adresse og protokoll daemonen eier i dag. Hvis svaret ikke er det profilen antyder, overstyrer en drop-in eller en miljøfil det, og oppgraderingen vil arve den overraskelsen.
Sett sammen et gjenopprettingssett som andre kan bruke
Gjenopprettingssettet må kunne brukes av en kollega klokken 03:00 uten din kontekst. Ta med den effektive konfigurasjonen med hver refererte fil, tillits- og tilbakekallingsmaterialet under PKI-eierens kontroll, tildelingene og krokene per klient, og de nøyaktige pakkeversjonene som er installert i dag. En kopi av ett filnavn er ikke en konfigurasjon. Lagre det et sted vaktoperatøren kan nå uten VPN.
Tilgangskontroller gjelder også for det settet, fordi det inneholder private nøkler eller backend-legitimasjon. Ikke bygg CA-en på nytt eller utsted identiteter på nytt bare fordi en pakkeversjon endret seg.
Øv på en pilotlytter med en ekte klient
Kjør kandidatutgivelsen på en separat lytter med egen port- og adresseplan, ikke ved siden av produksjonsinstansen på samme socket. Koble til med klientmotorene brukerne dine faktisk kjører, inkludert den vanskelige. Kontroller adressetildeling, pushet DNS, én applikasjon som betyr noe, og én rute som skal forbli blokkert. Egendefinerte kroker må kjøre i tjenestens reelle privilegie- og filsystemkontekst, siden et root-skall ikke beviser noe om dem.
Les utgivelsesnotatene for atferdsendringer, ikke bare for nye funksjoner. Cipher- og TLS-standarder flytter seg mellom versjoner, og en profil som fortsatt parser kan fortsatt feile i en handshake. Hvis oppgraderingen krever profil- eller sertifikatendringer, legg det som eget trinn i stedet for å pakke det inn i pakkeoppdateringen.
Koble over én gang, fra en vei utenfor tunnelen
Start vinduet fra en konsoll eller et administrasjonsnett som ikke går gjennom tjenesten. Bekreft at brukerne er varslet og at en annen operatør vet hvordan man ruller tilbake. Bruk den forberedte endringen gjennom eieren, og start deretter på nytt med sudo systemctl restart [email protected] og følg journalen med journalctl -u openvpn-server@office -b -f. En reload er nok når bare enhetsdefinisjoner er endret; en endret profil krever at prosessen startes på nytt.
Forvent at hver klient kobler til på nytt, og forvent at noen applikasjonsøkter ikke gjenopptas. Koordiner en ren pause med arbeidsbelastningene som ikke tåler det.
Godta eller rull tilbake, og fortell brukerne hva som endret seg
Aksept er en fersk innlogging pluss en reell operasjon pluss restriksjonene som fortsatt gjelder. En aktiv enhet og en grønn statuslinje er prosessfakta. Hvis kriteriene feiler innenfor vinduet, rull tilbake med den forberedte metoden, ikke ved å gjenopprette en enkelt fil og håpe; en endret binærfil eller tjenestepolicy overlever en konfigurasjonsgjenoppretting. Bevar enhver tilbakekalling eller autorisasjonsendring som ble gjort i vinduet, slik at tilbakerullingen ikke angrer sikkerhetsarbeidet.
Noter versjonene, profilendringene og akseptresultatene for neste operatør, pensioner pilotlytteren, og fortell brukerne hvilken profil de skal bruke nå. Et vindu som slutter uten den noten, blir tatt opp igjen ved neste oppdatering.