పాత VPN సర్టిఫికెట్ను విశ్వాస నిల్వ నుండి ఎలా తీసివేయాలి
VPN ప్రొఫైల్ తొలగించినా సర్టిఫికెట్ OS, బ్రౌజర్ లేదా యాప్ స్టోర్లో మిగిలిపోతుంది. వేలిముద్రతో సరిపోల్చి, అత్యంత సన్నిహిత కాపీని తొలగించి, ఆపై గొలుసును ధృవీకరించండి.
మీ VPN క్లయింట్ అన్ఇన్స్టాల్ అయింది, ప్రొఫైల్ సెట్టింగ్ల నుండి పోయింది, అయినా సొరంగం పాత ఆధారాలతోనే లేస్తోంది. లేదా మీరు దాన్ని తొలగించి, రీబూట్ చేసి, మరుసటి రోజు ఉదయం తిరిగి కనుగొంటారు. వీటిలో ఏదీ పాడైన తొలగింపు బటన్ కాదు. ప్రొఫైల్ అనేది కాన్ఫిగరేషన్; సర్టిఫికెట్ అనేది కీ మెటీరియల్ మరియు ప్రొఫైల్ కేవలం సూచించే నిల్వలో నమోదైన విశ్వాస నిర్ణయం. వీటిలో ఏది మీ చేతుల్లో ఉందనేది 'తీసివేయు' అంటే ఏమిటో నిర్ణయిస్తుంది.
ప్రొఫైల్ సర్టిఫికెట్ కాదు
VPN సెటప్లో మూడు వేర్వేరు వస్తువులను 'సర్టిఫికెట్' అంటారు. క్లయింట్ గుర్తింపు అనేది ప్రైవేట్ కీ ఉన్న లీఫ్ సర్టిఫికెట్, మీరు ఎవరో నిర్ణయించడానికి గేట్వే దాన్ని ఉపయోగిస్తుంది. సర్వర్ సొంత లీఫ్ సర్టిఫికెట్ మరియు దాని ఇంటర్మీడియట్ మీ క్లయింట్ కనెక్ట్ అయ్యేటప్పుడు తనిఖీ చేసేవి. విశ్వాస యాంకర్, సాధారణంగా రూట్ లేదా ప్రైవేట్ CA సర్టిఫికెట్, గొలుసును అసలు ధృవీకరించగలిగేలా చేసేది అదే. RFC 5280 వీటిని విశ్వాస యాంకర్, ఇంటర్మీడియట్ మరియు చివరి ఎంటిటీ అని పిలుస్తుంది, ప్రతి లింక్ కింది లింక్పై సంతకం చేసేంత వరకే గొలుసు చెల్లుతుంది.
గుర్తింపును తొలగిస్తే ఒక పరికరం యాక్సెస్ కోల్పోతుంది. యాంకర్ను తొలగిస్తే ఆ నిల్వకు వ్యతిరేకంగా ధృవీకరించే ప్రతి అప్లికేషన్ దాని కింద జారీ చేసిన ఏదైనా తనిఖీ చేసే సామర్థ్యాన్ని కోల్పోతుంది, VPN తో ఎలాంటి సంబంధం లేని కనెక్షన్లతో సహా. ఈ అసమానత్వమే ఇక్కడ మొత్తం ప్రమాదం: ఒక గేట్వే కోసం ఇన్స్టాల్ చేసిన రూట్ తరచుగా అంతర్గత పోర్టల్, మెయిల్ సర్వర్ లేదా ప్యాకేజీ మిర్రర్పై సంతకం చేసే అదే రూట్. వీటిలో ఏది మీ చేతుల్లో ఉందో గుర్తుంచుకోండి.
యాజమాన్యం తొలగింపు తొలగించబడినట్లే ఉంటుందా అని నిర్ణయిస్తుంది. మీ సొంత ల్యాప్టాప్లో సర్టిఫికెట్ను తిరిగి పెట్టగలిగేది మీరే. నిర్వహిత పరికరంలో కాన్ఫిగరేషన్ ప్రొఫైల్ లేదా MDM పేలోడ్ తదుపరి చెక్-ఇన్లో దాన్ని మళ్లీ ఇన్స్టాల్ చేయగలదు, అందుకే అది 'తిరిగి వస్తుంది' మరియు అందుకే గట్టిగా తొలగించడం సహాయపడదు.
ఇది ఇంకా ఏ నిల్వలో ఉందో కనుగొనండి
ప్రజలు సెట్టింగ్ల యాప్లో ప్రారంభిస్తారు, అదే సర్టిఫికెట్ నిల్వ చేయబడని ఏకైక ప్రదేశం. నిజమైన ప్రదేశాలు OS విశ్వాస నిల్వలు, బ్రౌజర్ సొంత నిల్వ మరియు అప్లికేషన్ ప్రైవేట్ నిల్వ.
| Store | What deleting from it affects |
|---|---|
| Windows CurrentUser\My | your login session only |
| Windows LocalMachine Root | every user and service on the machine |
| macOS login or System keychain | one account, or all of them with sudo |
| Linux ca-certificates bundle | curl, git, Python, anything using the system bundle |
| Firefox cert9.db | Firefox only; it does not read the OS store |
క్రమ సంఖ్య లేదా వేలిముద్రపై సరిపోల్చండి, ప్రదర్శన పేరుపై ఎప్పుడూ కాదు. ప్రదర్శన పేర్లను సర్టిఫికెట్ జారీ చేసినవారు పెడతారు, అవి మళ్లీ ఉపయోగించబడతాయి: 'Example VPN' మూడు వేర్వేరు కీలతో మూడు సర్టిఫికెట్లు కావచ్చు, ఒకటి ఇంకా రోజువారీ వినియోగంలో ఉంది.
certutil -user -store My
certutil -store Root
openssl x509 -in vpn-client.pem -noout -subject -issuer -serial -fingerprint -sha256
macOS లో security సాధనం అదే వాస్తవాలను ఇస్తుంది, మరియు find-identity ఏ సర్టిఫికెట్లకు ఇంకా ప్రైవేట్ కీ జోడించబడి ఉందో చూపిస్తుంది:
security find-certificate -a -c "Example VPN" -Z /Library/Keychains/System.keychain
security find-identity -v -p ssl-client
సన్నిహిత వస్తువును తొలగించండి, ఉమ్మడి జారీదారును ఉంచండి
తొలగించే ముందు ఎగుమతి చేయండి. బ్యాకప్ లేకుండా ఏకైక పునరుద్ధరణ మళ్లీ జారీ చేయడమే, ప్రైవేట్ CA లో దీని అర్థం PKI నడిపే వ్యక్తి వద్దకు తిరిగి వెళ్లడం. ఎగుమతి చేసిన PFX కూడా తీసివేత తప్పు నిర్ణయమని తేలితే మీరు అప్పగించేది.
certutil -user -exportPFX -p backup My <serial> C:\temp\vpn-id.pfx
certutil -user -delstore My <serial>
Remove-Item Cert:\CurrentUser\My<thumbprint>
ఈ -user ఫ్లాగ్ను ప్రజలు ప్రమాదవశాత్తు వదిలేస్తారు. అది లేకుండా certutil మెషిన్ నిల్వపై పని చేస్తుంది, అంటే ఎలివేటెడ్ షెల్, వేరే సర్టిఫికెట్ సెట్ మరియు ఇప్పుడు మెషిన్లోని అన్ని ఇతర ఖాతాలను కలిపే ప్రభావ పరిధి.
macOS మరియు Linux లో ఆకారం ఒకటే: గుర్తించండి, ఎగుమతి చేయండి, ఆపై లక్షణాన్ని వివరించే అత్యంత సన్నిహిత నిల్వ నుండి తీసివేయండి. /usr/local/share/ca-certificates కింద ఉన్న ఫైల్ను తొలగించి మళ్లీ update-ca-certificates అమలు చేయడం సరిపోతుంది; --fresh సింబాలిక్ లింక్లు /etc/ssl/certs లో ఇప్పటికే సరిపోలకపోతేనే సహాయపడుతుంది. RHEL కుటుంబ వ్యవస్థలు యాంకర్లను /etc/pki/ca-trust/source/anchors లో ఉంచుతాయి, అక్కడ trust anchor --remove అదే పని చేస్తుంది.
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
CA సర్టిఫికెట్ను తొలగించే ముందు దానికి ఇంకా ఏమి గొలుసుగా కలుస్తుందో తనిఖీ చేయండి. బండిల్లోని విషయాలను జాబితా చేయడం రెండు పంక్తుల తనిఖీ మరియు ఆ యాంకర్ వేరే పని చేస్తుందా అని సమాధానం ఇస్తుంది:
openssl crl2pkcs7 -nocrl -certfile /etc/ssl/certs/ca-certificates.crt \
| openssl pkcs7 -print_certs -noout | grep -i example
ఫైల్ను తొలగించడం గుర్తింపును రద్దు చేయడం కాదు
స్థానిక తొలగింపు ఒక కాపీని తీసివేస్తుంది. ప్రైవేట్ కీ పాత టికెట్కు జోడించిన p12 లో, బ్యాకప్ ఫోల్డర్లో లేదా అదే సమయంలో సెటప్ చేసిన రెండవ ల్యాప్టాప్లో ఇంకా ఉండవచ్చు. ఇది క్లయింట్ గుర్తింపు అయితే, గుర్తింపు సర్వర్ వైపు తిరస్కరించబడే వరకు గేట్వే ఆ కీ యొక్క ఏ కాపీనైనా అంగీకరిస్తూనే ఉంటుంది.
ఒక OpenVPN PKI కి దీని అర్థం సర్టిఫికెట్ను రద్దు చేయడం మరియు crl-verify సూచించే CRL ప్రస్తుతం ఉందని నిర్ధారించడం; easyrsa revoke ఆపై easyrsa gen-crl చిన్న వెర్షన్. గుర్తింపు ప్రదాతకు కట్టుబడిన గేట్వే కోసం అక్కడ వినియోగదారును నిలిపివేయండి లేదా పరికరాన్ని తీసివేయండి, ఎందుకంటే సర్టిఫికెట్ ఆటలో ఒకే ఒక ఆధారం. ఖాతా యాక్టివ్గా ఉండగానే స్థానిక కాపీని తొలగించడం శుభ్రతలా కనిపిస్తుంది, కానీ కాదు.
సంఘటన పనికి వేరే క్రమం ఉంది: మొదట సర్టిఫికెట్, దాని క్రమ సంఖ్య మరియు రద్దు రికార్డును భద్రపరచండి, ఆపై తొలగించి రద్దు చేయండి. ఆ రికార్డులకు ఎలాంటి ఖర్చూ లేదు, పనిచేసే ఆధారాన్ని అక్కడే వదిలేయాల్సిన అవసరం లేదు.
హ్యాండ్షేక్ మరియు రెండవ యాప్తో ధృవీకరించండి
గొలుసును బయటి నుండి తనిఖీ చేయండి, మీరు ఇప్పుడే సవరించిన నిల్వ జాబితా నుండి కాదు. నిల్వ మీ మార్పును చూపిస్తుంది; హ్యాండ్షేక్ ఫలితాన్ని చూపిస్తుంది.
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
రిటర్న్ కోడ్ 0 అంటే మిగిలిన యాంకర్లు ఇంకా గేట్వేను ధృవీకరిస్తున్నాయి. యాంకర్ తీసివేసిన తర్వాత గొలుసు లోపం ఆశించిన ఫలితం, మరియు మీరు వాడుకలో ఉన్న యాంకర్ను తాకారని, క్లయింట్ ఎప్పుడూ చదవని నిల్వలోని నకిలీని కాదని నిర్ధారిస్తుంది. కనెక్షన్ ఇంకా పనిచేస్తే, రెండవ కాపీ, యాప్లోని నిల్వ లేదా పిన్ చేసిన సర్టిఫికెట్ కోసం చూడండి; ఇవన్నీ తమ సొంత విశ్వాస జాబితాను తెచ్చే క్లయింట్లలో సాధారణం.
ఆపై సంబంధం లేని ఏదైనా పరీక్షించండి: అంతర్గత సైట్, మెయిల్ క్లయింట్, ప్యాకేజీ మిర్రర్. ఇది మార్పు విండో మూసివేయకముందే ప్రభావ పరిధిని చవకగా కొలుస్తుంది.
- పాత్ర గుర్తింపు, ఇంటర్మీడియట్ లేదా విశ్వాస యాంకర్గా గుర్తించబడింది
- క్రమ సంఖ్య మరియు వేలిముద్ర నమోదు చేయబడి, కాపీ ఆమోదించిన ప్రదేశానికి ఎగుమతి చేయబడింది
- లక్షణాన్ని వివరించే అత్యంత సన్నిహిత పరిధిలో తొలగింపు పూర్తయింది
- వ్యక్తి లేదా పరికరం వెళ్లినప్పుడు సర్వర్ వైపు అనుమతి రద్దు చేయబడింది
- హ్యాండ్షేక్ వివరించబడింది, మరియు సంబంధం లేని ఒక యాప్ మళ్లీ పరీక్షించబడింది
- MDM పేలోడ్ లేదా నిర్వహణ ప్రొఫైల్ నవీకరించబడింది, లేకపోతే సర్టిఫికెట్ తిరిగి వస్తుంది
రీబూట్ తర్వాత సర్టిఫికెట్ తిరిగి వచ్చిందంటే పని పూర్తికాలేదు: ఏదో దాన్ని కలిగి ఉండి మళ్లీ ఇన్స్టాల్ చేస్తుంది. మళ్లీ తొలగించే ముందు ఆ యజమానిని కనుగొనండి, ఎందుకంటే మూడవ తొలగింపు మొదటి రెండింటిలా సరిగ్గా ప్రవర్తిస్తుంది.