Statisk nøkkel eller TLS for eit OpenVPN-samband mellom to partar?
Den statiske nøkkelmodusen til OpenVPN kan ikkje rotere trafikknøklane sine. Viss to partar treng automatisk fornying, gå over til TLS-modus og lat punkt-til-punkt-oppsettet vere uendra.
To maskinar som berre snakkar med kvarandre, kan halde på den topologien og likevel få forhandla trafikknøklar. Nettverksforma og vernemodusen er uavhengige val, og det er samanblandinga av dei som får folk til å prøve å rotere ein statisk løyndom ved å bytte ut ei fil medan begge daemonane framleis køyrer. Å bytte nøkkelfila under eit køyrande par roterer ingenting. Den statiske nøkkelmodusen, som OpenVPN 2.6 merkar som utdatert, held éin nøkkel gjennom heile levetida til tunnelen, så fila på disken og nøkkelen i minnet stemmer først igjen etter at begge endar er starta på nytt. Viss automatisk fornying er kravet, må vernemodusen endrast.
Kva den statiske nøkkelmodusen ikkje kan
I hemmeleg modus deler begge partar ein førehandsdelt nøkkel som krypterer og autentiserer tunnelen direkte. Det finst inga handtrykk, så det finst ingen mekanisme for noka side til å føreslå nytt nøkkelmateriale, prove ein identitet eller kome seg etter eit avvik utan inngrep frå operatøren. Begge eigenskapane kjem av at det manglar ein kontrollkanal og ikkje av eit manglande alternativ, og ingen konfigurasjonsflagg legg til ein i denne modusen.
OpenVPN 2.6-handboka seier uttrykkeleg at nøkkelen varer til ein ny blir generert. Det er akseptabelt for ein laboratorieforbindelse eller eit fast par einingar med dokumentert rotasjonsprosedyre, og uakseptabelt der ein langvarig løyndom er ein reell risiko. Eit filbytte lagar ikkje ein ny nøkkel for eit køyrande par; det lagar to partar som er usamde. Å erstatte fila legg derfor til eit avbrot utan å leggje til rotasjon.
Det finst heller ikkje noko omgrep om identiteten til parten utover å eige fila. Den som har nøkkelen, er ein part, og ingenting i tunnelen registrerer kva side som er kva, så tilbakekalling er alt eller ingenting.
Gå over til TLS utan å redesigne sambandet
TLS-modusen legg til ein kontrollkanal, og med han evna til å forhandle nøklar for datakanalen. I ein punkt-til-punkt-utplassering tek den eine sida serverrolla og den andre klientrolla, men topologien blir verande eit samband mellom to partar: kvar side kjenner endepunktet til den andre, og det dukkar ikkje opp nokon pool eller fleirbrukarteneste. Rollene er ein detalj i handtrykket, ikkje ein ny arkitektur.
Gi kvar maskin sin eigen identitet. Kvar side treng eit sertifikat og ein privat nøkkel, tillitsankeret som validerer den andre, og ein partverifiseringsregel som nemner kven som er venta. Ikkje bruk den private nøkkelen til den eine parten på den andre for å spare tid; det gjer to identitetar til éin og fjernar moglegheita til å tilbakekalle kvar side separat. Registreringa er staden for å gjere dette rett, fordi retting seinare tyder å gje ut sertifikat på nytt.
Hald nettverkskontrakten uendra medan vernet endrar seg. Dei same tunneladressene, rutene og tillatne tenestene bør gjelde før og etter, slik at ein feil under migreringa er eit verneproblem og ikkje ei forkledd rutingsovertyding. Skriv ned adressene og rutene før endringa; å samanlikne dei etterpå er raskare enn å byggje dei opp att frå minnet.
Nokre utplasseringar vernar også kontrollkanalen med sin eigen statiske nøkkel, som ikkje roterer saman med datakanalen. Den nøkkelen vaktar handtrykket og ikkje nyttelasta, så ein kompromittering av han avdekkjer forhandlinga og ikkje trafikken. Oppbevar han skild frå materialet til datakanalen, og gi han ein utskiftingsdato som ein namngjeven person eig. Å rotere han tyder å starte begge partane på nytt i eit koordinert vindauge, og derfor fortener han ein kalenderoppføring og ikkje ei minning.
Kven fornyar kva, og når
I TLS-modus blir fornyinga styrt av konfigurerte grenser: eit tidsintervall, eit byttal eller eit pakketal. Den dokumenterte tidskontrollen er det dei fleste utplasseringar stolar på, og den lågare effektive verdien på tvers av dei to partane kan starte utskiftinga, så å auke han berre på éi side held ikkje hendinga tilbake. Volumbaserte grenser finst fordi eit travelt samband kan tøme ein nøkkel lenge før klokka gjer det. Ingen av grensene er ein helsesjekk, og ingen av dei fortel deg at ei fornying lukkast.
Derfor er det misvisande å diagnostisere ei tilbakevendande reforhandling frå éi einskild konfigurasjonsfil. Les innstillingane på begge partane, og sjå deretter på overgangen i loggen i staden for å anta ein feil. Ei fornying som blir fullført reint, ser ut som ein kort utblåsing av kontrollkanaltrafikk, ikkje som ein fråkopling.
Hald objekta skilde i hovudet. Sertifikatet provar langsiktig identitet og blir skifta ut etter ein plan du styrer. Datakanalnøkkelen blir oppdatert automatisk, og ei separat autentiseringsutveksling, viss utplasseringa krev ei, følgjer kontopolitikken og kan trenge eigne ordningar for seinare utvekslingar.
Å slå av fornying heilt ved å setje intervallet til null er ikkje ei løysing på ein støyande logg. Det gjer ei sunn livssyklushandting om til ein permanent nøkkel, noko som bringar deg tilbake til eigenskapen du prøvde å forlate.
Å godta endringa
Bygg den nye konfigurasjonen frå det støtta dømet i den installerte utgåva, ikkje frå ein gamal minimal bit der algoritmane og filbanane er arva frå ein annan stad. Koordiner bytet slik at begge partane endrar seg saman, og hald ein godkjend attopprettingsveg i tilfelle den eine sida ikkje startar. Ta sambandet ned med vilje i staden for å vente på eit avbrot for å teste tilbakerullinga. Ei tilbakerulling du har øvd på, er meir verd enn ei du har skildra.
Test tre ting: den innleiande identitetsverifiseringa lukkast, den tiltenkte applikasjonsflyten verkar, og ei kontrollert fornying skjer utan å miste trafikk. Les deretter overgangen i loggen for kva han faktisk provar: ein ny nøkkelidentifikator tyder at partane fullførte ei utskifting, ikkje at tunnelen vart kopla til på nytt. Handsaming det som prov for eitt steg, og kontroller trafikkteljarane før du erklærer migreringa fullført.
Det ein lovnad om null avbrot ville skjule, er feilen du enno ikkje har sett. Ei fornying som feilar, eit sertifikat som går ut eller ein stifeil kan framleis forstyrre sambandet, og ingen av dei blir utelukka av ein rein testkøyring. Eigenskapen det er verd å designe for, er smalare og meir nyttig: rutinemessig nøkkelutskifting sluttar å vere ein manuell filutskifting.