Dva pitanja odlučuju gdje pripada privatni ključ VPN-a: može li se materijal ključa kopirati s hosta i može li ga proces koristiti bez ikoga za tastaturom. Marketinška oznaka spremišta ne odgovara ni na jedno. Daemonu tunela koji se mora vratiti nakon ponovnog pokretanja potrebno je korištenje bez nadzora, što isključuje sve što zavisi od PIN-a koji unosi čovjek.

Odaberite između kopiranja i korištenja

Kopiranje i korištenje zatajuju na različite načine, zato ih tretirajte kao dva zahtjeva umjesto jednog. Napadač koji može pročitati bajtove ključa nosi identitet na drugi host, a izvorno računalo to ne primjećuje. Napadač koji ne može pročitati bajtove, ali može doći do procesa potpisivanja, i dalje se autentificira dok taj pristup traje.

Ključ u datoteci trivijalno je kopirljiv, zato ga je i najlakše sigurnosno kopirati i vratiti. Softversko spremište ključeva mijenja API, a ne granicu: pružalac odbija vlastite pozive izvoza, ali isti administratorski kontekst koji je instalirao ključ obično ima druge putove do materijala. Neizvozivost kod softverskog pružaoca izjava je o podržanim operacijama, a ne dokaz hardverskog zida. Tretirajte je kao usporivač protiv nenamjernog kopiranja, ne kao zaštitu od nekoga ko već ima vašu sesiju.

TPM ili pametna kartica izvodi operaciju potpisivanja unutar hardvera i vraća samo rezultat. To zatvara put kopiranja, a put korištenja ostavlja otvorenim za sve što može zatražiti potpis.

Uskladite spremište s daemonom tunela

Daemon to ograničava više nego sigurnosna politika. WireGuard uzima privatni ključ u base64 iz datoteke ili iz unosa wg set i nema put do spremišta certifikata, pa ključ interfejsa s TPM podrškom ne dolazi u obzir. OpenVPN kompajliran uz OpenSSL 3 može učitati ključ preko URI-ja pružaoca, a strongSwan isporučuje TPM dodatak uz PKCS#11 podršku, ali oboje zavisi od toga kako je vaš paket kompajliran.

Daemon koji ne može dosegnuti odabrano spremište pretvara hardversku granicu u dekoraciju. Neko jednom izveze ključ, ostavi ga u datoteci, i ostatak projekta tiho radi na toj kopiji.

Obnova je druga polovina usklađivanja, i tu se raspada većina projekata. Spremište koje radi pri prvoj registraciji, ali zahtijeva prijavu na konzoli za svako ponovno izdavanje, zaobilazi se prvi put kad certifikat istekne u nezgodan sat. Testirajte put ponovnog izdavanja dok trenutni ključ još ima mjesece.

Inventarizirajte ključ prije premještanja

Zabilježite šta je ključ prije nego promijenite gdje živi, jer migracija koja izgubi subject alternative names lomi tunel na način koji se čita kao greška rutiranja. Izvezite certifikat, potvrdite da je privatni ključ čitljiv tamo gdje ga daemon očekuje i provjerite da se par zaista podudara.

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

Posljednja dva sažetka moraju biti identična. Ako nisu, daemon dovršava postavljanje i zatim ne uspijeva pri svakom pokušaju s greškom certifikata ili potpisa koja ne upućuje nigdje blizu pravog uzroka. Ekvivalent za WireGuard je kraći jer se javni ključ izvodi direktno iz privatnog: wg pubkey < /etc/wireguard/wg0.key mora ispisati ključ partnera koji vaš server već čuva.

Dozvole pripadaju istom inventaru. stat -c '%a %U:%G' /etc/wireguard/wg0.key trebao bi vratiti 600 root:root, a sve što je čitljivo grupi ili svijetu znači da je ključ već bio dostupan procesima koje niste predvidjeli.

Provjerite spremište i put korištenja

Provjera ima tri dijela, a treći se preskače. Potvrdite da ključ postoji u odabranom spremištu, potvrdite da je daemon učitao taj ključ, a ne preostalu kopiju, i zatim potvrdite da se još pokreće kad artefakt izvoza nestane.

certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts

Na Windowsu prva naredba popisuje lično spremište i ispisuje pružaoca ključa uz svaki unos, i tu se pojavljuje certifikat koji izgleda hardverski zaštićen, ali sjedi u softverskom pružaocu. Druga popisuje ključeve koje drži platformski kriptopružalac, pa identitet VPN-a koji ondje nedostaje uz prisutan certifikat znači da privatna polovina živi drugdje. Na Linux mrežnom prolazu ipsec listcerts izvještava šta je strongSwan učitao, uključujući ključeve iz TPM dodatka. Uporedite otiske ili hashove javnih ključeva s inventarom umjesto da vjerujete broju unosa.

Negativni test je onaj koji dokazuje projekat. Premjestite izvezeni ključ izvan konfiguracijskog direktorija daemona, ponovo pokrenite uslugu i pročitajte u dnevniku koji identitet predstavlja. Tunel koji se ipak podigne koristi spremište; neuspješno pokretanje znači da je projekat zaista radio na kopiji.

Zapišite obnovu i vraćanje

Vraćanje se jako razlikuje između dvije familije, i ta razlika pripada projektnoj bilješci, a ne pozivu za incident. Ključ u datoteci može se sigurnosno kopirati šifrirano i vratiti, pa je neuspješna migracija obrnuta. Neizvoziv ključ ne može se uopće sigurnosno kopirati, što ponovno izdavanje i ponovnu registraciju čini jedinim putem oporavka kad uređaj umre.

Provjerite istek prije nego postane prekid: openssl x509 -in vpn.crt -noout -checkend 2592000 završava s nenula kodom kad certifikat istekne unutar trideset dana, pa se direktno uklapa u provjeru nadzora. Sedmično pokretanje tog reda hvata obnovu koju niko nije isplanirao.

Uklanjanje se događa na serveru: izbrišite partnera ili opozovite serijski broj, zatim potvrdite da tunel zataji, jer klijent s keširanom sesijom može neko vrijeme sakriti napola dovršeno opozivanje. Opoziv mora stići i do CRL ili OCSP puta koncentratora, ne samo do baze CA. Certifikat je javni dokument, a profil RFC 5280 opisuje kako se validira; ništa u toj validaciji ne štiti privatni ključ kopiran prije rotacije.

Zapišite odluku na jednom mjestu: koje spremište drži ključ, koji ga proces smije koristiti, ko ga može ponovno izdati i kakvo je vraćanje. Taj pasus je ono što traže revizori i ono što preživljava promjenu osoblja.

Povezani članci