Jou VPN-kliënt is gedeïnstalleer, die profiel is weg uit Instellings, en die tonnel kom steeds op met die ou geloofsbriewe. Of jy verwyder dit, herbegin, en vind dit die volgende oggend terug. Nie een is 'n stukkende verwyder-knoppie nie. 'n Profiel is konfigurasie; 'n sertifikaat is sleutelmateriaal plus 'n vertrouensbeslissing wat in 'n bewaarplek aangeteken is waarheen die profiel net wys. Watter een jy in die hand het, bepaal wat 'verwyder' moet beteken.

'n Profiel is nie 'n sertifikaat nie

Drie verskillende objekte word in 'n VPN-opstelling 'die sertifikaat' genoem. Die kliëntidentiteit is 'n bladsertifikaat met 'n private sleutel, en die gateway gebruik dit om te besluit wie jy is. Die bediener se eie blad en sy intermediêre sertifikaat is wat jou kliënt nagaan wanneer hy konnekteer. Die vertrouensanker, gewoonlik 'n wortel- of 'n private CA-sertifikaat, is wat die ketting hoegenaamd verifieerbaar maak. RFC 5280 noem hierdie die vertrouensanker, die intermediêre sertifikaat en die eindentiteit, en die ketting verifieer net solank elke skakel die een daaronder onderteken.

Verwyder die identiteit en een toestel verloor toegang. Verwyder die anker en elke toepassing wat teen daardie bewaarplek valideer, verloor die vermoë om enigiets na te gaan wat daaronder uitgereik is, insluitend verbindings wat niks met die VPN te doen het nie. Daardie asimmetrie is die hele risiko hier: 'n wortel wat vir een gateway geïnstalleer is, is dikwels dieselfde wortel wat 'n interne portaal, 'n posbediener of 'n pakketspieël onderteken. Onthou watter van die twee jy in die hand het.

Eienaarskap bepaal of die verwydering verwyderd bly. Op 'n skootrekenaar wat jy besit, is jy die enigste een wat die sertifikaat kan terugplaas. Op 'n bestuurde toestel kan 'n konfigurasieprofiel of 'n MDM-lading dit by die volgende aanmelding weer installeer, en dit is hoekom dit 'terugkom' en hoekom harder verwyder nie help nie.

Vind watter bewaarplek dit nog hou

Mense begin in die Instellings-app, wat die een plek is waar 'n sertifikaat nie gestoor word nie. Die werklike plekke is die bedryfstelsel se vertrouensbewaarplekke, die blaaier se eie bewaarplek en die toepassing se private bewaarplek.

StoreWhat deleting from it affects
Windows CurrentUser\Myyour login session only
Windows LocalMachine Rootevery user and service on the machine
macOS login or System keychainone account, or all of them with sudo
Linux ca-certificates bundlecurl, git, Python, anything using the system bundle
Firefox cert9.dbFirefox only; it does not read the OS store

Pas op die reeksnommer of die vingerafdruk, nooit op die vertoonnaam nie. Vertoonname word deur die uitreiker van die sertifikaat gestel en word hergebruik: 'Example VPN' kan drie sertifikate met drie verskillende sleutels wees, waarvan een nog daagliks gebruik word.

certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256

Op macOS gee die security-nutsding dieselfde feite, en find-identity wys watter sertifikate nog 'n private sleutel aangeheg het:

security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client

Verwyder die nou objek, hou die gedeelde uitreiker

Voer uit voor jy verwyder. Sonder 'n rugsteun is die enigste herstel om weer uit te reik, wat op 'n private CA beteken om terug te gaan na wie die PKI bestuur. Die uitgevoerde PFX is ook wat jy oorhandig as die verwydering die verkeerde besluit blyk te wees.

certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>

Die -user -vlag is die een wat mense per ongeluk weglaat. Sonder dit werk certutil op die masjienbewaarplek eerder, wat 'n verhoogde skulp, 'n ander stel sertifikate en 'n impakarea beteken wat nou elke ander rekening op die masjien insluit.

