Két kérdés dönti el, hova tartozik a VPN privát kulcsa: átmásolható-e a kulcsanyag a gazdagépről, és használhatja-e egy folyamat úgy, hogy senki sincs a billentyűzetnél. Egy tároló marketingcímkéje egyikre sem válaszol. Egy alagút-démon, amelynek újraindítás után vissza kell jönnie, felügyelet nélküli használatot igényel, ami kizár mindent, ami ember által beírt PIN-hez kötött.

Válasszon másolás és használat között

A másolás és a használat különbözőképpen vall kudarcot, ezért két követelményként kezelje őket, ne egyként. Az a támadó, aki el tudja olvasni a kulcs bájtjait, másik gazdagépre viszi az identitást, és az eredeti gép nem vesz észre semmit. Az a támadó, aki nem tudja elolvasni a bájtokat, de eléri az aláírási folyamatot, továbbra is hitelesít, ameddig ez a hozzáférés tart.

A fájlban lévő kulcs triviálisan másolható, ezért a legkönnyebb biztonsági mentésbe tenni és visszaállítani. A szoftveres kulcstároló az API-t változtatja meg, nem a határt: a szolgáltató elutasítja a saját exporthívásait, de ugyanaz az adminisztrátori környezet, amely telepítette a kulcsot, általában más útvonalakat is ismer az anyaghoz. A nem exportálható jelleg szoftverszolgáltatónál a támogatott műveletekről szóló állítás, nem hardverfal bizonyítéka. Tekintse lassítónak az alkalmi másolás ellen, nem védelemnek azzal szemben, akinél már ott van a munkamenete.

A TPM vagy a chipkártya hardveren belül végzi az aláírási műveletet, és csak az eredményt adja vissza. Ez lezárja a másolási utat, a használati utat pedig nyitva hagyja mindazoknak, amelyek aláírást kérhetnek.

Illessze a tárolót az alagút-démonhoz

A démon jobban korlátozza ezt, mint a biztonsági szabályzat. A WireGuard base64 privát kulcsot vesz egy fájlból vagy a wg set bemenetéből, és nincs útja tanúsítványtárolóba, ezért a TPM-alapú illesztőkulcs nem jön szóba. Az OpenSSL 3 ellen épített OpenVPN szolgáltatói URI-n keresztül tölthet be kulcsot, és a strongSwan TPM-bővítményt szállít a PKCS#11 támogatás mellett, de mindkettő attól függ, hogyan fordították a csomagot.

Az a démon, amely nem éri el a kiválasztott tárolót, díszletté teszi a hardverhatárt. Valaki egyszer exportálja a kulcsot, otthagyja egy fájlban, és a tervezés többi része csendben azon a másolaton fut.

A megújítás az illesztés másik fele, és itt omlik össze a legtöbb terv. Az a tároló, amely az első regisztrációnál működik, de minden újrakibocsátáshoz konzolbejelentkezést kér, az első alkalommal megkerül, amikor egy tanúsítvány kényelmetlen órában jár le. Tesztelje az újrakibocsátási utat, amíg a jelenlegi kulcsnak még hónapjai vannak.

Leltározza a kulcsot mozgatás előtt

Rögzítse, mi a kulcs, mielőtt megváltoztatja, hol él, mert az a migráció, amely elveszíti a subject alternative names mezőket, úgy töri el az alagutat, hogy az útválasztási hibaként olvasható. Exportálja a tanúsítványt, erősítse meg, hogy a privát kulcs olvasható ott, ahol a démon várja, és ellenőrizze, hogy a pár valóban összeillik.

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

Az utolsó két kivonatnak azonosnak kell lennie. Ha nem azok, a démon befejezi a beállítást, majd minden kísérletnél tanúsítvány- vagy aláírási hibával vall kudarcot, amely nem mutat a valódi ok közelébe. A WireGuard megfelelője rövidebb, mert a nyilvános kulcs közvetlenül a privátból származik: a wg pubkey < /etc/wireguard/wg0.key parancsnak ki kell írnia azt a partnerkulcsot, amelyet a kiszolgálója már tárol.

