सेवा सुरू होते, क्लायंट जोडतो, आणि सर्व्हरच्या बाजूला कधीही मार्ग दिसत नाही. किंवा डेमॉन सुरू होण्यास नकार देतो आणि अशी आज्ञा सांगतो जी तो चालवू शकला नाही. दोन्ही निकाल त्याच तीन ओळींचे अनुसरण करतात, ज्या सहसा कडकपणाच्या मार्गदर्शकातून एकत्र कॉपी केल्या जातात: अनधिकृत खात्यावर जाणे, गट सोडणे आणि फाइल सिस्टमचे रूट बदलणे. तीनपैकी फक्त एक फाइल्स लपवते, आणि त्यातील फक्त एक राउटिंग टेबल बदलण्याचा अधिकार काढून टाकते। त्यांना वेगळे करणे म्हणजे तुम्हाला खरोखर कोणती ओळ हवी आहे हे शिकण्याचा मार्ग.

जेल काय काढून टाकते जे डेमॉनला अजूनही हवे आहे

रूटचा बदल सुरू झाल्यानंतर होतो, त्यामुळे डेमॉन आधीच उघडलेले सर्व ठेवतो आणि नंतर उघडणारे सर्व गमावतो. जोडणीने त्या बिंदूनंतर चालवलेल्या प्रत्येक सहाय्यकाला नवीन रूटच्या आत असणे आवश्यक आहे, तो लोड करणाऱ्या सामायिक लायब्रऱ्यांसह. कॉन्फिगरेशन फाइल आणि प्रमाणपत्रापासून बांधलेल्या जेलमध्ये दोन्हीपैकी काहीही नसते.

अनधिकृत खात्यावर जाणे हे वेगळे बंधन आहे. root सोडलेल्या प्रक्रियेला मार्ग बदलता येणार नाहीत किंवा इंटरफेस वर आणता येणार नाही, अगदी बायनरी तिथेच असली तरी, म्हणून दोन्ही बिघाडांचे स्वतंत्रपणे निदान करणे आवश्यक आहे.

कोणती दुरुस्ती हवी हे तीन अटी ठरवतात

पहिली अट म्हणजे तुमचा बिल्ड मार्ग कसे इन्स्टॉल करतो. नवीन OpenVPN आवृत्त्या इंटरफेस आणि राउटिंग टेबल प्रक्रियेच्या आत कॉन्फिगर करतात, तर जुनी पॅकेजेस आणि सानुकूल सेटअप बाह्य साधनांवर किंवा up आणि down स्क्रिप्टवर अवलंबून असतात. लॉग एखादी आज्ञा नामनिर्देश करत असेल तर बाह्य साधन गुंतलेले आहे आणि जेल ते लपवत आहे. लॉग त्याऐवजी परवानगीची त्रुटी दाखवत असेल तर समस्या खात्यात आहे.

दुसरी म्हणजे देखभाल. कॉपी केलेल्या बायनरी असलेल्या जेलला त्या पुरवणाऱ्या पॅकेजचे अपग्रेड होताच ताजे करावे लागते, नाहीतर पहिले अपग्रेड मागे तुटलेला टनेल सोडते. तिसरी म्हणजे एखादे विशिष्ट नियंत्रण खरोखर chroot मागते का; जर मागणी प्रत्यक्षात विशेषाधिकारांच्या विभाजनाबद्दल असेल तर खाते बदलणे एकटेच पुरेसे ठरू शकते.

Signal in the logOther side of the boundaryRepair direction
Command not found after startupBinary and its libraries absent inside the new rootPopulate the jail, or drop the chroot line
Operation not permittedAccount lost the privilege to edit routesKeep the account privileged, or pre-create routes elsewhere
No such deviceJail lacks the tun device nodeCreate the node inside, or open it before the root change

कार्यरत जेलमध्ये काय असावे

आज्ञा चालवणाऱ्या जेलला बायनरी, ती ज्या प्रत्येक लायब्ररीशी जोडलेली आहे ती, आणि डेमॉन उशिरा उघडणारा प्रत्येक डिव्हाइस नोड आवश्यक आहे. तुकडे कॉपी करा आणि VPN शिवाय त्यांची चाचणी करा:

ldd /usr/sbin/ip
chroot /etc/openvpn/jail /sbin/ip route show
chroot /etc/openvpn/jail /sbin/ip link set tun0 up

पहिली आज्ञा अवलंबित्वे सूचीबद्ध करते, आणि लोक हेच वगळतात. लायब्ररी न सापडणारी कॉपी केलेली बायनरी गहाळ बायनरीपेक्षा वेगळ्या संदेशासह अयशस्वी होते, आणि दोन्ही क्लायंटच्या बाजूने वाचल्यावर OpenVPN चा बिघाड वाटतात. जेलमध्ये आज्ञा हाताने चालवल्यास सेवा पुन्हा सुरू न करता बिघाड पुन्हा उत्पन्न होतो.

कॉन्फिगरेशन, प्रमाणपत्रे आणि कोणतेही CRL देखील जेलमध्ये कॉपी करा, कारण डेमॉन सुरू झाल्यानंतर पुन्हा वाचण्याची अपेक्षा असलेली फाइल रूट बदलल्यानंतर सापडणार नाही. काय कॉपी केले ते लिहून ठेवा, कारण नेटवर्क पॅकेजचे पुढील अपग्रेड मूळ फाइल्स बदलते आणि जेल जुन्या कॉपीवर ठेवते.

त्याऐवजी कडकपणा कमी करा

जर जेल फक्त एखाद्या मार्गदर्शकाने तसे सांगितल्यामुळे अस्तित्वात असेल, तर खाते बंधने ठेवून ती एक ओळ काढणे हा समर्थनीय निकाल आहे. डेमॉन त्याचे फाइल सिस्टम दृश्य ठेवतो आणि समस्या गमावतो, आणि विशेषाधिकार कमी होणे दीर्घायुषी प्रक्रियेतून root काढून टाकतेच.

काय उरते आणि का ते लिहा. ज्या कॉन्फिगरेशनने नोंदीशिवाय शांतपणे नियंत्रण गमावले, कडकपणा अशाच प्रकारे भरकटतो, आणि पुढील ऑडिट विचारेल की ओळ का गायब झाली.

निवडण्यापूर्वी तीन ओळी विभागा

कॉन्फिगरेशन कॉपी करा, तिन्ही निर्देश बंद करा आणि क्लायंट जोडतो व अपेक्षित मार्ग दिसतात याची खात्री करा. नंतर फक्त खात्याच्या ओळी पुन्हा सुरू करा, आणि नंतर chroot एकटे. ज्या टप्प्यावर टनेल तुटतो तो सीमा दाखवतो, आणि कधीही कारण नसलेली जेल पुन्हा बांधणे टाळता.

ते पुन्हा राउट करू लागल्यावर अधिक तपशिलासह एक क्लायंट सत्र चालवा आणि जी ओळ आज्ञा किंवा अयशस्वी परवानगी नामनिर्देश करते ती वाचा. ती ओळ क्लायंट शेवटी ज्या टाइमआउटची तक्रार करतो त्यापेक्षा जास्त मौल्यवान आहे.

संबंधित लेख