एक OpenVPN क्लायंट थांबवणे: रद्द करणे हा चुकीचा लीव्हर का आहे
सत्र मारणे उलटवता येते; प्रमाणपत्र रद्द करणे येते नाही. प्रकरणाला कोणता लीव्हर हवा ते ठरवा, आणि CRL फक्त योग्य तेव्हाच पुन्हा तयार करा.
एका क्लायंटचा प्रवेश थांबवणे आणि त्याला कायमचे काढून टाकणे ही एकच गोष्ट वाटते, जोपर्यंत तुम्ही यापैकी एक उलटवण्याचा प्रयत्न करत नाही. प्रमाणपत्र रद्द करणे असा नोंद लिहिते जी सर्व्हर अंतिम मानतो, आणि ती उलटवणे म्हणजे जारी करणाऱ्याचा डेटाबेस हाताने संपादित करणे. चालू बोगदा सोडून देणे ही अशी व्यवस्थापन आज्ञा आहे जी विश्वासात काहीही बदलत नाही. लीव्हर हा प्रश्न विचारून निवडा की की अजूनही विश्वासार्ह आहे का, हा प्रश्न विचारून नाही की विनंती किती तातडीची वाटते.
समजूत: रद्द केलेले आणि स्थगित हे एकच आहे
कंत्राटदाराला आठवडाभर थांबवले जाते आणि पहिली प्रतिक्रिया रद्द करण्याची असते, कारण रद्द करणे म्हणजे काहीतरी बंद करण्यासारखे वाटते. ते नीटनेटके दिसते, दहा सेकंद लागतात, आणि परत जाण्याचा एकमेव मार्ग म्हणून डेटाबेस संपादन सोडते. ही प्रतिक्रिया समजण्यासारखी आहे आणि ती दार बंद करण्यापेक्षा पासपोर्ट जाळण्याच्या जास्त जवळ आहे. थांबवलेले उपकरण आणि उघड झालेली की यांना वेगळे वागणूक हवे, आणि यापैकी फक्त एकच स्वस्तात उलटवता येते.
फरक व्यक्तीचा नसून ओळखपत्राचा आहे. योग्य हातात असलेली की कोणत्याही विश्वासाच्या हानीशिवाय थांबवता येते आणि पुन्हा सुरू करता येते. प्रत करून घेतलेली असू शकते अशी की कधीही पुनर्संचयित करू नये, कारण पुनर्संचयन असे सांगते की प्रत अस्तित्वात नाही.
दोन्हीपैकी कोणत्याही प्रणालीला स्पर्श करण्यापूर्वी उत्तर लिहून ठेवा. की उघड झाली आहे का हे तुम्ही सांगू शकत नसल्यास, पुराणमतवादी उत्तर बदलणे हे आहे.
व्यवस्थापन इंटरफेसने चालू सत्र सोडून द्या
OpenVPN असे व्यवस्थापन इंटरफेस देते जे सत्रांची यादी करू शकते आणि त्यापैकी एक सामान्य नावाने मारू शकते. ते localhost वर सक्षम करा, सार्वजनिक इंटरफेसपासून दूर ठेवा, आणि सत्राला आत्ताच नाहीसे व्हायचे असेल तेव्हा मारण्याची आज्ञा पाठवा. आज्ञा फक्त तो बोगदा बंद करते, आणि इतर प्रत्येक क्लायंट काम करत राहतो.
हे सक्रिय समस्येला दिलेले उत्तर आहे, स्थगन धोरण नाही. तोच प्रोफाइल एका मिनिटात पुन्हा जोडला जाऊ शकतो, कारण त्याच्या ओळखपत्रात काहीही बदललेले नाही. सत्राला जायचे असेल आणि टिकाऊ निर्णय अजून घेतला जात असेल तेव्हा ते वापरा.
मारण्यापूर्वी सत्र जोडलेले होते याची खात्री करा, जे कधीही जोडले गेले नाही अशा क्लायंटचा शोध घेऊ नये म्हणून. खालील स्थिती आज्ञा सध्या काय जोडलेले आहे ते छापते.
printf 'status 2\nquit\n' | nc 127.0.0.1 7506
printf 'kill kiosk-14\nquit\n' | nc 127.0.0.1 7506मारण्याची आज्ञा अशा क्लायंट नाही असे सांगत असेल, तर प्रमाणपत्रातील सामान्य नाव तुम्ही टाइप केलेली मालिका नाही. प्रोफाइल फाइलच्या नावाऐवजी स्थिती आउटपुट वाचा.
CRL प्रत्यक्षात काय नियंत्रित करते
सर्व्हर प्रमाणपत्रावर साठवलेल्या रद्द करण्याच्या झेंड्याकडे पाहत नाही. तो crl-verify मध्ये नामनिर्देशित प्रमाणपत्र रद्द करण्याची यादी प्रत्येक नवीन जोडणीवर वाचतो आणि ज्याचा अनुक्रमांक त्या यादीत आहे असे प्रमाणपत्र नाकारतो. त्यातून दोन परिणाम येतात, आणि दोन्ही कार्यात्मकदृष्ट्या महत्त्वाचे आहेत. फाइल सर्व्हर ज्या खात्याकडे आपले अधिकार सोपवतो त्याला वाचनीय असावी, आणि आधीच जोडलेला क्लायंट पुन्हा जोडले जाईपर्यंत चालू राहतो.
दुसरा परिणाम घटनांच्या वेळी लोकांना आश्चर्यात टाकतो. प्रमाणपत्र रद्द करणे सध्या ते वापरत असलेला बोगदा बंद करत नाही. सत्र तात्काळ संपवायचे असेल तर रद्द करण्याला व्यवस्थापन मारण्याशी जोडा, आणि दोन्ही कृतींना मार्गदर्शकात वेगळे टप्पे माना.
शेवटी प्रत केलेल्या फाइलच्या वेळेवर विश्वास ठेवण्याऐवजी, सर्व्हर प्रत्यक्षात काय लागू करेल हे पाहण्यासाठी यादी तपासा. महत्त्वाचा भाग म्हणजे अनुक्रमांकांची संख्या.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | sed -n '1,14p'
ls -l /etc/openvpn/server/crl.pemनोंदी नसलेली यादी आणि योग्य नोंदी असलेली यादी डिरेक्टरी यादीत सारखीच दिसते, म्हणून अनुक्रमांकांची संख्या छापणे फायद्याचे आहे. परवानगीची ओळही तितकीच महत्त्वाची आहे, कारण डेमन वाचू शकत नाही अशी फाइल नाकारलेल्या क्लायंटसारखे दिसणारे अपयश निर्माण करते.
नोंद पुनर्संचयित करणे, काळजीपूर्वक
प्रमाणपत्र पुनर्संचयित करणे म्हणजे जारी डेटाबेसमधील नोंद उलटवणे आणि नवीन यादी प्रकाशित करणे. easy-rsa 3 तो डेटाबेस PKI डिरेक्टरीखाली index.txt म्हणून ठेवते, तर जुन्या रचना वेगळी पद्धत वापरत. ओळ स्थिती अक्षर आणि समाप्ती तारखेने सुरू होते. रद्द केलेली ओळ अनुक्रमांक, प्रमाणपत्र फाइलचे नाव आणि विशिष्ट नाव यांसह पुढे जाण्यापूर्वी रद्द करण्यासाठी वेळ नोंदवते. ओळ परत ठेवणे म्हणजे ती वेळ काढून टाकणे आणि अक्षर उलटवणे, बाकी सर्व अक्षत ठेवणे.
प्रथम फाइलची प्रत घ्या, आणि संपादन टेक्स्ट एडिटरमध्ये टाइप करण्याऐवजी स्क्रिप्ट म्हणून करा. ओळीत किती फील्ड आहेत हे बदलणारी टायपो नंतर जोडल्या जाणाऱ्या प्रत्येक प्रमाणपत्राचे जारी करणे तोडते. म्हणूनच बदल स्वयंचलित करणे आणि स्पर्श करण्यापूर्वी फाइलची प्रत घेणे आवश्यक आहे.
त्याच नावाचे दुसरे रद्द करणेही अनेकदा अयशस्वी होते, कारण पहिल्या फेरीने ते प्रमाणपत्र आणि त्याची की साधन ज्या डिरेक्टरीत त्यांना अपेक्षित आहे त्याबाहेर हलवले. मग साधनाला रद्द करण्यास सांगितलेले सापडत नाही, आणि त्रुटी संदेश नेहमी कारण स्पष्ट सांगत नाही.
cp /etc/easy-rsa/pki/index.txt /root/index.txt.$(date +%F-%H%M)
grep -c '^R' /etc/easy-rsa/pki/index.txt
easyrsa gen-crlनवीन यादी प्रकाशित करा, तिची मालकी दुरुस्त करा, आणि सर्व्हरला ती वाचायला लावा. बहुतेक इन्स्टॉलेशनवर रीलोड पुरतो, पण पुष्टी नवीन जोडणीतूनच आली पाहिजे, कारण विद्यमान सत्राने काहीही पुन्हा तपासले नाही.
प्रकरणाला कोणता लीव्हर पात्र आहे ते तपासा
संपूर्ण मार्गदर्शक ठरवणारा एकच प्रश्न विचारा: खाजगी की अजूनही फक्त जिथे असावी तिथेच आहे का. जर असेल, तर सत्र मारणे आणि नोंदवलेला विराम प्रकरण भरून काढतात आणि कायमची नोंद मागे सोडत नाहीत. जर नसेल, तर एकमेव सुरक्षित उत्तर नवीन की आहे आणि जुने प्रमाणपत्र रद्द केलेले राहते.
मग निकाल कॉन्फिगरेशनच्या फरकाने नाही, जोडणीच्या प्रयत्नाने पडताळा. फरक तुम्हाला तुमचा हेतू सांगतो, आणि जोडणी सर्व्हर काय लागू करतो ते सांगते.
openssl crl -in /etc/openvpn/server/crl.pem -noout -text | grep -c 'Serial Number'
printf 'status 2\nquit\n' | nc 127.0.0.1 7506पुनर्संचयित क्लायंट जोडला गेला आणि स्थिती आउटपुटमध्ये दिसला, तर नोंदीचे संपादन चालले. रद्द केलेला क्लायंट नाकारला गेला आणि लॉगने CRL चे नाव घेतले, तर रद्द करणे चालले. यांच्यातील काहीही परवानगी किंवा रीलोडची समस्या आहे, आणि पुढील विनंती येण्यापूर्वी ती दुरुस्त करणे फायद्याचे आहे.