नवीनीकृत VPN प्रमाणपत्र: कुछ क्लाइंट अब भी इसे अस्वीकार करते हैं
नवीनीकरण नाम वही रख सकता है और ऑब्जेक्ट बदल सकता है। किसी भी सुरक्षा चेतावनी को स्वीकार करने से पहले CA भरोसे, नाम जाँच और क्लाइंट-साइड पिन की तुलना करें।
नवीनीकरण के बाद आधा परिवेश फिर से जुड़ जाता है और तीन डिवाइस मना कर देते हैं, हर एक गेटवे की पहचान के बारे में चेतावनी के साथ। नवीनीकरण स्वयं नियमित है। उन तीन डिवाइसों के पास पुराने ऑब्जेक्ट का पिन है, और पिन कोई CA सूची, नाम जाँच या ट्रस्ट स्टोर प्रविष्टि नहीं है। किसी भी क्लाइंट को छूने से पहले तीनों तंत्रों की तुलना करें।
एक नवीनीकरण, दो व्यवहार
जो क्लाइंट फिर से जुड़ते हैं उनका भरोसा निर्णय अब भी पास होता है, और जो मना करते हैं उनकी एक आवश्यकता नया प्रमाणपत्र पूरी नहीं करता। यह अंतर सूचना है, शोर नहीं। असफल क्लाइंट का संदेश ध्यान से पढ़ें। नाम का बेमेल, अज्ञात जारीकर्ता और बदली हुई फिंगरप्रिंट तीन अलग निर्णय हैं, और केवल अंतिम वाला पिन की ओर संकेत करता है।
यह भी जाँचें कि असफल क्लाइंट ने कौन सा प्रोफ़ाइल चुना। अपने ही स्टोर में रहने वाली आयातित प्रति तब नहीं बदलती जब प्रशासक मूल फ़ाइल को कहीं और संपादित करता है।
नवीनीकरण ऑब्जेक्ट बदलता है, केवल तिथि नहीं
फिंगरप्रिंट एन्कोडेड प्रमाणपत्र सामग्री की पहचान करता है। नवीनीकरण नया प्रमाणपत्र बनाता है, इसलिए फिंगरप्रिंट बदल जाता है, भले ही विषय नाम और सार्वजनिक कुंजी वही रहें। यह उन क्लाइंट के लिए अपेक्षित और हानिरहित है जो CA पर भरोसा करते हैं और नाम सत्यापित करते हैं। यह उस क्लाइंट के लिए घातक है जो ठीक एक प्रमाणपत्र स्वीकार करने के लिए सेट है, और यह उस क्लाइंट के लिए भी घातक है जिसके ट्रस्ट स्टोर को नया जारीकर्ता कभी नहीं मिला।
openssl x509 -in server.pem -noout -subject -issuer -dates -fingerprint -sha256
openssl x509 -in server.pem -noout -pubkey | openssl sha256
दूसरी पंक्ति एक अलग प्रश्न का उत्तर देती है: क्या कुंजी जोड़ी बची रही। जो नवीनीकरण कुंजी का पुनः उपयोग करता है वह उस मान को रखता है और केवल प्रमाणपत्र बदलता है, और यही वह स्थिति है जहाँ प्रशासक को लगता है कि कुछ नहीं बदला। जो प्रमाणपत्र तैनात है उसी की जाँच करें, बिल्ड होस्ट पर रखे वाले की नहीं। किसी रिपॉज़िटरी में फ़ाइल की तुलना यह साबित करती है कि क्या बनाया गया, यह नहीं कि कोई श्रोता अभी क्या प्रस्तुत कर रहा है।
पढ़ें कि क्लाइंट क्या पिन कर रहा है
कुछ क्लाइंट अपने प्रोफ़ाइल में फिंगरप्रिंट रखते हैं और हर कनेक्शन पर उसकी तुलना करते हैं। अन्य इसे प्लेटफ़ॉर्म ट्रस्ट स्टोर में रखते हैं, और कुछ केवल CA पर निर्भर करते हैं। मरम्मत हर मामले में अलग है, इसलिए पहले तंत्र पहचानें।
grep -n 'peer-fingerprint' /etc/openvpn/client/*.conf
openssl s_client -connect gw.lab.example.net:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -fingerprint -sha256
पहला कमांड पारंपरिक प्रोफ़ाइल में पिन दिखाता है; दूसरा वह फिंगरप्रिंट दिखाता है जो एंडपॉइंट अभी वास्तव में परोस रहा है। जब ये दोनों अलग हों, तो आपने अनुमान लगाए बिना विफलता का पता लगा लिया। नया मान हर शिकायत करने वाले क्लाइंट में न चिपकाएँ। जारीकर्ता के आधार पर मना करने वाला क्लाइंट मना करता रहेगा, और आपने खुद को सिखा दिया होगा कि फिंगरप्रिंट ही समस्या थी जब वह नहीं थी।
हर बैकएंड जो प्रमाणपत्र परोसता है उसकी तुलना करें
रुक-रुक कर मिलने वाले परिणाम आमतौर पर एक से अधिक एंडपॉइंट का अर्थ देते हैं, और एक नोड पर लागू नवीनीकरण बाकी को पुराना ऑब्जेक्ट प्रस्तुत करता छोड़ देता है। हर बैकएंड की तुलना साझा नाम के बजाय पते से करें।
for h in 10.30.0.11 10.30.0.12; do echo "$h"; openssl s_client -connect $h:443 -servername gw.lab.example.net < /dev/null 2>&1 | openssl x509 -noout -subject -dates -fingerprint -sha256; done
ऐसा पूल जिसमें एक नोड पीछे है, उस क्लाइंट को समझाता है जो दूसरे प्रयास में जुड़ता है और पहले में विफल होता है। यह उस निगरानी जाँच को भी समझाता है जो उपयोगकर्ताओं की शिकायत के बीच पास हो जाती है। पहले पिछड़ेपन को ठीक करें। हर नोड द्वारा नया प्रमाणपत्र परोसने से पहले भरोसा कॉन्फ़िगरेशन को रोल करने से ऐसी खिड़की बनती है जिसमें कुछ काम नहीं करता, और बाद में रोल करने से क्लाइंट अप्रत्याशित रूप से विफल रहते हैं।
प्रबंधित मार्ग से भरोसा बदलें
कहीं भी स्वीकार करने से पहले पहले से विश्वसनीय प्रशासनिक चैनल के माध्यम से प्रतिस्थापन की पुष्टि करें। विश्वसनीय समाप्ति तिथि स्वामित्व का प्रमाण नहीं है। प्रबंधित कॉन्फ़िगरेशन को उसी प्रक्रिया से अपडेट करें जो उसका मालिक है, स्वीकार्य पहचानों के किसी भी नियोजित ओवरलैप के साथ, और तैनाती की आवश्यक नाम सत्यापन बनाए रखें। नाम जाँच के बिना पिन उस CA भरोसे से कमज़ोर डिज़ाइन है जिसे उसने बदला।
फिर प्रत्येक क्लाइंट के लिए सत्यापित करें: जुड़ें, उसकी स्वीकृत पहचान की पुष्टि करें, और अब वह जिस प्रमाणपत्र संस्करण पर भरोसा करता है उसे नोट करें। एक बार खारिज की गई चेतावनी अगले नवीनीकरण में लौटने का रास्ता खोज लेती है।