प्रोफाइलमध्ये --csd-wrapper जोडल्यास स्थानिक स्क्रिप्ट अशा डेमनला दिली जाते जी लॉगिनदरम्यान ती चालवते, म्हणून तुमच्यासमोरचा निर्णय कोड पुनरावलोकन आहे, प्राधान्य टॉगल नाही। हा पर्याय गेटवेचा होस्ट-तपासणी घटक बदलता यावा यासाठी आहे, आणि तो तुम्ही पुरवलेल्या स्क्रिप्टचा मार्ग घेतो। खालील सर्व गोष्टी असे गृहीत धरतात की तैनातीच्या मालकाने कोणती पोस्चर तपासणी आवश्यक आहे हे आधीच सांगितले आहे; तो भाग अजून खुला असल्यास प्रथम तो निकाली काढा। मार्गदर्शकात चार पायऱ्या आहेत: अयशस्वी टप्पा शोधा, स्क्रिप्ट वाचा, ती कोणत्या ओळखीखाली चालते ते निवडा, आणि निकाल सिद्ध करा।

पायरी 1: अयशस्वी टप्पा शोधा

क्लायंटचा शेवटचा संदेश सहसा कुकीबद्दल असतो, जो साखळीचा शेवट आहे, सुरुवात नाही। HTTPS लॉगिन, सर्व्हर प्रमाणपत्र तपासणी, प्रमाणीकरणाची देवाणघेवाण आणि पोस्चर घटक हे सर्व त्या संदेशापूर्वी उभे असतात।

वापरात असलेली आवृत्ती आणि लॉगिन पत्ता नोंदवा, नंतर तपशीलवार आउटपुट तुमच्याच टर्मिनलवर ठेवून प्रयत्न पुन्हा करा। पुनर्प्रयत्न नसलेली पहिली त्रुटी वाचा, ट्रान्स्क्रिप्टची शेवटची ओळ नाही। लॉग कोणत्याही मूल्यांकन घटकाचे नाव येण्यापूर्वी थांबल्यास, तर रॅपर अजून तुमची समस्या नाही। त्या क्षणी तो जोडल्यास नंतर तुम्हाला संरक्षित करावी लागणारी पृष्ठभाग केवळ रुंदावते।

openconnect --version
openconnect --verbose --user="$VPN_USER" vpn.example.com </dev/null

ट्रान्स्क्रिप्ट स्थानिक ठेवा, कारण कुकीज आणि प्रमाणीकरण प्रतिसाद हे प्रवेश साहित्य आहेत। चॅट थ्रेडमध्ये पेस्ट केलेला ट्रेस क्रेडेन्शियल गळती आहे, जरी मूल्यांकनाची पायरी हानिकारक वाटली तरी। त्रुटीचा मजकूर आणि प्रवाहात ती जिथे दिसली तो बिंदू सामायिक करा, पेलोड कधीही नाही।

पायरी 2: स्क्रिप्ट प्रोफाइलमध्ये जाण्यापूर्वी ती वाचा

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

sha256sum ./vpn-csd-wrapper.sh
bash -n ./vpn-csd-wrapper.sh

संपूर्ण फाइल चार प्रश्न मनात ठेवून वाचा: ती बाहेर जाणारे HTTP कॉल करते का, क्रेडेन्शियल फाइल्स किंवा पर्यावरण चल वाचते का, तात्पुरत्या डिरेक्टरीबाहेर लिहिते का, आणि कोणतीही शाखा काहीही न मोजता उत्तीर्ण पोस्चर कळवते का। शेवटचा नमुना म्हणजे लॉग ओळ जोडलेला धोरणात्मक बायपास। कॉपी केलेले रॅपर तो विश्वासार्ह दिसणाऱ्या तपासणीच्या मागे लपवतात। स्क्रिप्ट डिव्हाइस पाहण्यापूर्वीच डिव्हाइस ठीक आहे असे ठरवत असेल, तर तिथेच थांबा।

पॅक केलेले पेलोडही तपासा, कारण वाचनीय शीर्षलेख फाइलच्या उर्वरित भागाबद्दल काहीही सिद्ध करत नाही। फोरम थ्रेडमधून स्क्रिप्ट डाउनलोड करणे तिला विश्वासार्ह बनवत नाही, फक्त तिचे नाव खऱ्या होस्ट-तपासणी घटकासारखे वाटते म्हणून। कोणी ती इन्स्टॉल केली, ती कुठून आली आणि ती कशी अद्ययावत होईल ते नोंदवा।

grep -nE 'base64 -d|xxd -r|eval |curl |wget ' ./vpn-csd-wrapper.sh

