Skopírujete funkčný profil OpenVPN 2 do novšieho klienta pre Windows, a certifikát, ktorý starý klient nachádzal sám, sa už neponúka. Riadok, ktorý to umožňoval, je selektor špecifický pre Windows patriaci klientovi Community 2, a novšia aplikácia je iný program s inou cestou prihlasovacích údajov. Profil sa nezmenil okrem tohto jedného riadka, a práve preto je rozdiel ťažko viditeľný.

V tej správe sa miešajú tri vrstvy: klient Community, základná knižnica a frontend, ktorý niekto nainštaloval. Direktíve kedy rozumela len jedna z nich.

Čo voľba znamená tam, kde existuje

V kliente Community OpenVPN 2 na Windows cryptoapicert označuje certifikát, ktorý má klient nájsť v úložisku certifikátov Windows, nie v súbore. Je to pohodlie špecifické pre Windows a funguje, pretože tento klient vie úložisko vymenovať a výsledný kľúč odovzdať vlastnému zásobníku TLS. Direktíva je teda súčasťou konfiguračného jazyka tohto klienta, nie vlastnosťou protokolu OpenVPN. Nič v prenosovom formáte ju nenesie.

Skopírujte ten istý riadok do inej aplikácie a skopírovali ste slovo, ktoré môže nový program spracovať, ignorovať alebo odmietnuť. Direktíva nie je vlastnosťou protokolu a táto nie je dokonca ani vlastnosťou každého klienta, ktorý hovorí OpenVPN.

Čo namiesto toho ponúka základná knižnica

OpenVPN 3 Core je knižnica, ktorú iné aplikácie vkladajú, a externé prihlasovacie údaje spracúva cez API, nie vyhľadávaním v úložisku. Vkladajúca aplikácia dodá reťaz certifikátov a neskôr požiada knižnicu, aby podpísala externým kľúčom, a knižnica preto volá späť do aplikácie. To je všeobecnejší návrh a znamená, že o tom, ktorí poskytovatelia existujú, rozhoduje frontend. V samotnom spracovaní volieb knižnice sa cryptoapicert objavuje medzi direktívami, ktoré nie sú implementované, čo zodpovedá tomuto rozdeleniu zodpovedností.

Existencia týchto spätných volaní neznamená, že daná zabalená aplikácia vymenuje osobné úložisko aktuálneho používateľa, podporuje konkrétneho poskytovateľa kľúčov alebo dokáže dokončiť výzvu čipovej karty. To sú vlastnosti frontendu a každú z nich musí frontend zdokumentovať.

Čo namiesto toho robí frontend pre Windows

OpenVPN Connect ide inou cestou: operátor importuje súbor PKCS#12 obsahujúci certifikát a jeho súkromný kľúč do OpenVPN Certificate Store vytvoreného na tento účel a potom priradí externý certifikát profilu. Je to zámerný krok importu, nie automatické objavenie toho, čo náhodou leží v osobnom úložisku. Rozdiel je dôležitý, keď niekto predpokladá, že certifikát nainštalovaný na iný účel sa jednoducho objaví v zozname klienta.

Import má dôsledok aj pre politiku kľúčov, pretože export kľúča do súboru P12 je presne to, čomu má neexportovateľný kľúč zabrániť. Je to otázka politiky, nie konfigurácie, a zaslúži si odpoveď skôr, než sa niekto o import pokúsi.

Vyberte cestu, ktorá zodpovedá politike kľúča

Ak sú prihlasovacie údaje exportovateľné a politika povoľuje zdokumentovaný import, použite chránený proces registrácie organizácie a udržujte dočasný P12 a jeho heslo mimo protokolov a skriptov. Ak kľúč nikdy nesmie opustiť čipovú kartu alebo chráneného poskytovateľa, vyberte kombináciu klienta a poskytovateľa, ktorá tento predpoklad výslovne podporuje, alebo si vyžiadajte potvrdenie od dodávateľa pre verziu, ktorú ste nainštalovali. Ani jedna vetva nie je náhradou za druhú.

Vrátenie direktívy do profilu nemôže poskytnúť integráciu, ktorú aplikácia nemá. Ani novšia verzia klienta ju nemusí pridať, pretože schopnosť patrí k vlastnému návrhu frontendu.

Keď miestny kľúč funguje, server stále kontroluje identitu certifikátu, reťaz a autorizáciu. Použiteľný miestny kľúč a prijatá identita VPN sú oddelené výsledky a práve ich oddelenie bráni tomu, aby sa obmedzenie frontendu zmenilo na oslabenú politiku certifikátov.

Súvisiace články