पुरानो 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 पेलोड वा व्यवस्थापन प्रोफाइल अद्यावधिक गरियो, नत्र प्रमाणपत्र फर्कन्छ
रिबुटपछि प्रमाणपत्र फर्केको छ भने काम सकिएको छैन: कुनै कुराले यसको स्वामित्व लिन्छ र पुनः स्थापना गर्छ। फेरि मेट्नुअघि त्यो स्वामी खोज्नुहोस्, किनभने तेस्रो मेटाइ पहिलो दुईजस्तै व्यवहार गर्नेछ।