Kde má žiť privátny kľúč VPN: súbor, CNG alebo TPM?
Vyberte si medzi súborom s kľúčom, neexportovateľným softvérovým úložiskom a TPM pre identitu VPN, potom voľbu preukážte príkazmi a plánom návratu.
Dve otázky rozhodujú, kam patrí privátny kľúč VPN: či sa dá kľúčový materiál skopírovať z hostiteľa a či ho proces môže použiť bez nikoho pri klávesnici. Marketingový štítok úložiska neodpovedá na ani jednu. Démon tunela, ktorý sa musí po reštarte vrátiť, potrebuje používanie bez dozoru, čo vylučuje všetko viazané na PIN, ktorý zadáva človek.
Vyberte medzi kopírovaním a používaním
Kopírovanie a používanie zlyhávajú rôzne, preto ich berte ako dve požiadavky, nie jednu. Útočník, ktorý dokáže prečítať bajty kľúča, odnesie identitu na iný hostiteľ a pôvodný stroj si to nevšimne. Útočník, ktorý bajty prečítať nevie, ale dosiahne proces podpisovania, sa stále overuje, kým ten prístup trvá.
Kľúč v súbore je triviálne kopírovateľný, preto sa aj najľahšie zálohuje a obnovuje. Softvérové úložisko kľúčov mení API, nie hranicu: poskytovateľ odmieta vlastné volania exportu, ale ten istý správcovský kontext, ktorý kľúč nainštaloval, má zvyčajne iné cesty k materiálu. Neexportovateľnosť u softvérového poskytovateľa je tvrdenie o podporovaných operáciách, nie dôkaz hardvérovej steny. Berte ju ako spomaľovač proti náhodnému kopírovaniu, nie ako ochranu pred niekým, kto už má vašu reláciu.
TPM alebo čipová karta vykonáva operáciu podpisu v hardvéri a vracia len výsledok. To zatvára cestu kopírovania a cestu používania necháva otvorenú pre všetko, čo môže požiadať o podpis.
Zosúlaďte úložisko s démonom tunela
Démon to obmedzuje viac než bezpečnostná politika. WireGuard berie privátny kľúč v base64 zo súboru alebo zo vstupu wg set a nemá cestu do úložiska certifikátov, takže kľúč rozhrania s podporou TPM neprichádza do úvahy. OpenVPN zostavené proti OpenSSL 3 môže načítať kľúč cez URI poskytovateľa a strongSwan dodáva doplnok TPM popri podpore PKCS#11, ale oboje závisí od toho, ako bol váš balík preložený.
Démon, ktorý nedosiahne zvolené úložisko, premení hardvérovú hranicu na dekoráciu. Niekto raz vyexportuje kľúč, nechá ho v súbore a zvyšok návrhu potichu beží na tejto kópii.
Obnova je druhá polovica zosúladenia a práve tam sa láme väčšina návrhov. Úložisko, ktoré funguje pri prvej registrácii, ale pre každé opätovné vydanie vyžaduje prihlásenie do konzoly, sa obíde prvýkrát, keď certifikát vyprší v nevhodnú hodinu. Otestujte cestu opätovného vydania, kým má aktuálny kľúč ešte mesiace.
Zinventarizujte kľúč pred presunom
Zapíšte, čo je kľúč, skôr než zmeníte, kde žije, pretože migrácia, ktorá stratí subject alternative names, zlomí tunel tak, že sa to číta ako chyba smerovania. Vyexportujte certifikát, potvrďte, že privátny kľúč je čitateľný tam, kde ho démon očakáva, a skontrolujte, že pár skutočne sedí.
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
Posledné dva výťahy musia byť zhodné. Ak nie sú, démon dokončí nastavenie a potom zlyhá pri každom pokuse s chybou certifikátu alebo podpisu, ktorá neukazuje nikde blízko skutočnej príčiny. Ekvivalent pre WireGuard je kratší, pretože verejný kľúč sa odvodzuje priamo zo súkromného: wg pubkey < /etc/wireguard/wg0.key musí vypísať kľúč partnera, ktorý váš server už uchováva.
Práva patria do toho istého inventára. stat -c '%a %U:%G' /etc/wireguard/wg0.key by malo vrátiť 600 root:root a čokoľvek čitateľné pre skupinu alebo svet znamená, že kľúč už bol dostupný procesom, ktoré ste nikdy nezamýšľali.
Skontrolujte úložisko a cestu používania
Overenie má tri časti a tretia sa vynecháva. Potvrďte, že kľúč existuje vo zvolenom úložisku, potvrďte, že démon načítal tento kľúč a nie zvyšnú kópiu, a potom potvrďte, že sa ešte spustí, keď artefakt exportu zmizne.
certutil -store -user My
certutil -csp "Microsoft Platform Crypto Provider" -key -user
certutil -verifykeys -user My
ipsec listcerts
V systéme Windows prvý príkaz vypíše osobnú úložisko a vedľa každého záznamu vytlačí poskytovateľa kľúčov, a tam sa objaví certifikát, ktorý vyzerá hardvérovo chránený, ale sedí v softvérovom poskytovateľovi. Druhý vypíše kľúče, ktoré drží platformový kryptoposkytovateľ, takže identita VPN, ktorá tam chýba pri prítomnom certifikáte, znamená, že súkromná polovica žije inde. Na bráne Linux ipsec listcerts hlási, čo načítal strongSwan, vrátane kľúčov z doplnku TPM. Porovnávajte odtlačky alebo hashe verejných kľúčov s inventárom, namiesto toho, aby ste verili počtu záznamov.
Negatívny test je ten, ktorý preukáže návrh. Presuňte exportovaný kľúč z konfiguračného adresára démona, reštartujte službu a v denníku prečítajte, akú identitu predkladá. Tunel, ktorý aj tak nabieha, používa úložisko; neúspešný štart znamená, že návrh skutočne bežal na kópii.
Zapíšte obnovu a návrat
Návrat sa výrazne líši medzi oboma rodinami a ten rozdiel patrí do návrhovej poznámky, nie do hovoru o incidente. Kľúč v súbore sa dá zálohovať šifrovaný a obnoviť, takže neúspešná migrácia je vratná. Neexportovateľný kľúč sa nedá zálohovať vôbec, čo robí opätovné vydanie a opätovnú registráciu jedinou cestou obnovy, keď zariadenie zomrie.
Kontrolujte vypršanie, kým sa nestane výpadkom: openssl x509 -in vpn.crt -noout -checkend 2592000 končí s nenulovým kódom, keď certifikát vyprší do tridsiatich dní, takže sa priamo hodí do monitorovacej kontroly. Týždenné spustenie tohto riadku zachytí obnovu, ktorú nikto nenaplánoval.
Odstránenie sa deje na serveri: vymažte partnera alebo odvolajte sériové číslo, potom potvrďte, že tunel zlyhá, pretože klient s kešovanou reláciou môže načas skryť napoly dokončené odvolanie. Odvolanie musí dosiahnuť aj cestu CRL alebo OCSP koncentrátora, nielen databázu CA. Certifikát je verejný dokument a profil RFC 5280 pokrýva, ako sa overuje; nič z tohto overovania nechráni privátny kľúč skopírovaný pred rotáciou.
Napíšte rozhodnutie na jedno miesto: ktoré úložisko drží kľúč, ktorý proces ho smie používať, kto ho môže znovu vydať a aký je návrat. Ten odsek je to, na čo sa pýtajú audítori, a to, čo prežije zmenu personálu.