Kje naj živi zasebni ključ VPN: datoteka, CNG ali TPM?
Izberite med datoteko s ključem, neizvoznim programskim shrambo in TPM za identiteto VPN, nato pa izbiro dokažite z ukazi in načrtom vračanja.
Dve vprašanji odločata, kam sodi zasebni ključ VPN: ali je mogoče ključni material kopirati z gostitelja in ali ga lahko proces uporabi brez nikogar za tipkovnico. Trženjska oznaka shrambe ne odgovori na nobeno od obeh. Demonu tunela, ki se mora po ponovnem zagonu vrniti, potrebuje uporabo brez nadzora, kar izključi vse, kar je vezano na PIN, ki ga vnese človek.
Izberite med kopiranjem in uporabo
Kopiranje in uporaba se lomita različno, zato ju obravnavajte kot dve zahtevi, ne eno. Napadalec, ki lahko prebere bajte ključa, odnese identiteto na drugega gostitelja, izvirni stroj pa tega ne opazi. Napadalec, ki bajtov ne more prebrati, doseže pa postopek podpisovanja, se še vedno overja, dokler ta dostop traja.
Ključ v datoteki je trivialno kopirljiv, zato ga je tudi najlažje varnostno kopirati in obnoviti. Programska shramba ključev spremeni API, ne meje: ponudnik zavrne lastne klice za izvoz, a isti skrbniški kontekst, ki je ključ namestil, ima običajno druge poti do materiala. Neizvozljivost pri programskem ponudniku je izjava o podprtih operacijah, ne dokaz strojnega zidu. Obravnavajte jo kot upočasnjevalec proti naključnemu kopiranju, ne kot zaščito pred nekom, ki že ima vašo sejo.
TPM ali pametna kartica izvede postopek podpisovanja v strojni opremi in vrne le rezultat. To zapre pot kopiranja, pot uporabe pa pusti odprto za vse, kar lahko zahteva podpis.
Uskladite shrambo z demonom tunela
Demon to omejuje bolj kot varnostna politika. WireGuard vzame zasebni ključ base64 iz datoteke ali iz vnosa wg set in nima poti v shrambo potrdil, zato ključ vmesnika s podporo TPM ne pride v poštev. OpenVPN, zgrajen proti OpenSSL 3, lahko naloži ključ prek URI-ja ponudnika, strongSwan pa priloži vtičnik TPM ob podpori PKCS#11, a oboje je odvisno od tega, kako je bil vaš paket preveden.
Demon, ki ne doseže izbrane shrambe, spremeni strojno mejo v okras. Nekdo enkrat izvozi ključ, ga pusti v datoteki, in preostanek zasnove tiho teče na tej kopiji.
Obnova je druga polovica ujemanja, in tu se zlomi večina zasnov. Shramba, ki deluje pri prvem vpisu, a zahteva prijavo v konzolo za vsako ponovno izdajo, je obidena prvič, ko potrdilo poteče ob neprikladni uri. Preizkusite pot ponovne izdaje, dokler ima trenutni ključ še mesece.
Popišite ključ pred premikom
Zabeležite, kaj je ključ, preden spremenite, kje živi, ker migracija, ki izgubi subject alternative names, zlomi tunel tako, da se bere kot napaka usmerjanja. Izvozite potrdilo, potrdite, da je zasebni ključ berljiv tam, kjer ga demon pričakuje, in preverite, da se par res ujema.
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
Zadnja dva povzetka morata biti enaka. Če nista, demon dokonča namestitev in nato spodleti pri vsakem poskusu z napako potrdila ali podpisa, ki ne kaže nikamor blizu pravega vzroka. Enakovredni ukaz za WireGuard je krajši, ker javni ključ izhaja neposredno iz zasebnega: wg pubkey < /etc/wireguard/wg0.key mora izpisati ključ partnerja, ki ga vaš strežnik že hrani.
Dovoljenja sodijo v isti popis. stat -c '%a %U:%G' /etc/wireguard/wg0.key bi moral vrniti 600 root:root, in vse, kar je berljivo skupini ali svetu, pomeni, da je bil ključ že na voljo procesom, ki jih niste predvideli.
Preverite shrambo in pot uporabe
Preverjanje ima tri dele, tretji pa se preskoči. Potrdite, da ključ obstaja v izbrani shrambi, potrdite, da je demon naložil ta ključ in ne preostale kopije, in nato potrdite, da se še zažene, ko artefakta izvoza ni več.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
V sistemu Windows prvi ukaz našteje osebno shrambo in izpiše ponudnika ključa ob vsakem vnosu, in tam se pojavi potrdilo, ki je videti strojno zaščiteno, a sedi v programskem ponudniku. Drugi našteje ključe, ki jih hrani platformski kriptoponudnik, zato identiteta VPN, ki tam manjka ob prisotnem potrdilu, pomeni, da zasebna polovica živi drugje. Na prehodu Linux ipsec listcerts poroča, kaj je naložil strongSwan, vključno s ključi iz vtičnika TPM. Primerjajte odtise ali zgoščene vrednosti javnih ključev s popisom, namesto da zaupate številu vnosov.
Negativni preizkus je tisti, ki dokaže zasnovo. Premaknite izvoženi ključ iz konfiguracijske mape demona, znova zaženite storitev in v dnevniku preberite, katero identiteto predstavlja. Tunel, ki se vseeno dvigne, uporablja shrambo; neuspešen zagon pomeni, da je zasnova res tekla na kopiji.
Zapišite obnovo in vračanje
Vračanje se močno razlikuje med obema družinama, in ta razlika sodi v zasnovo, ne v klic ob incidentu. Ključ v datoteki je mogoče varnostno kopirati šifriranega in obnoviti, zato je neuspešna migracija povratna. Neizvoznega ključa sploh ni mogoče varnostno kopirati, zato sta ponovna izdaja in ponovna registracija edina pot obnovitve, ko naprava umre.
Preverite potek, preden postane prekinitev: openssl x509 -in vpn.crt -noout -checkend 2592000 se konča z neničelno kodo, ko potrdilo poteče v tridesetih dneh, zato se neposredno vključi v nadzorno preverjanje. Tedenski zagon te vrstice ujame obnovo, ki je nihče ni načrtoval.
Odstranitev se zgodi na strežniku: izbrišite partnerja ali prekličite serijsko številko, nato potrdite, da tunel spodleti, saj lahko odjemalec s predpomnjeno sejo nekaj časa skrije napol dokončan preklic. Preklic mora doseči tudi pot CRL ali OCSP koncentratorja, ne le zbirke CA. Potrdilo je javni dokument, in profil RFC 5280 opisuje, kako se overja; nič v tem overjanju ne ščiti zasebnega ključa, kopiranega pred rotacijo.
Zapišite odločitev na enem mestu: katera shramba drži ključ, kateri proces ga sme uporabljati, kdo ga lahko ponovno izda in kakšno je vračanje. Ta odstavek je tisto, kar sprašujejo revizorji, in tisto, kar preživi menjavo osebja.