Statika ŝlosilo aŭ TLS por OpenVPN-ligo inter du samtavoloj?
La statika ŝlosila reĝimo de OpenVPN ne povas rotacii siajn trafikajn ŝlosilojn. Se du samtavoloj bezonas aŭtomatan renovigon, transiru al la TLS-reĝimo kaj lasu la punkt-al-punktan aranĝon netuŝita.
Du maŝinoj, kiuj parolas nur unu kun la alia, povas konservi tiun topologion kaj tamen ricevi intertraktitajn trafikajn ŝlosilojn. La reta formo kaj la protekta reĝimo estas sendependaj elektoj, kaj ĝuste ilia konfuzado igas homojn provi rotacii statikan sekreton per anstataŭigo de dosiero dum ambaŭ demonoj daŭre funkcias. Anstataŭigi la ŝlosilan dosieron sub funkcianta paro rotacias nenion. La statika ŝlosila reĝimo, kiun OpenVPN 2.6 markas kiel malnoviĝintan, tenas unu ŝlosilon dum la tuta vivo de la tunelo, do la dosiero sur la disko kaj la ŝlosilo en la memoro denove kongruas nur post kiam ambaŭ finoj restartas. Se aŭtomata renovigo estas la postulo, la protekta reĝimo devas ŝanĝiĝi.
Kion la statika ŝlosila reĝimo ne povas fari
En sekreta reĝimo, ambaŭ samtavoloj kunhavas antaŭe kunhavitan ŝlosilon, kiu rekte ĉifras kaj aŭtentigas la tunelon. Ne ekzistas manpremo, do ne ekzistas mekanismo por iu ajn flanko proponi novan ŝlosilan materialon, pruvi identecon aŭ resaniĝi de malkongruo sen interveno de la operatoro. Ambaŭ ecoj devenas de la manko de regkanalo, ne de mankanta opcio, kaj neniu agordo-flago aldonas unu al ĉi tiu reĝimo.
La manlibro de OpenVPN 2.6 klare diras, ke la ŝlosilo restas ĝis nova estas generita. Tio estas akceptebla por laboratoria ligo aŭ fiksa paro de aparatoj kun dokumentita rotacia proceduro, kaj ĝi estas neakceptebla kie ajn longdaŭra sekreto estas reala risko. Dosiera anstataŭigo ne kreas novan ŝlosilon por funkcianta paro; ĝi kreas du samtavolojn, kiuj malkongruas. Anstataŭigi la dosieron tial aldonas interrompon sen aldoni rotacion.
Ankaŭ ne ekzistas nocio de samtavola identeco preter posedo de la dosiero. Ĉiu, kiu tenas la ŝlosilon, estas samtavolo, kaj nenio en la tunelo registras, kiu flanko estas kiu, do revoko estas ĉio aŭ nenio.
Transiro al TLS sen redesigni la ligon
La TLS-reĝimo aldonas regkanalon, kaj kun ĝi la kapablon intertrakti ŝlosilojn de la datena kanalo. En punkt-al-punkta deplojo, unu flanko prenas la rolon de servilo kaj la alia la rolon de kliento, sed la topologio restas ligo inter du samtavoloj: ĉiu flanko konas la finpunkton de la alia, kaj neniu baseno aŭ pluruzanta servo aperas. La roloj estas manprema detalo, ne nova arkitekturo.
Donu al ĉiu maŝino sian propran identecon. Ĉiu flanko bezonas atestilon kaj privatan ŝlosilon, la fidan ankron, kiu validigas la alian, kaj regulon pri samtavola kontrolo, kiu nomas, kiu estas atendata. Ne reuzu la privatan ŝlosilon de unu samtavolo ĉe la alia por ŝpari tempon; tio igas du identecojn unu kaj forigas la kapablon revoki ĉiun flankon aparte. Aliĝo estas la loko por fari tion ĝuste, ĉar ripari ĝin poste signifas reeldoni atestilojn.
Tenu la retan kontrakton senŝanĝa dum la protekto ŝanĝiĝas. La samaj tunelaj adresoj, itineroj kaj permesitaj servoj devus validi antaŭe kaj poste, por ke fiasko dum la migrado estu protekta problemo, ne kamuflita surprizo de itinera elekto. Skribu la adresojn kaj itinerojn antaŭ la ŝanĝo; kompari ilin poste estas pli rapide ol rekonstrui ilin el memoro.
Iuj deplojoj ankaŭ protektas la regkanalon per sia propra statika ŝlosilo, kiu ne rotacias kun la datena kanalo. Tiu ŝlosilo gardas la manpremon, ne la utilan ŝarĝon, do ĝia kompromito malkaŝas intertraktadon, ne trafikon. Konservu ĝin aparte de la materialo de la datena kanalo, kaj donu al ĝi anstataŭigan daton, kiun posedas nomita persono. Rotacii ĝin signifas restartigi ambaŭ samtavolojn en kunordigita fenestro, tial ĝi meritas kalendaran rikordon, ne memoron.
Kiu renovigas kion, kaj kiam
En la TLS-reĝimo, renovigon gvidas agorditaj limoj: tempa intervalo, bajta nombro aŭ paketa nombro. La dokumentita tempa kontrolo estas tio, sur kio plej multaj deplojoj fidas, kaj la pli malalta efika valoro ĉe ambaŭ samtavoloj povas komenci la anstataŭigon, do plialtigi ĝin nur ĉe unu flanko ne retenos la eventon. Limoj bazitaj sur volumeno ekzistas ĉar okupata ligo povas elĉerpi ŝlosilon longe antaŭ ol la horloĝo faros tion. Neniu el la limoj estas sanokontrolo, kaj neniu diras al vi, ke renovigo sukcesis.
Tial diagnozi ripetiĝantan reintertraktadon el unu sola agorda dosiero estas misgvida. Legu la agordojn ĉe ambaŭ samtavoloj, poste rigardu la transiron en la protokolo anstataŭ supozi difekton. Renovigo, kiu finiĝas pure, aspektas kiel mallonga eksplodo de regkanala trafiko, ne kiel malkonekto.
Tenu la objektojn aparte en via kapo. La atestilo pruvas longdaŭran identecon kaj estas anstataŭigata laŭ horaro, kiun vi kontrolas. La ŝlosilo de la datena kanalo estas refreŝigata aŭtomate, kaj aparta aŭtentiga interŝanĝo, se la deplojo postulas unu, sekvas la kontan politikon kaj eble bezonos proprajn aranĝojn por postaj interŝanĝoj.
Malŝalti renovigon tute, per agordo de la intervalo al nulo, ne estas solvo por brua protokolo. Ĝi transformas sanan vivciklan eventon en permanentan ŝlosilon, kio revenigas vin al la eco, kiun vi provis lasi malantaŭe.
Akcepto de la ŝanĝo
Konstruu la novan agordon el la subtenata ekzemplo de la instalita eldono, ne el malnova minimuma fragmento, kies algoritmoj kaj dosieraj vojoj estis hereditaj de aliloke. Kunordigu la ŝanĝon tiel, ke ambaŭ samtavoloj ŝanĝiĝu kune, kaj tenu aprobitan restaŭran vojon se unu flanko malsukcesas ekfunkcii. Mallevu la ligon intence anstataŭ atendi interrompon por testi la restarigon. Restarigo, kiun vi ekzercis, valoras pli ol restarigo, kiun vi priskribis.
Testu tri aferojn: la komenca identeca kontrolo sukcesas, la celita aplikaĵa fluo funkcias, kaj kontrolita renovigo okazas sen perdi trafikon. Poste legu la transiron en la protokolo por tio, kion ĝi efektive pruvas: nova ŝlosila identigilo signifas, ke la samtavoloj kompletigis anstataŭigon, ne ke la tunelo rekonektiĝis. Traktu ĝin kiel pruvon de unu paŝo, kaj kontrolu la trafikajn nombrilojn antaŭ ol nomi la migradon finita.
Kion promeso pri nula interrompo kaŝus estas la fiasko, kiun vi ankoraŭ ne vidis. Malsukcesa renovigo, eksvalidiĝanta atestilo aŭ voja difekto ankoraŭ povas perturbi la ligon, kaj neniu el ili estas ekskludita de pura testa kurso. La eco, por kiu indas dizajni, estas pli mallarĝa kaj pli utila: rutina ŝlosila anstataŭigo ĉesas esti permana dosiera anstataŭigo.