Twa fragen besljochtsje wêr't in VPN-privekaai heart: oft it kaaimateriaal fan de host kopiearre wurde kin, en oft in proses it brûke kin sûnder immen efter it toetseboerd. It marketinglabel fan in opslach beantwurdet gjin fan beide. In tunneldaemon dy't nei in herstart weromkomme moat, hat ûnbewekke gebrûk nedich, wat alles útslút dat oan in PIN bûn is dy't in minske yntsjocht.

Kies tusken kopiearjen en brûken

Kopiearjen en brûken mislearje oars, behannelje se dus as twa easken ynstee fan ien. In oanfaller dy't de kaaibytes lêze kin, draacht de identiteit nei in oare host, en de oarspronklike masine merkt dêr neat fan. In oanfaller dy't de bytes net lêze kin mar wol it ûndertekenproses berikke kin, autentisearret him noch altyd salang't dy tagong duorret.

In bestânskaai is triviaal kopiearber, en dêrom is dy ek it maklikst om te bekwatjen en werom te setten. In software-kaaiopslach feroaret de API, net de grins: de provider wegert syn eigen eksportoproppen, mar deselde behearderkontekst dy't de kaai ynstallearre hat, hat meastentiids oare rûtes nei it materiaal. Net-eksportearber by in softwareprovider is in útspraak oer stipe operaasjes, gjin bewiis fan in hardwaremuorre. Sjoch it as in ferkearsdrompel tsjin achtleas kopiearjen, net as beskerming tsjin immen dy't dyn sesje al hat.

In TPM of in smartkaart fiert de ûndertekenoperaasje yn hardware út en jout allinnich it resultaat werom. Dat slút it kopiearpaad en lit it brûkpaad iepen foar alles dat in hantekening oanfreegje kin.

Pas de opslach oan by de tunneldaemon

De daemon beheint dit mear as it befeiligingsbelied docht. WireGuard nimt in base64-privekaai út in bestân of út wg set-ynfier en hat gjin rûte nei in sertifikaatopslach, dus in TPM-stipe ynterfacekaai is net oan 'e oarder. OpenVPN boud tsjin OpenSSL 3 kin in kaai fia in provider-URI lade, en strongSwan leveret in TPM-plug-in njonken PKCS#11-stipe, mar beide hingje ôf fan hoe't dyn pakket kompilearre is.

In daemon dy't de keazen opslach net berikke kin, makket fan 'e hardwaregrins dekoraasje. Immen eksportearret de kaai ien kear, lit dy yn in bestân lizze, en de rest fan it ûntwerp draait stil op dy kopy.

Fernijing is de oare helte fan 'e oansluting, en dêr geane de measte ûntwerpen mis. In opslach dy't wol wurket foar de earste ynskriuwing mar foar elke werútjefte in konsolesesje easket, wurdt omgien de earste kear dat in sertifikaat op in ûngelegen oere ferrint. Test it werútjeftepaad wylst de hjoeddeiske kaai noch moannen hat.

Ynventarisearje de kaai foardatst him ferpleatst

Skriuw op wat de kaai is foardatst feroarest wêr't dy wennet, want in migraasje dy't de subject alternative names ferliest, brekt de tunnel op in wize dy't as in routedflater liedt. Dump it sertifikaat, befêstigje dat de privekaai lêsber is wêr't de daemon him ferwachtet, en kontrolearje dat it pear eins byinoar past.

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

De lêste beide digests moatte identyk wêze. Binne se dat net, dan makket de daemon syn opset ôf en mislearret dan elke poging mei in sertifikaat- of hantekeningflater dy't nearne tichtby de wiere oarsaak wiist. It WireGuard-ekwivalint is koarter, om't de publike kaai direkt fan 'e private ôflaat wurdt: wg pubkey < /etc/wireguard/wg0.key moat de peerkaai printsje dy't dyn server al yn 'e administraasje hat.

Rjochten hearre yn deselde ynventarisaasje. stat -c '%a %U:%G' /etc/wireguard/wg0.key heart 600 root:root werom te jaan, en alles dat foar groep of wrâld lêsber is, betsjut dat de kaai al beskikber wie foar prosessen dy'tst nea bedoeld hiest.

Kontrolearje de opslach en it brûkpaad

Ferifikaasje hat trije dielen, en it tredde wurdt oerslein. Befêstigje dat de kaai bestiet yn 'e opslach dy'tst keazen hast, befêstigje dat de daemon dy kaai laden hat en net in efterbleaune kopy, en befêstigje dan dat er noch start as it eksportartefakt fuort is.

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

Op Windows listet it earste kommando de persoanlike opslach op en prints it de kaai-provider njonken elke ynskriuwing, en dêr komt in sertifikaat op dat hardware-stipe liket mar yn 'e softwareprovider sit. It twadde listet kaaien fan 'e platform-kryptoprovider, dus in VPN-identiteit dy't dêr ûntbrekt wylst it sertifikaat oanwêzich is, betsjut dat de private helte earne oars wennet. Op in Linux-gateway rapportearret ipsec listcerts wat strongSwan laden hat, ek kaaien út 'e TPM-plug-in. Ferlykje tomblôden of publike-kaai-hashes mei de ynventarisaasje ynstee fan it oantal ynskriuwingen te fertrouwen.

De negative test is dejinge dy't it ûntwerp bewiist. Ferpleatse de eksportearre kaai út 'e konfiguraasjemap fan 'e daemon, herstart de tsjinst en lês yn it log hokker identiteit er presintearret. In tunnel dy't dochs opkomt brûkt de opslach; in mislearre start betsjut dat it ûntwerp echt op in kopy draaide.

Skriuw fernijing en weromdraaien op

Weromdraaie ferskilt skerp tusken de twa famyljes, en dat ferskil heart yn 'e ûntwerpnotysje, net yn in ynsidintpetear. In bestânskaai kin fersifere bekwat wurde en werombrocht, dus in mislearre migraasje draait om. In net-eksportearbere kaai kin hielendal net bekwat wurde, wat werútjefte en werynskriuwing it iennige hersteldpaad makket as it apparaat stjert.

Kontrolearje de ferfaldatum foardat dy in steuring wurdt: openssl x509 -in vpn.crt -noout -checkend 2592000 einiget mei in net-nul koade sadree't it sertifikaat binnen tritich dagen ferrint, dus it past direkt yn in monitoringstest. In wyklikse loop fan dy rigel fangt de fernijing dy't nimmen pland hie.

Fuortheljen bart op 'e server: wiskje de peer of lûk it searjenûmer yn, en befêstigje dan dat de tunnel mist, want in klant mei in cache-sesje kin in healôfmakke ynlûking in skoft ferbergje. Ynlûking moat ek it CRL- of OCSP-paad fan 'e konsintrator berikke, net allinnich de CA-databank. In sertifikaat is in iepenbier dokumint, en it RFC 5280-profyl beskriuwt hoe't it validearre wurdt; neat fan dy falidaasje beskermet in privekaai dy't foar de rotaasje kopiearre is.

Skriuw de beslissing op ien plak: hokker opslach de kaai hâldt, hokker proses him brûke mei, wa't him werútjaan kin en wat it weromdraaien is. Dy paragraaf is wat auditors freegje, en wat in personielsferoaring oerlibbet.

Relatearre artikelen