Si të rikthesh një server VPN pa dublikuar identitetet
Një server VPN i rikthyer kthen skedarë, jo aksesin aktual. Pajto revokimet, çelësat e partnerëve dhe pikat fundore përpara se një kopje e dytë t'i përgjigjet një shtrëngimi duarsh.
Rikthyet kopjen rezervë, shërbimi nisi dhe një klient u lidh në përpjekjen e parë. Ky sukses është kurthi. Rikthimi kthen skedarët që serveri kishte në momentin e fotografimit, jo gjendjen e aksesit që ka ndryshuar që atëherë, dhe nëse pika fundore e vjetër është ende e arritshme tani keni dy makina që përgjigjen për një identitet. Zgjidhja nuk është një kopje rezervë më e mirë; zgjidhja është të vendosni çfarë mund të jetë hosti i rikthyer përpara se të përgjigjet ndaj një shtrëngimi të vetëm duarsh.
Një kopje rezervë kthen skedarë, jo autoritet
Fotografimi përmban konfigurimin e serverit, çelësat privatë, autoritetin e certifikatave, listën e partnerëve dhe rregullat e murit të zjarrit ashtu si ishin kur u ekzekutua kopja. Nuk mund të përmbajë atë që ndryshoi më pas: pajisjen që revokuat, çelësin që riemitoni, partnerin që hoqët kur u shit një laptop, nënrrjetin që zhvendosët. Rikthimi i kthen skedarët në atë moment. Nuk i kthen vendimet që njerëzit kanë marrë që atëherë.
Dëmi vjen pikërisht nga kjo hendek. Një laptop i vjedhur i revokuar dy javë pas kopjes paraqet një certifikatë që ende vërtetohet kundrejt CRL-së më të vjetër në pemën e rikthyer, dhe serveri pranon një pajisje që e keni tërhequr nga përdorimi. WireGuard është më i drejtpërdrejtë: partneri autorizohet duke qenë në listë, prandaj një partner i fshirë pas fotografimit thjesht është përsëri i pranishëm. Askush nuk e riaprovoi atë akses. E bëri skedari i vjetër.
Identiteti i serverit dhe identiteti i klientit dështojnë në mënyra të ndryshme
Në WireGuard identiteti i serverit është çelësi privat në wg0.conf, prandaj kopjimi i atij skedari në një host të dytë të arritshëm krijon dy serverë me të njëjtin identitet dhe që nuk e dinë njëri-tjetrin. Secili mban listën e vet të partnerëve. Hiqni një partner në hostin e ri dhe ai i vjetri ende e pranon; kontrolloni wg show në njërin dhe shihni gjysmën e së vërtetës. Klientët gjithashtu nuk kalojnë vetë: një profil mbart një Endpoint, prandaj një pajisje vazhdon të flasë me adresën me të cilën u konfigurua, e cila mund të jetë hosti që donit të tërhiqnit.
OpenVPN dublikohet në të njëjtin shtresë me një certifikatë serveri, çelësin e tij privat dhe çelësin statik tls-auth ose tls-crypt. Kopjoni të tre dhe një klient nuk i dallon instancat; nëse të dyja janë të arritshme, një rilidhje mund të ulet në cilëndo, dhe çdo skedar regjistri tregon një histori të pjesshme. Autoriteti i certifikatave është kopja më e thellë. Një pemë easy-rsa e rikthyer është burimi i dytë i së vërtetës që mund të lëshojë një certifikatë të vlefshme për çdo emër që i jepni.
Edhe klientët dublikohen, zakonisht gjatë vetë migrimit. Kopjimi i një profili në një pajisje rezervë «vetëm për provë» prodhon një pajisje të dytë me të njëjtin çelës dhe të njëjtin emër të përbashkët. Me duplicate-cn të dyja sesionet mund të qëndrojnë aktive njëkohësisht, dhe një caktim statik adrese në ccd ose ifconfig-pool-persist mund të përplaset me pajisjen origjinale. Këto janë dy makina me një identitet, dhe asgjë në konfigurimin e serverit nuk i dallon.
Zgjidhni një nga tre gjendjet për pikën fundore të vjetër
Një rikthim është i sigurt vetëm kur fati i pikës fundore të vjetër është vendosur. Tërhiqeni nga përdorimi: shërbimi i vjetër duhet të ndalojë pranimin e portës VPN përpara se hosti i ri të nisë, dhe nëse nuk arrini dot makinën, bllokoni atë portë në skajin e rrjetit për gjithçka përveç burimit tuaj administrativ. Riparoni të njëjtin host: ripërdorimi i identitetit është në rregull sepse një makinë e mban, por më pas shkatërroni kopjen në disk ose fotografimin e VM-së të çelësit të vjetër që të mos mund të kthehet. Ndërtoni një çift disponueshmërie: dy hoste kanë nevojë për identitete hosti të dallueshme plus një pikë fundore të përbashkët, si një adresë lundruese, një balancues ngarkese ose DNS që mund ta zhvendosni. Kopjimi i çelësit privat nuk është dizajn failover; janë dy serverë që kërkojnë një emër të vetëm.
Konfirmoni në cilën gjendje jeni vërtet përpara se të prekni klientët. Hosti i vjetër që përgjigjet në portën VPN është ai që do të pranojë pajisjen e revokuar, edhe nëse DNS është zhvendosur. Kontrolloni dëgjuesit dhe çelësin publik:
ss -lunp | grep -E ':51820|:1194'
wg show wg0
wg pubkey < /etc/wireguard/server.key
Së pari pajtoni partnerët, revokimet dhe adresat
Rendisni çfarë pretendon rikthimi kundrejt asaj që është aktualisht e autorizuar. Në WireGuard wg show wg0 jep çelësin, pikën fundore, shtrëngimin e fundit të duarve dhe numëruesit e transferimit të çdo partneri, mjaftueshëm për të vënë re një pajisje që nuk e zotëroni më. Hiqeni drejtpërdrejt me wg set wg0 peer <key> remove, pastaj redaktoni edhe konfigurimin, përndryshe partneri kthehet në nisjen tjetër. wg show wg0 allowed-ips zbulon problemin e dytë: dy partnerë në një adresë, ose një adresë që e keni ricaktuar tashmë.
Në OpenVPN lista e revokimeve është një skedar me datë, dhe një rikthim mund të sjellë një të vjetër. Kontrollojeni përpara se klientët të lidhen:
openssl crl -in /etc/openvpn/crl.pem -noout -lastupdate -nextupdate
grep -E 'crl-verify|reneg-sec' /etc/openvpn/server.conf
Nëse përditësimi i fundit i paraprin revokimit, serveri ende nderon një certifikatë që e revokuat. OpenVPN 2.4 dhe më pas rilexojnë skedarin CRL për çdo lidhje të re, prandaj zëvendësimi i skedarit ndalon sesionet e reja, por tunelet e vendosura vazhdojnë deri në rinegocim; vlera e paracaktuar e reneg-sec është 3600 sekonda, dhe ulja e saj ose rinisja e shërbimit është ajo që ju jep ndryshimin tani. Ndërtimet më të vjetra mund të mos e lexojnë skedarin po aq me besueshmëri, prandaj rinisni kur nuk mund të konfirmoni sjelljen e versionit. Manuali i wg(8) mbulon heqjen e partnerit dhe sintaksën allowed-ips të përdorura më sipër.
Pastroni edhe caktimet statike për pajisjet që nuk ekzistojnë më. Ripërdorimi i adresës së një pajisjeje të tërhequr për një të re, ndërsa profili i vjetër është ende i instaluar, krijon pikërisht dublikatën që po përpiqeni të shmangni.
Verifikoni me një klient që e revokuat
Kryeni kontrollet me radhë, nga një rrjet jashtë tunelit. Së pari një pajisje e autorizuar lidhet, zgjidh DNS përmes zgjidhësit të shtyrë dhe arrin një burim privat. Më pas pajisja e revokuar duhet të dështojë, duke përdorur profilin e saj ekzistues dhe jo një të re. Pastaj provoni pikën fundore të vjetër nga jashtë: nëse porta VPN ende përfundon një shtrëngim duarsh, hosti i vjetër është i gjallë dhe dublikimi është i vërtetë, jo teorik.
Rinisni hostin e rikthyer dhe përsëritni kontrollet e autorizuar dhe të revokuar, sepse atëherë skedari i konfigurimit fiton mbi atë që ndryshuat gjatë ekzekutimit. Krahasoni çelësin publik ose gjurmën e certifikatës së hostit me atë që përdori makina e tërhequr. Gjurmë që përputhen në dy makina të gjalla do të thonë se rikthimi klonoi identitetin; gjurmë që përputhen në një makinë janë normale. Regjistroni versionet e rikthyera, gjurmët e çelësave dhe numrin serial ose çelësin e partnerit të revokuar, pastaj merrni kopjen tjetër pas këtij pajtimi, që të përfaqësojë shërbimin ashtu si është tani. Testi që funksionon nuk është që një klient lidhet. Është që klienti që hoqët të mbetet jashtë ndërsa pika fundore e vjetër mbetet e mbyllur.