असुरक्षित क्यों माना जाता है "AcceptEnv *"?


12

में /etc/ssh/sshd_config, वहाँ एक विकल्प है AcceptEnvजो ssh क्लाइंट को पर्यावरण चर भेजने की अनुमति देता है। मुझे बड़ी संख्या में पर्यावरण चर भेजने में सक्षम होने की आवश्यकता है। क्लाइंट से हर कनेक्शन पर ये परिवर्तन होते हैं, इसलिए उन्हें सर्वर पर लॉगिन स्क्रिप्ट में रखना अधिक कठिन होगा।

मैंने पढ़ा है कि "AcceptEnv *"असुरक्षित है। मैं समझना चाहता हूं कि इससे पहले कि मैं उन सभी पर्यावरण चरों की सूची प्राप्त करने का प्रयास करूं, जिन्हें वहां लगाने का प्रयास किया जाता है।

इसे असुरक्षित क्यों माना जाता है? क्या मुझे एक उदाहरण मिल सकता है?

जवाबों:


11

पर्यावरण प्रसंस्करण को सक्षम करने से उपयोगकर्ता LD_PRELOAD जैसे तंत्रों का उपयोग करके कुछ कॉन्फ़िगरेशन में पहुंच प्रतिबंधों को बायपास करने में सक्षम हो सकते हैं।

Sshd_config के मैन पेज के सभी संस्करण इसका उल्लेख नहीं करते हैं। यदि आपके पर्यावरण चर पहले से बदल दिए गए हैं और कुछ विशिष्ट प्रक्रियाओं को इसके द्वारा निर्दिष्ट नई पुस्तकालयों के साथ निष्पादित किया जाता है, तो परिणाम हो सकते हैं।

Http://www.dankalia.com/tutor/01005/0100501004.htm पर एक नज़र डालें और "LD_PRELOAD शोषण" खोजें। क्षमा करें, पृष्ठ में कोई लंगर लिंक नहीं है।

इस StackOverflow प्रश्न को भी देखें, " LD_PRELOAD चाल क्या है? "

कनेक्शन के बाद वातावरण चर सेट करना ठीक है, लेकिन जब उन चर की व्याख्या एसश डेमन द्वारा की जाती है जैसा कि एक्सेनव द्वारा निर्धारित किया जाता है, तो खराब चीजें हो सकती हैं।


1
जब वे लॉग इन करने के बाद मैन्युअल रूप से चर सेट करते हैं तो यह किसी भी तरह से कैसे अलग है?
जोसेफ गार्विन

1
@JosephGarvin, कुछ सिस्टम में गोले प्रतिबंधित हैं या केवल एक ही विशिष्ट कमांड को अनुमति देते हैं, जैसे कि "वे" नहीं कर सकते । फिर, चिंता एक ऐसा साधन प्रदान कर रही है जिसके द्वारा ऐसे सुरक्षा उपायों को दरकिनार किया जा सकता है।
चार्ल्स डफी

0

पर्यावरण चर को स्वीकार न करें:

शेलशॉक कारनामे देखें जो हाल ही में सामने आए हैं .. यदि आप पर्यावरण चर को स्वीकार करते हैं तो आप एक बहुत बुरा शोषण खोल रहे हैं।


1
आप डर IMO फैला रहे हैं। यदि आप चिंतित हैं कि उनके पास SSH का उपयोग क्यों है? एक बार शेल या फ़ंक्शन में होने के बाद btw आप उन्हें पर्यावरण चर सेट करने से नहीं रोक सकते। यह शोषण nginx जैसे सामान के माध्यम से अनधिकृत शेल एक्सेस के बारे में है, अधिकृत शेल एक्सेस के लिए नहीं।
जॉर्डन बेडवेल

वैसे भी आप कम से कम एक env स्वीकार करते हैं। चर नाम का चर। अन्य वेरिएबल्स जैसे PRINTER, EDITOR,
PAGER

@JordonBedwell, हर एसएसएच कनेक्शन शेल एक्सेस के लिए अधिकृत नहीं है । मेरे पास कई प्रणालियां हैं जहां ऐसे खाते हैं जिनके लिए एकमात्र प्रमाणीकरण एक एसएसएच कुंजी के साथ है जो केवल एकल, विशिष्ट कमांड को चलाने की अनुमति देता है (उस कुंजी के मालिक की पहचान के साथ, और अन्य विवरण, बेक किए गए)।
चार्ल्स डफी

... उस ने कहा, मैं मानता हूं कि 2017 के रूप में, शेलशॉक यहां बहुत अधिक है। वर्तमान कार्यान्वयन के साथ, निर्यात किए गए फ़ंक्शन को उत्पन्न करने के लिए न केवल एक पर्यावरण चर के मूल्य पर नियंत्रण की आवश्यकता होती है , बल्कि इसका नाम भी होता है (और शेल स्टार्टअप के दौरान निर्यात किए गए कार्यों का मूल्यांकन करने की प्रक्रिया अब इंजेक्शन हमलों से ग्रस्त नहीं है)।
चार्ल्स डफी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.