Statiskā atslēga vai TLS OpenVPN savienojumam starp diviem vienaudžiem?
OpenVPN statiskās atslēgas režīms nevar rotēt savas trafika atslēgas. Ja diviem vienaudžiem nepieciešama automātiska atjaunošana, pārejiet uz TLS režīmu un atstājiet punktu-punktu izkārtojumu nemainītu.
Divas mašīnas, kas sarunājas tikai savā starpā, var saglabāt šo topoloģiju un tomēr iegūt saskaņotas trafika atslēgas. Tīkla forma un aizsardzības režīms ir neatkarīgas izvēles, un tieši to sajaukšana liek cilvēkiem mēģināt rotēt statisku noslēpumu, nomainot failu, kamēr abi dēmoni turpina darboties. Atslēgas faila nomaiņa zem darbojoša pāra neko nerotē. Statiskās atslēgas režīms, ko OpenVPN 2.6 atzīmē kā novecojušu, tur vienu atslēgu visu tuneļa mūžu, tāpēc fails diskā un atslēga atmiņā atkal sakrīt tikai pēc abu galu pārstartēšanas. Ja prasība ir automātiska atjaunošana, aizsardzības režīmam ir jāmainās.
Ko statiskās atslēgas režīms nevar
Slepenajā režīmā abi vienaudži dala iepriekš kopīgu atslēgu, kas tieši šifrē un autentificē tuneli. Nav roku sasveicināšanās, tāpēc nav mehānisma, ar ko jebkura puse varētu piedāvāt jaunu atslēgas materiālu, pierādīt identitāti vai atgūties no neatbilstības bez operatora iejaukšanās. Abas īpašības izriet no vadības kanāla trūkuma, nevis no trūkstošas opcijas, un neviens konfigurācijas karodziņš to nepievieno šim režīmam.
OpenVPN 2.6 rokasgrāmata skaidri norāda, ka atslēga paliek, līdz tiek ģenerēta jauna. Tas ir pieņemami laboratorijas savienojumam vai fiksētam ierīču pārim ar dokumentētu rotācijas procedūru, un nepieņemami tur, kur ilgstošs noslēpums ir reāls risks. Faila nomaiņa nerada jaunu atslēgu darbojošam pārim; tā rada divus vienaudžus, kas nepiekrīt. Tāpēc faila nomaiņa pievieno pārtraukumu, nepievienojot rotāciju.
Nav arī vienaudža identitātes jēdziena ārpus faila piederības. Ikviens, kam ir atslēga, ir vienaudzis, un nekas tunelī nefiksē, kura puse ir kura, tāpēc atsaukšana ir viss vai nekas.
Pāreja uz TLS, nepārprojektējot savienojumu
TLS režīms pievieno vadības kanālu un līdz ar to iespēju saskaņot datu kanāla atslēgas. Punktu-punktu izvietojumā viena puse uzņemas servera lomu, otra — klienta, bet topoloģija paliek savienojums starp diviem vienaudžiem: katra puse zina otras galapunktu, un neparādās neviens baseins vai daudzlietotāju pakalpojums. Lomām ir roku sasveicināšanās detaļa, nevis jauna arhitektūra.
Piešķiriet katrai mašīnai savu identitāti. Katrai pusei vajag sertifikātu un privāto atslēgu, otras puses validējošu uzticības enkuru un vienaudža pārbaudes noteikumu, kas nosauc, ko sagaida. Neizmantojiet viena vienaudža privāto atslēgu otrā, lai ietaupītu laiku; tas pārvērš divas identitātes vienā un atņem iespēju atsaukt jebkuru pusi atsevišķi. Reģistrācija ir vieta, kur to izdarīt pareizi, jo vēlāka labošana nozīmē sertifikātu atkārtotu izsniegšanu.
Saglabājiet tīkla līgumu nemainītu, kamēr mainās aizsardzība. Tiem pašiem tuneļa adresēm, maršrutiem un atļautajiem pakalpojumiem jādarbojas pirms un pēc, lai kļūme migrācijas laikā būtu aizsardzības problēma, nevis maskēts maršrutēšanas pārsteigums. Pierakstiet adreses un maršrutus pirms izmaiņām; to salīdzināšana vēlāk ir ātrāka nekā atjaunošana no atmiņas.
Daži izvietojumi aizsargā arī vadības kanālu ar savu statisko atslēgu, kas nerotē kopā ar datu kanālu. Šī atslēga sargā roku sasveicināšanos, nevis lietderīgo slodzi, tāpēc tās kompromitēšana atklāj sarunas, nevis trafiku. Glabājiet to atsevišķi no datu kanāla materiāla un piešķiriet nomaiņas datumu, par ko atbild nosaukta persona. Tās rotācija nozīmē abu vienaudžu pārstartēšanu saskaņotā logā, tāpēc tā ir pelnījusi kalendāra ierakstu, nevis atmiņu.
Kas ko atjauno un kad
TLS režīmā atjaunošanu vada konfigurētie ierobežojumi: laika intervāls, baitu skaits vai pakotņu skaits. Dokumentētā laika kontrole ir tas, uz ko paļaujas vairums izvietojumu, un zemākā efektīvā vērtība abos vienaudžos var sākt nomaiņu, tāpēc tās paaugstināšana tikai vienā pusē notikumu neaizkavēs. Apjoma ierobežojumi pastāv tāpēc, ka noslogots savienojums var izsmelt atslēgu daudz agrāk nekā pulkstenis. Neviens ierobežojums nav veselības pārbaude, un neviens nepasaka, ka atjaunošana izdevās.
Tāpēc diagnostika atkārtotām pārrunām no viena konfigurācijas faila ir maldinoša. Izlasiet iestatījumus abos vienaudžos un pēc tam skatieties žurnāla pāreju, nevis pieņemiet kļūmi. Atjaunošana, kas beidzas tīri, izskatās kā īss vadības kanāla trafika uzliesmojums, nevis kā atslēgšanās.
Turiet objektus atsevišķi savā galvā. Sertifikāts pierāda ilgtermiņa identitāti un tiek nomainīts pēc jūsu kontrolēta grafika. Datu kanāla atslēga tiek atsvaidzināta automātiski, un atsevišķa autentifikācijas apmaiņa, ja izvietojums to prasa, seko konta politikai un var prasīt savus noteikumus vēlākām apmaiņām.
Atjaunošanas pilnīga izslēgšana, iestatot intervālu uz nulli, nav trokšņaina žurnāla risinājums. Tā pārvērš veselīgu dzīves cikla notikumu pastāvīgā atslēgā, kas jūs atgriež pie īpašības, kuru centāties atstāt aiz sevis.
Izmaiņu pieņemšana
Veidojiet jauno konfigurāciju no instalētās laidiena atbalstītā piemēra, nevis no veca minimāla fragmenta, kura algoritmi un failu ceļi mantoti no citurienes. Saskaņojiet pārslēgšanu tā, lai abi vienaudži mainītos kopā, un turiet apstiprinātu atkopšanas ceļu, ja viena puse neceļas. Apzināti nometiet savienojumu, nevis gaidiet pārtraukumu, lai pārbaudītu atritināšanu. Pārbaudīta atritināšana ir vērtīgāka par aprakstītu.
Pārbaudiet trīs lietas: sākotnējā identitātes verifikācija izdodas, paredzētā lietojumprogrammas plūsma darbojas, un kontrolēta atjaunošana notiek, nezaudējot trafiku. Pēc tam izlasiet žurnāla pāreju par to, ko tā patiešām pierāda: jauns atslēgas identifikators nozīmē, ka vienaudži pabeidza nomaiņu, nevis to, ka tunelis atkal pieslēdzās. Uztveriet to kā viena soļa pierādījumu un pārbaudiet trafika skaitītājus, pirms pasludināt migrāciju pabeigtu.
To, ko nulles pārtraukumu solījums slēptu, ir kļūme, kuru vēl neesat redzējis. Neizdevusies atjaunošana, beidzošs sertifikāts vai ceļa defekts joprojām var traucēt savienojumu, un nevienu no tiem neizslēdz tīrs testa brauciens. Īpašība, kuras dēļ ir vērts projektēt, ir šaurāka un noderīgāka: ikdienas atslēgu nomaiņa pārstāj būt manuāla faila nomaiņa.