Az engedélyek ugyanabba a leltárba tartoznak. A stat -c '%a %U:%G' /etc/wireguard/wg0.key parancsnak 600 root:root értéket kell visszaadnia, és minden, ami csoport vagy világ számára olvasható, azt jelenti, hogy a kulcs már elérhető volt olyan folyamatoknak, amelyeket soha nem szándékozott.

Ellenőrizze a tárolót és a használati utat

Az ellenőrzésnek három része van, és a harmadikat szokás kihagyni. Erősítse meg, hogy a kulcs létezik a választott tárolóban, erősítse meg, hogy a démon azt a kulcsot töltötte be, nem egy hátramaradt másolatot, majd erősítse meg, hogy még mindig elindul, amikor az exportálási artefaktum eltűnt.

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

Windows alatt az első parancs felsorolja a személyes tárolót, és minden bejegyzés mellé kiírja a kulcsszolgáltatót, és ott jelenik meg egy tanúsítvány, amely hardveresen védettnek látszik, de a szoftverszolgáltatóban ül. A második a platform kriptoszolgáltatója által tartott kulcsokat listázza, tehát az ott hiányzó VPN-identitás jelenlévő tanúsítvány mellett azt jelenti, hogy a privát fele máshol él. Linux átjárón az ipsec listcerts jelenti, mit töltött be a strongSwan, beleértve a TPM-bővítményből származó kulcsokat. Hasonlítsa össze az ujjlenyomatokat vagy a nyilvános kulcsok hash-eit a leltárral, ahelyett hogy a bejegyzések számában bízna.

A negatív teszt az, amely bizonyítja a tervet. Mozgassa az exportált kulcsot a démon konfigurációs könyvtárán kívülre, indítsa újra a szolgáltatást, és olvassa el a naplóban, milyen identitást mutat be. Az az alagút, amely mégis feljön, a tárolót használja; a sikertelen indítás azt jelenti, hogy a terv valóban másolaton futott.

Írja le a megújítást és a visszaállítást

A visszaállítás élesen különbözik a két család között, és ez a különbség a tervezési feljegyzésbe tartozik, nem egy incidenshívásba. A fájlban lévő kulcs titkosítva menthető és visszaállítható, így a sikertelen migráció visszafordítható. A nem exportálható kulcs egyáltalán nem menthető, ami az újrakibocsátást és az újraregisztrálást teszi az egyetlen helyreállítási úttá, amikor az eszköz meghal.

Ellenőrizze a lejáratot, mielőtt kimaradássá válik: a openssl x509 -in vpn.crt -noout -checkend 2592000 nullától eltérő kóddal ér véget, amikor a tanúsítvány harminc napon belül lejár, így közvetlenül beilleszthető egy megfigyelési ellenőrzésbe. Ennek a sornak a heti futtatása elkapja a megújítást, amelyet senki nem ütemezett.

Az eltávolítás a kiszolgálón történik: törölje a partnert vagy vonja vissza a sorozatszámot, majd erősítse meg, hogy az alagút meghiúsul, mert a gyorsítótárazott munkamenettel rendelkező kliens egy ideig elrejtheti a félkész visszavonást. A visszavonásnak el kell érnie a koncentrátor CRL- vagy OCSP-útját is, nem csak a CA adatbázisát. A tanúsítvány nyilvános dokumentum, és az RFC 5280 profil lefedi, hogyan validálják; ebből a validálásból semmi nem védi meg a rotáció előtt másolt privát kulcsot.

Írja le a döntést egy helyen: melyik tároló tartja a kulcsot, melyik folyamat használhatja, ki tudja újrakibocsátani, és mi a visszaállítás. Ez a bekezdés az, amit a könyvvizsgálók kérdeznek, és az, ami túlél egy személyzetváltást.

Kapcsolódó cikkek