Staatiline võti või TLS kahe peeri vahelisele OpenVPN-lingile?
OpenVPN-i staatilise võtme režiim ei suuda oma liiklusvõtmeid pöörata. Kui kaks peeri vajavad automaatset uuendamist, lülituge TLS-i režiimile ja jätke punkt-punkti paigutus muutmata.
Kaks masinat, mis räägivad ainult omavahel, saavad selle topoloogia säilitada ja siiski läbiräägitud liiklusvõtmed. Võrgu kuju ja kaitse režiim on sõltumatud valikud ning just nende segamine paneb inimesi proovima staatilist saladust pöörata faili vahetamise teel, samal ajal kui mõlemad deemonid edasi töötavad. Võtmefaili vahetamine töötava paari all ei pööra midagi. Staatilise võtme režiim, mille OpenVPN 2.6 märgib vananenuks, hoiab üht võtit kogu tunneli eluea jooksul, seega kettal olev fail ja mälus olev võti klapivad uuesti alles pärast mõlema otsa taaskäivitamist. Kui nõue on automaatne uuendamine, peab kaitse režiim muutuma.
Mida staatilise võtme režiim ei suuda
Salarežiimis jagavad mõlemad peerid eelnevalt jagatud võtit, mis krüpteerib ja autentib tunneli otse. Käepigistust ei ole, seega pole ühelgi poolel mehhanismi uue võtmemeetmise pakkumiseks, identiteedi tõestamiseks või lahknevusest taastumiseks ilma operaatori sekkumiseta. Mõlemad omadused tulenevad juhtkanali puudumisest, mitte puuduvast valikust, ja ükski konfiguratsioonilipp ei lisa seda sellesse režiimi.
OpenVPN 2.6 käsiraamat ütleb selgesõnaliselt, et võti püsib, kuni uus genereeritakse. See on vastuvõetav laborilingi või dokumenteeritud pööramisprotseduuriga fikseeritud seadmepaari jaoks ning vastuvõetamatu seal, kus pikaajaline saladus on tõeline risk. Faili vahetamine ei loo töötavale paarile uut võtit; see loob kaks peeri, mis ei nõustu. Faili asendamine lisab seega katkestuse, ilma et lisaks pööramist.
Samuti pole peeri identiteedi mõistet peale faili valdamise. Igaüks, kellel on võti, on peer, ja miski tunnelis ei registreeri, kumb pool on kumb, seega tühistamine on kõik või mitte midagi.
Üleminek TLS-ile ilma linki ümber kujundamata
TLS-i režiim lisab juhtkanali ja koos sellega võimaluse andmekanali võtmeid läbi rääkida. Punkt-punkti juurutuses võtab üks pool serveri rolli ja teine kliendi rolli, kuid topoloogia jääb kahe peeri lingiks: kumbki pool teab teise lõpp-punkti ja ühtegi basseini ega mitmekasutaja teenust ei ilmu. Rollid on käepigistuse detail, mitte uus arhitektuur.
Andke igale masinale oma identiteet. Kummagi poole jaoks on vaja sertifikaati ja privaatvõtit, usaldusankrut, mis valideerib teise, ning peeri kontrollimise reeglit, mis nimetab, keda oodatakse. Ärge kasutage aja säästmiseks ühe peeri privaatvõtit teise juures uuesti; see muudab kaks identiteeti üheks ja kaotab võimaluse kumbagi poolt eraldi tühistada. Registreerimine on koht, kus seda õigesti teha, sest hilisem parandamine tähendab sertifikaatide uuesti väljastamist.
Hoidke võrguleping muutumatuna, samal ajal kui kaitse muutub. Samad tunneliaadressid, marsruudid ja lubatud teenused peaksid kehtima enne ja pärast, nii et migratsiooni ajal ilmnev tõrge on kaitseprobleem, mitte maskeeritud marsruutimise üllatus. Kirjutage aadressid ja marsruudid enne muudatust üles; nende hilisem võrdlemine on kiirem kui mälust rekonstrueerimine.
Mõned juurutused kaitsevad ka juhtkanalit oma staatilise võtmega, mis ei pöördu koos andmekanaliga. See võti valvab käepigistust, mitte kasulikku koormust, seega selle kompromiteerimine paljastab läbirääkimise, mitte liikluse. Hoidke seda andmekanali materjalist eraldi ja andke sellele asenduskuupäev, mille omanik on nimetatud isik. Selle pööramine tähendab mõlema peeri taaskäivitamist koordineeritud aknas, mistõttu see väärib kalendrikannet, mitte mälestust.
Kes mida uuendab ja millal
TLS-i režiimis juhivad uuendamist konfigureeritud piirid: ajaintervall, baitide arv või pakettide arv. Dokumenteeritud ajakontroll on see, millele enamik juurutusest toetub, ja kahe peeri väiksem tegelik väärtus võib asendamise käivitada, seega selle tõstmine ainult ühel poolel ei hoia sündmust tagasi. Mahupõhised piirid on olemas, sest hõivatud link võib võtme ammendada kaua enne kella. Kumbki piir ei ole tervisekontroll ja kumbki ei ütle teile, et uuendamine õnnestus.
Seepärast on korduva uuesti läbirääkimise diagnoosimine ühest konfiguratsioonifailist eksitav. Lugege seadeid mõlemas peeris ja vaadake seejärel logi üleminekut, selle asemel et riket eeldada. Puhtalt lõppev uuendamine näeb välja nagu lühike juhtkanali liikluse puhang, mitte nagu ühenduse katkemine.
Hoidke objektid peas eraldi. Sertifikaat tõestab pikaajalist identiteeti ja asendatakse teie kontrollitava ajakava järgi. Andmekanali võti värskendatakse automaatselt ning eraldi autentimisvahetus, kui juurutus seda nõuab, järgib konto poliitikat ja võib vajada hilisemateks vahetusteks oma korda.
Uuendamise täielik väljalülitamine intervalli nulliks seadmisega ei ole müravale logile parandus. See muudab terve elutsükli sündmuse püsivaks võtmeks, mis toob teid tagasi omaduse juurde, millest proovisite lahkuda.
Muudatuse vastuvõtmine
Ehitage uus konfiguratsioon paigaldatud väljalaske toetatud näitest, mitte vanast minimaalsest lõigust, mille algoritmid ja failiteed on mujalt päritud. Koordineerige lülitust nii, et mõlemad peerid muutuvad koos, ja hoidke kinnitatud taastetee juhuks, kui üks pool ei tõuse. Tooge link teadlikult alla, selle asemel et oodata tagasipööramise testimiseks katkestust. Harjutatud tagasipööramine on väärtuslikum kui kirjeldatud tagasipööramine.
Testige kolme asja: esmane identiteedikontroll õnnestub, kavandatud rakendusevoog töötab ja kontrollitud uuendamine toimub liiklust kaotamata. Seejärel lugege logi üleminekut selle järgi, mida see tegelikult tõestab: uus võtmeidentifikaator tähendab, et peerid lõpetasid asendamise, mitte et tunnel taasühendus. Käsitlege seda ühe sammu tõendina ja kontrollige liiklusloendureid enne, kui nimetate migratsiooni lõpetatuks.
Mida nullkatkestuse lubadus varjaks, on tõrge, mida te veel näinud pole. Ebaõnnestuv uuendamine, aeguv sertifikaat või tee viga võivad linki siiski häirida ja ühtki neist ei välista puhas testijooks. Omadus, mille jaoks tasub projekteerida, on kitsam ja kasulikum: rutiinne võtmevahetus lakkab olemast käsitsi failivahetus.