Ku duhet të jetojë një çelës privat VPN: file, CNG apo TPM?
Zgjidhni midis një skedari çelësi, një depoje softuerike jo të eksportueshme dhe një TPM për një identitet VPN, më pas vërtetoni zgjedhjen me komanda dhe një plan kthimi.
Dy pyetje vendosin ku i takon një çelës privat VPN: nëse materiali i çelësit mund të kopjohet nga host-i dhe nëse një proces mund ta përdorë pa askënd në tastierë. Etiketa e marketingut e një depoje nuk përgjigjet asnjërës. Një daemon tuneli që duhet të kthehet pas një rindezjeje ka nevojë për përdorim pa mbikëqyrje, gjë që përjashton çdo gjë të lidhur me një PIN të shtypur nga një njeri.
Zgjidhni midis kopjimit dhe përdorimit
Kopjimi dhe përdorimi dështojnë ndryshe, prandaj trajtojini si dy kërkesa, jo një. Një sulmues që mund të lexojë bajtët e çelësit e çon identitetin në një host tjetër, dhe makina origjinale nuk e vëren. Një sulmues që nuk mund t'i lexojë bajtët, por arrin procesin e nënshkrimit, vazhdon të autentikohet për sa kohë zgjat ai akses.
Një çelës në skedar është trivialisht i kopjueshëm, prandaj është edhe më i lehti për t'u ruajtur dhe rikthyer. Një depo çelësash softuerike ndryshon API-në, jo kufirin: ofruesi refuzon thirrjet e veta të eksportit, por i njëjti kontekst administratori që instaloi çelësin zakonisht ka rrugë të tjera drejt materialit. Jo i eksportueshëm te një ofrues softuerik është një deklaratë për operacionet e mbështetura, jo provë e një muri harduerik. Trajtojeni si frenues kundër kopjimit të rastësishëm, jo si mbrojtje ndaj dikujt që e ka tashmë sesionin tuaj.
Një TPM ose një kartë inteligjente e kryen operacionin e nënshkrimit brenda harduerit dhe kthen vetëm rezultatin. Kjo mbyll rrugën e kopjimit dhe e lë rrugën e përdorimit të hapur për çdo gjë që mund të kërkojë një nënshkrim.
Përputhni depon me daemonin e tunelit
Daemoni e kufizon këtë më shumë sesa politika e sigurisë. WireGuard merr një çelës privat base64 nga një skedar ose nga hyrja e wg set dhe nuk ka rrugë drejt një depoje certifikatash, prandaj një çelës ndërfaqeje i mbështetur nga TPM nuk hyn në lojë. OpenVPN i ndërtuar kundër OpenSSL 3 mund të ngarkojë një çelës përmes një URI ofruesi, dhe strongSwan dërgon një shtojcë TPM krahas mbështetjes PKCS#11, por të dyja varen nga mënyra se si u kompilua paketa juaj.
Një daemon që nuk arrin depon e zgjedhur e kthen kufirin harduerik në dekor. Dikush e eksporton çelësin një herë, e lë në një skedar, dhe pjesa tjetër e projektit ecën në heshtje mbi atë kopje.
Rinovimi është gjysma tjetër e përputhjes, dhe aty shkatërrohen shumica e projekteve. Një depo që funksionon në regjistrimin e parë, por kërkon hyrje në konsolë për çdo rëizdhim, anashkalohet herën e parë që një certifikatë skadon në një orë të papërshtatshme. Testoni rrugën e rëizdhimit ndërsa çelësi aktual ka ende muaj përpara.
Inventarizoni çelësin përpara se ta lëvizni
Regjistroni çfarë është çelësi përpara se të ndryshoni ku jeton, sepse një migrim që humbet subject alternative names e thyen tunelin në një mënyrë që lexohet si defekt rrugëtimi. Eksportoni certifikatën, konfirmoni që çelësi privat është i lexueshëm aty ku daemoni e pret, dhe kontrolloni që çifti përputhet vërtet.
openssl x509 -in vpn.crt -noout -subject -ext subjectAltName
openssl pkey -in vpn.key -check -noout
openssl x509 -in vpn.crt -noout -pubkey | openssl sha256
openssl pkey -in vpn.key -pubout | openssl sha256
Dy përmbledhjet e fundit duhet të jenë identike. Nëse nuk janë, daemoni e përfundon konfigurimin dhe pastaj dështon në çdo përpjekje me një gabim certifikate ose nënshkrimi që nuk tregon askund pranë shkakut të vërtetë. Ekuivalenti i WireGuard është më i shkurtër, sepse çelësi publik nxirret drejtpërdrejt nga ai privat: wg pubkey < /etc/wireguard/wg0.key duhet të printojë çelësin e partnerit që serveri juaj e ruan tashmë.
Lejet i përkasin të njëjtit inventar. stat -c '%a %U:%G' /etc/wireguard/wg0.key duhet të kthejë 600 root:root, dhe çdo gjë e lexueshme nga grupi ose bota do të thotë që çelësi ka qenë tashmë i disponueshëm për procese që nuk i kishit parashikuar.
Kontrolloni depon dhe rrugën e përdorimit
Verifikimi ka tre pjesë, dhe e treta është ajo që kapërcehet. Konfirmoni që çelësi ekziston në depon e zgjedhur, konfirmoni që daemoni ngarkoi atë çelës dhe jo një kopje të mbetur, dhe pastaj konfirmoni që ai ende niset kur artefakti i eksportit nuk është më.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
Në Windows komanda e parë liston depon personale dhe printon ofruesin e çelësit pranë çdo hyrjeje, dhe aty shfaqet një certifikatë që duket e mbrojtur nga hardueri, por qëndron te ofruesi softuerik. E dyta liston çelësat që mban ofruesi kriptografik i platformës, prandaj një identitet VPN që mungon aty ndërsa certifikata është e pranishme do të thotë që gjysma private jeton diku tjetër. Në një portë Linux, ipsec listcerts raporton çfarë ngarkoi strongSwan, duke përfshirë çelësat që vijnë nga shtojca TPM. Krahasoni gjurmët e gishtave ose hash-et e çelësit publik me inventarin, në vend që të besoni numrin e hyrjeve.
Testi negativ është ai që e provon projektin. Lëvizni çelësin e eksportuar jashtë drejtorisë së konfigurimit të daemonit, rinisni shërbimin dhe lexoni në regjistër çfarë identiteti paraqet. Një tunel që ngrihet gjithsesi po përdor depon; një nisje e dështuar do të thotë që projekti vërtet po ecte mbi një kopje.
Shkruani rinovimin dhe kthimin
Kthimi ndryshon shumë midis dy familjeve, dhe ai ndryshim i takon shënimit të projektit, jo një telefonate incidenti. Një çelës në skedar mund të ruhet i kriptuar dhe të rikthehet, prandaj një migrim i dështuar është i kthyeshëm. Një çelës jo i eksportueshëm nuk mund të ruhet fare, gjë që e bën rëizdhimin dhe rirregjistrimin rrugën e vetme të rikuperimit kur pajisja vdes.
Kontrolloni skadimin përpara se të bëhet një ndërprerje: openssl x509 -in vpn.crt -noout -checkend 2592000 përfundon me një kod jo zero kur certifikata skadon brenda tridhjetë ditësh, prandaj hyn drejtpërdrejt në një kontroll monitorimi. Një ekzekutim javor i asaj rreshti kap rinovimin që askush nuk e kishte planifikuar.
Heqja bëhet në server: fshini partnerin ose anuloni numrin serial, pastaj konfirmoni që tuneli dështon, pasi një klient me sesion të ruajtur në cache mund të fshehë për një kohë një anulim gjysmë të përfunduar. Anulimi duhet të arrijë edhe rrugën CRL ose OCSP të koncentratorit, jo vetëm bazën e të dhënave të CA. Një certifikatë është dokument publik, dhe profili RFC 5280 mbulon si validohet; asgjë në atë validim nuk mbron një çelës privat të kopjuar para rrotullimit.
Shkruani vendimin në një vend: cila depo mban çelësin, cili proces mund ta përdorë, kush mund ta rëizdhojë dhe cili është kthimi. Ai paragraf është ajo që kërkojnë audituesit, dhe ajo që i mbijeton një ndryshimi personeli.