Jy het die rugsteun herstel, die diens het begin, en ’n kliënt het met die eerste poging verbind. Daardie sukses is die lokval. ’n Herstel gee die lêers terug wat die bediener op die oomblik van die rugsteun gehad het, nie die toegangstatus wat sedertdien verander het nie, en as die ou eindpunt nog bereikbaar is, het jy nou twee masjiene wat op een identiteit antwoord. Die oplossing is nie ’n beter rugsteun nie; dit is om te besluit wat die herstelde gasheer mag wees voordat dit ’n enkele handskud beantwoord.

’n Rugsteun gee lêers terug, nie gesag nie

Die momentopname hou die bedienerkonfigurasie, die private sleutels, die sertifikaatowerheid, die peer-lys en die vuurmuurreëls soos dit was toe die rugsteun geloop het. Dit kan nie hou wat daarna verander het nie: die toestel wat jy herroep het, die sleutel wat jy heruitgereik het, die peer wat jy verwyder het toe ’n skootrekenaar verkoop is, die subnet wat jy geskuif het. Herstel spoel die lêers na daardie oomblik terug. Dit spoel nie die besluite terug wat mense sedertdien geneem het nie.

Daardie gaping is waar die skade vandaan kom. ’n Gestelde skootrekenaar wat twee weke ná die rugsteun herroep is, bied ’n sertifikaat aan wat nog teen die ouer CRL in die herstelde boom verifieer, en die bediener aanvaar ’n toestel wat jy afgetree het. WireGuard is botter: ’n peer word gemagtig deur gelys te wees, so ’n peer wat ná die momentopname uitgevee is, is bloot weer daar. Niemand het daardie toegang weer goedgekeur nie. Die ou lêer het.

Bedieneridentiteit en kliëntidentiteit faal op verskillende maniere

Op WireGuard is die bediener se identiteit die private sleutel in wg0.conf, so om daardie lêer na ’n tweede bereikbare gasheer te kopieer, skep twee bedieners met dieselfde identiteit en geen kennis van mekaar nie. Elkeen hou sy eie peer-lys. Verwyder ’n peer op die nuwe gasheer en die ou een aanvaar dit steeds; kyk wg show op een en jy sien die helfte van die waarheid. Kliënte skakel ook nie vanself oor nie: ’n profiel dra een Endpoint, so ’n toestel bly praat met watter adres dit ook al gekonfigureer is, wat die gasheer kan wees wat jy bedoel het om af te tree.

OpenVPN dupliseer op dieselfde vlak met ’n bedienersertifikaat, sy private sleutel en die tls-auth- of tls-crypt-statiese sleutel. Kopieer al drie en ’n kliënt kan die instansies nie onderskei nie; as albei bereikbaar is, kan ’n herverbinding op enigeen beland, en elke loglêer vertel ’n gedeeltelike verhaal. Die sertifikaatowerheid is die dieper kopie. ’n Herstelde easy-rsa-boom is ’n tweede bron van waarheid wat ’n geldige sertifikaat vir enige naam kan uitreik.

Kliënte word ook gedupliseer, gewoonlik tydens die migrasie self. Om ’n profiel na ’n spaartoestel te kopieer «net om te toets» lewer ’n tweede toestel met dieselfde sleutel en common name. Met duplicate-cn kan albei sessies gelyktydig bly staan, en ’n statiese adrestoewysing in ccd of ifconfig-pool-persist kan met die oorspronklike toestel bots. Dit is twee masjiene wat een identiteit dra, en niks in die bedienerkonfigurasie onderskei hulle nie.

Kies een van drie toestande vir die ou eindpunt

