Ulirejesha nakala rudufu, huduma ilianza, na mteja aliunganishwa katika jaribio la kwanza. Mafanikio hayo ni mtego. Urejeshaji hurudisha faili ambazo seva ilikuwa nazo wakati wa picha, si hali ya ufikiaji iliyobadilika tangu wakati huo, na ikiwa sehemu ya mwisho ya zamani bado inafikiwa sasa una mashine mbili zinazojibu utambulisho mmoja. Suluhisho si nakala rudufu bora; suluhisho ni kuamua ni nini mwenyeji aliyerejeshwa anaweza kuwa kabla ya kujibu hata makubaliano ya mkono mmoja.

Nakala rudufu hurudisha faili, si mamlaka

Picha ina usanidi wa seva, funguo za faragha, mamlaka ya vyeti, orodha ya wenza na kanuni za ukuta wa moto kama zilivyokuwa wakati nakala ilipokimbia. Haiwezi kuwa na kile kilichobadilika baadaye: kifaa ulichobatilisha, ufunguo uliotoa tena, mwenza uliyemwondoa wakati kompyuta mpakato ilipouzwa, mtandao mdogo uliouhamisha. Urejeshaji hurudisha faili hadi wakati huo. Haurudishi maamuzi ambayo watu walifanya tangu wakati huo.

Uharibifu unatoka hasa kwenye pengo hilo. Kompyuta mpakato iliyoibiwa na kubatilishwa wiki mbili baada ya nakala huwasilisha cheti ambacho bado huthibitishwa dhidi ya CRL ya zamani katika mti uliorejeshwa, na seva inakubali kifaa ulichokistaafu. WireGuard ni ya moja kwa moja zaidi: mwenza anaidhinishwa kwa kuwa kwenye orodha, kwa hivyo mwenza aliyefutwa baada ya picha yupo tena kwa urahisi. Hakuna aliyekubali ufikiaji huo tena. Faili ya zamani ilifanya hivyo.

Utambulisho wa seva na utambulisho wa mteja hushindwa kwa njia tofauti

Kwenye WireGuard utambulisho wa seva ni ufunguo wa faragha katika wg0.conf, kwa hivyo kunakili faili hiyo kwenye mwenyeji wa pili anayefikiwa huunda seva mbili zenye utambulisho mmoja na zisizojuana. Kila mmoja hushikilia orodha yake ya wenza. Ondoa mwenza kwenye mwenyeji mpya na wa zamani bado humkubali; angalia wg show kwenye mmoja na utaona nusu ya ukweli. Wateja pia hawabadiliki wenyewe: wasifu hubeba Endpoint moja, kwa hivyo kifaa huendelea kuzungumza na anwani iliyosanidiwa, ambayo inaweza kuwa mwenyeji uliyekusudia kumstaafu.

OpenVPN hunakiliwa kwenye tabaka hilo hilo kwa cheti cha seva, ufunguo wake wa faragha na ufunguo tuli wa tls-auth au tls-crypt. Nakili zote tatu na mteja hawezi kutofautisha matukio; ikiwa zote mbili zinafikiwa, muunganisho upya unaweza kutua kwenye yoyote, na kila faili ya kumbukumbu husimulia hadithi nusu. Mamlaka ya vyeti ni nakala ya ndani zaidi. Mti wa easy-rsa uliorejeshwa ni chanzo cha pili cha ukweli kinachoweza kutoa cheti halali kwa jina lolote unalolipa.

Wateja pia hunakiliwa, kwa kawaida wakati wa uhamishaji wenyewe. Kunakili wasifu kwenye kifaa cha akiba «kwa ajili ya jaribio tu» huunda kifaa cha pili chenye ufunguo sawa na jina la kawaida sawa. Kwa duplicate-cn vikao vyote viwili vinaweza kubaki hai kwa wakati mmoja, na ugawaji tuli wa anwani katika ccd au ifconfig-pool-persist unaweza kugongana na kifaa cha awali. Hizi ni mashine mbili zinazovaa utambulisho mmoja, na hakuna chochote katika usanidi wa seva kinachozitofautisha.

Chagua moja ya hali tatu kwa sehemu ya mwisho ya zamani