Op macOS en Linux is die vorm dieselfde: identifiseer, voer uit, verwyder dan uit die nouste bewaarplek wat die simptoom verduidelik. Om die lêer onder /usr/local/share/ca-certificates te verwyder en update-ca-certificates weer te laat loop, is genoeg; --fresh help net wanneer die simlinke in /etc/ssl/certs al inkonsekwent is. RHEL-familie-stelsels hou ankers in /etc/pki/ca-trust/source/anchors, waar trust anchor --remove dieselfde werk doen.

sudo security delete-certificate -Z <sha1> /Library/Keychains/System.keychain
sudo rm /usr/local/share/ca-certificates/example-vpn.crt
sudo update-ca-certificates
sudo trust anchor --remove /etc/pki/ca-trust/source/anchors/example-vpn.crt

Voordat jy 'n CA-sertifikaat verwyder, kyk wat nog aan dit koppel. Om die subjekte in die bondel te lys is 'n tweereëlkontrole en dit antwoord of daardie anker ander werk doen:

openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
  | openssl pkcs7 -print_certs -noout | grep -i example

Om die lêer te verwyder is nie om die identiteit te herroep nie

'n Plaaslike verwydering verwyder een kopie. Die private sleutel kan nog in 'n p12 sit wat aan 'n ou kaartjie, 'n rugsteungids of die tweede skootrekenaar wat destyds opgestel is, geheg is. As dit 'n kliëntidentiteit was, hou die gateway enige kopie van daardie sleutel aanvaar totdat die identiteit aan die bedienerkant geweier word.

Vir 'n OpenVPN -PKI beteken dit om die sertifikaat te herroep en seker te maak die CRL waarna crl-verify verwys, is huidig; easyrsa revoke dan easyrsa gen-crl is die kort weergawe. Vir 'n gateway wat aan 'n identiteitsverskaffer gekoppel is, deaktiveer die gebruiker of verwyder die toestel daar, want die sertifikaat is net een geloofsbrief in die spel. Om die plaaslike kopie te verwyder terwyl die rekening aktief bly, lyk soos opruiming en is dit nie.

Insidentwerk het 'n ander volgorde: bewaar die sertifikaat, sy reeksnommer en die herroepingsrekord eerste, verwyder en herroep dan. Daardie rekords kos niks en vereis nie dat 'n werkende geloofsbrief in plek bly nie.

Verifieer met 'n handdruk en 'n tweede program

Kontroleer die ketting van buite, nie uit die bewaarpleklys wat jy pas geredigeer het nie. Die bewaarplek wys jou wysiging; die handdruk wys die resultaat.

openssl s_client -connect vpn.example.com:443 -servername vpn.example.com \
  -CAfile /etc/ssl/certs/ca-certificates.crt -verify_return_error < /dev/null
openssl verify -CAfile /etc/ssl/certs/ca-certificates.crt vpn-gateway.pem

'n Terugkeerkode van 0 beteken die oorblywende ankers valideer die gateway steeds. 'n Kettingfout nadat die anker verwyder is, is die verwagte uitkoms, en dit bevestig dat jy die anker getref het wat in gebruik is eerder as 'n duplikaat in 'n bewaarplek wat die kliënt nooit lees nie. As die verbinding nog werk, soek na 'n tweede kopie, 'n programgebundelde bewaarplek of 'n vasgepen sertifikaat, almal algemeen in kliënte wat hul eie vertrouenslys verskeep.

Toets dan iets onverwants: 'n interne webwerf, 'n poskliënt, 'n pakketspieël. Dit meet die impakarea goedkoop, voordat die veranderingsvenster sluit.

  • Rol geïdentifiseer as identiteit, intermediêre sertifikaat of vertrouensanker
  • Reeksnommer en vingerafdruk aangeteken, en die kopie na die goedgekeurde plek uitgevoer
  • Verwydering gedoen in die nouste omvang wat die simptoom verduidelik
  • Bedienerkant-magtiging herroep toe 'n persoon of toestel weg is
  • Handdruk verduidelik, en een onverwante program weer getoets
  • MDM-lading of bestuursprofiel opgedateer, of die sertifikaat kom terug

As die sertifikaat ná 'n herbegin terug is, is die werk nie klaar nie: iets besit dit en herinstalleer dit. Vind daardie eienaar voordat jy weer verwyder, want 'n derde verwydering sal presies soos die eerste twee gedra.

Verwante artikels