’n Herstel is eers veilig sodra die ou eindpunt se lot beslis is. Tree af: die ou diens moet ophou om die VPN-poort te aanvaar voordat die nuwe gasheer begin, en as jy nie die masjien kan bereik nie, blokkeer daardie poort by die netwerkrand vir alles behalwe jou administratiewe bron. Herstel dieselfde gasheer: om die identiteit te hergebruik is reg omdat een masjien dit hou, maar vernietig daarna die skyfkopie of VM-momentopname van die ou sleutel sodat dit nie kan terugkeer nie. Bou ’n beskikbaarheidspaar: twee gashere het afsonderlike gasheeridentiteite plus een gedeelde eindpunt nodig, soos ’n drywende adres, ’n lasbalanseerder of DNS wat jy kan skuif. Om die private sleutel te kopieer is nie ’n failover-ontwerp nie; dit is twee bedieners wat een naam opeis.

Bevestig in watter toestand jy werklik is voordat jy aan kliënte raak. Die ou gasheer wat op die VPN-poort antwoord, is die een wat die herroepte toestel sal aanvaar, selfs al het DNS geskuif. Kontroleer luisteraars en die publieke sleutel:

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

Versoen eers peers, herroepings en adresse

Lys wat die herstel beweer teen wat tans gemagtig is. Op WireGuard gee wg show wg0 elke peer se sleutel, eindpunt, jongste handskud en oordragtellers, wat genoeg is om ’n toestel te sien wat jy nie meer besit nie. Verwyder dit lewendig met wg set wg0 peer <key> remove, en wysig dan ook die konfigurasie, anders kom die peer by die volgende begin terug. wg show wg0 allowed-ips ontbloot die tweede probleem: twee peers op een adres, of ’n adres wat jy reeds hertoegewys het.

Op OpenVPN is die herroepingslys ’n lêer met ’n datum, en ’n herstel kan ’n ou een terugbring. Kontroleer dit voordat kliënte verbind:

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

As die laaste opdatering voor die herroeping is, eerbiedig die bediener steeds ’n sertifikaat wat jy herroep het. OpenVPN 2.4 en later lees die CRL-lêer weer vir elke nuwe verbinding, so om die lêer te vervang stop nuwe sessies, maar bestaande tonnels bly tot heronderhandeling; die verstek reneg-sec is 3600 sekondes, en dit te verlaag of die diens te herbegin is wat jou die verandering nou gee. Ouer bouwe neem die lêer dalk nie so betroubaar op nie, so herbegin wanneer jy nie die weergawe se gedrag kan bevestig nie. Die wg(8)-handleiding dek die peer-verwydering en allowed-ips-sintaksis hierbo.

Maak ook statiese toewysings skoon vir toestelle wat nie meer bestaan nie. Om ’n afgetrede toestel se adres vir ’n nuwe een te hergebruik terwyl die ou profiel nog geïnstalleer is, skep presies die duplikaat wat jy probeer vermy.

Verifieer met ’n kliënt wat jy herroep het

Voer die kontroles in volgorde uit, vanaf ’n netwerk buite die tonnel. Eers verbind ’n gemagtigde toestel, los DNS deur die gestuurde resolver op en bereik ’n private hulpbron. Dan moet die herroepte toestel misluk, met sy bestaande profiel eerder as ’n nuwe een. Probeer dan die ou eindpunt van buite: as die VPN-poort nog ’n handskud voltooi, leef die ou gasheer en is die duplisering werklik, nie teoreties nie.

Herbegin die herstelde gasheer en herhaal die gemagtigde en herroep-toetse, want dit is wanneer die konfigurasielêer wen oor wat jy tydens looptyd verander het. Vergelyk die gasheer se publieke sleutel of sertifikaatvingerafdruk met die een wat die afgetrede masjien gebruik het. Ooreenstemmende vingerafdrukke op twee lewende masjiene beteken die herstel het die identiteit gekloon; ooreenstemmende vingerafdrukke op een masjien is reg. Teken die herstelde weergawes, sleutelvingerafdrukke en die herroepte reeksnommer of peer-sleutel aan, en neem dan die volgende rugsteun ná hierdie versoeningswerk, sodat dit die diens verteenwoordig soos dit nou is. Die werkende toets is nie dat ’n kliënt verbind nie. Dit is dat die kliënt wat jy verwyder het, buite bly terwyl die ou eindpunt geslote bly.

Verwante artikels