पायरी 3: रॅपर कोणत्या ओळखीखाली चालते ते निवडा

CSD, TNCC किंवा HIP कार्यक्रम चालू असताना --csd-user विशेषाधिकार कमी करतो। ते खाते स्थानिक अंमलबजावणी व्यवस्थेचा भाग आहे, गेटवेला सादर केलेले वापरकर्तानाव नाही।

रॅपरला संवादात्मक शेल नसलेले, sudo अधिकार नसलेले आणि त्याला आवश्यक नसलेली गट सदस्यता नसलेले समर्पित खाते द्या। स्क्रिप्ट आणि ती तपासते त्या विशिष्ट फाइल्सना वाचन प्रवेश द्या, नंतर VPN प्रोफाइलला स्पर्श करण्यापूर्वी विशेषाधिकार कपातीची चाचणी करा। समस्या इथे शोधणे क्लायंटच्या आत शोधण्यापेक्षा स्वस्त आहे।

sudo -u vpn-csd /usr/local/libexec/vpn-csd-wrapper.sh

विशेषाधिकार कमी केल्यास वाईट स्क्रिप्ट करू शकणारे नुकसान मर्यादित होते। पण ते कोडचे पुनरावलोकन करत नाही, अहवाल खरा करत नाही, किंवा गेटवे प्रशासक ही अंमलबजावणी डिव्हाइस धोरण पूर्ण करणारी म्हणून स्वीकारतो हे सिद्ध करत नाही।

पायरी 4: बदल उलटण्यायोग्य ठेवा

प्रोफाइल संपादित करण्यापूर्वी त्याचा बॅकअप घ्या, आणि रॅपर आवृत्ती नियंत्रणात ठेवा जेणेकरून रोलबॅक प्रत शोधण्याऐवजी ज्ञात हॅश पुनर्संचयित करेल। स्क्रिप्टचा मार्ग, हॅश, अंमलबजावणी वापरकर्ता आणि मंजूर करणारा एकाच ठिकाणी लिहा।

उलटण्यासाठी पर्याय काढा, क्लायंट पुन्हा सुरू करा आणि मूळ त्रुटी परत येते याची खात्री करा। रोलबॅकनंतरही गेटवे लॉगिन नाकारत असेल, तर दुसरे काहीतरीही बदलले आहे, आणि तो फरक शोधणे रॅपर पुन्हा करण्यापूर्वी येते। बदलाच्या संपूर्ण कालावधीत मागील प्रत ठेवा, ज्याचा बहुतेक संघांसाठी अर्थ पुढील देखभाल कालावधी संपेपर्यंत असा होतो।

यशस्वी तैनातीनंतर एक नाही तर दोन गोष्टी तपासा: सुरंग वर येते, आणि पोस्चर तपासणीत अयशस्वी व्हायला हवे असे डिव्हाइस अजूनही नाकारले जाते। सर्वांसाठी काम करणारे कनेक्शन हे मूल्यांकन तुमच्या बदलातून टिकले याचा पुरावा नाही।

दुसरी समस्या निर्माण करणारे शॉर्टकट

आवश्यक तपासण्या न चालवता सहाय्यकाला अनुरूप स्थिती नोंदवू देऊ नका, आणि दुसऱ्या ऑपरेटिंग सिस्टमशी जुळवण्यासाठी प्लॅटफॉर्म ओळख ओव्हरराइड करू नका। वेगळे प्लॅटफॉर्म असल्याचा दावा खरे डिव्हाइस धोरण पूर्ण करते याचा पुरावा नाही। यामुळे प्रत्येक भविष्यातील लॉगिनला खोटे बोलणारा क्लायंट तुमच्याकडे राहतो।

सर्व्हर पडताळणी बंद करणे, जुनी कुकी पुन्हा चालवणे आणि न पाहिलेल्या स्क्रिप्ट्सची रास लावणे — हे सर्व दृश्य अपयशाची जागा अदृश्य अपयशाने घेतात। स्थापित क्लायंट समर्थित प्रवाह पूर्ण करू शकत नसेल, तर तुमच्याकडील प्रवाह वाकवण्याऐवजी मंजूर पर्याय मागा।

OpenConnect मार्गदर्शक --csd-wrapper आणि --csd-user चे स्वतंत्रपणे दस्तऐवजीकरण करतो, आणि हाच महत्त्वाचा इशारा: स्क्रिप्ट आणि ओळख या दोन निर्णय आहेत। त्यांचे स्वतंत्रपणे पुनरावलोकन करा आणि दोन्ही लिहून ठेवा। मग लॉगिन प्रॉम्प्ट कोड पेस्ट करून सोडवायचे कोडे राहत नाही।

संबंधित लेख