Urejeshaji ni salama tu baada ya hatima ya sehemu ya mwisho ya zamani kuamuliwa. Istaafishe: huduma ya zamani lazima iachane na kukubali lango la VPN kabla mwenyeji mpya kuanza, na ikiwa huwezi kufikia mashine, zuia lango hilo kwenye ukingo wa mtandao kwa kila kitu isipokuwa chanzo chako cha utawala. Rekebisha mwenyeji huyo huyo: kutumia tena utambulisho ni sawa kwa sababu mashine moja inaushikilia, lakini baadaye haribu nakala ya diski au picha ya VM ya ufunguo wa zamani ili usiweze kurudi. Jenga jozi ya upatikanaji: wenyeji wawili wanahitaji utambulisho tofauti wa mwenyeji pamoja na sehemu moja ya mwisho inayoshirikiwa, kama anwani inayoelea, kisawazisha mzigo au DNS unayoweza kuhamisha. Kunakili ufunguo wa faragha si muundo wa failover; ni seva mbili zinazodai jina moja.

Thibitisha ni hali gani unayo kweli kabla ya kugusa wateja. Mwenyeji wa zamani anayejibu kwenye lango la VPN ndiye atakayekubali kifaa kilichobatilishwa, hata kama DNS imehamia. Angalia wasikilizaji na ufunguo wa umma:

ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key

Kwanza linganisha wenza, ubatilishaji na anwani

Orodhesha kile urejeshaji unachodai dhidi ya kile kilichoidhinishwa sasa. Kwenye WireGuard wg show wg0 hutoa ufunguo, sehemu ya mwisho, makubaliano ya mwisho ya mkono na vihesabu vya uhamishaji vya kila mwenza, vya kutosha kugundua kifaa usichomiliki tena. Kiondoe kwa moja kwa moja kwa wg set wg0 peer <key> remove, kisha hariri usanidi pia, vinginevyo mwenza atarudi kwenye kuanza kunakofuata. wg show wg0 allowed-ips hufichua tatizo la pili: wenza wawili kwenye anwani moja, au anwani uliyokwisha igawa upya.

Kwenye OpenVPN orodha ya ubatilishaji ni faili yenye tarehe, na urejeshaji unaweza kurudisha ya zamani. Iangalie kabla wateja kuunganishwa:

openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf

Ikiwa sasisho la mwisho linatangulia ubatilishaji, seva bado inaheshimu cheti ulichokibatilisha. OpenVPN 2.4 na baadaye husoma tena faili ya CRL kwa kila muunganisho mpya, kwa hivyo kubadilisha faili huzuia vikao vipya, lakini vichuguu vilivyoanzishwa hudumu hadi majadiliano upya; chaguo-msingi la reneg-sec ni sekunde 3600, na kulipunguza au kuanzisha upya huduma ndilo linalokupa mabadiliko sasa. Violezo vya zamani huenda visichukue faili kwa uaminifu sawa, kwa hivyo anzisha upya usipoweza kuthibitisha tabia ya toleo. Mwongozo wa wg(8) unashughulikia kuondoa mwenza na sintaksia ya allowed-ips iliyotumika juu.

Safisha pia ugawaji tuli kwa vifaa visivyopo tena. Kutumia tena anwani ya kifaa kilichostaafishwa kwa kipya wakati wasifu wa zamani bado umesakinishwa huunda nakala ile ile unayoikwepa.

Thibitisha na mteja uliyembatilisha

Endesha ukaguzi kwa mpangilio, kutoka mtandao nje ya kichuguu. Kwanza kifaa kilichoidhinishwa huunganishwa, hutatua DNS kupitia kitatuzi kilichosukumwa na kufikia rasilimali ya faragha. Kisha kifaa kilichobatilishwa lazima kishindwe, kikitumia wasifu wake uliopo badala ya mpya. Kisha jaribu sehemu ya mwisho ya zamani kutoka nje: ikiwa lango la VPN bado linakamilisha makubaliano ya mkono, mwenyeji wa zamani yu hai na unakili ni halisi, si wa kinadharia.

Anzisha upya mwenyeji uliorejeshwa na urudie ukaguzi wa kilichoidhinishwa na kilichobatilishwa, kwa sababu ndipo faili ya usanidi hushinda kile ulichobadilisha wakati wa uendeshaji. Linganisha ufunguo wa umma au alama ya kidole ya cheti cha mwenyeji na ile iliyotumiwa na mashine iliyostaafishwa. Alama za kidole zinazolingana kwenye mashine mbili zilizo hai zinamaanisha urejeshaji ulinakili utambulisho; alama zinazolingana kwenye mashine moja ni kawaida. Rekodi matoleo yaliyorejeshwa, alama za vidole za funguo na namba ya mfululizo au ufunguo wa mwenza uliyebatilishwa, kisha chukua nakala rudufu inayofuata baada ya upatanisho huu, ili iwakilishe huduma kama ilivyo sasa. Jaribio linalofanya kazi si kwamba mteja aunganishwe. Ni kwamba mteja uliyemwondoa abaki nje wakati sehemu ya mwisho ya zamani inabaki imefungwa.

Makala zinazohusiana