SSH कमांड निष्पादन के माध्यम से प्रतिबंधित बैश परिधि


2

EDIT: बहुत खुदाई के बाद, यह लगभग निश्चित रूप /etc/profile.d/...से rbash निष्पादित होने से पहले बुलाया जाने का एक परिणाम है, और इसलिए अपने आप में प्रतिबंधित बैश के साथ कोई समस्या नहीं है।

ऐसा लगता है कि एक तुच्छ rbash परिधि है, जिससे SSH उपयोगकर्ता बस अनुरोध कर सकता है कि मारपीट की जाए।

पर्यावरण में एक प्रतिबंधित $PATH, कमांड का एक छोटा सा उपसमूह शामिल है। idआदेश उपलब्ध नहीं है, जो है जो मैं पर निम्नलिखित प्रतिलेख आधार:

testuser@jumphost:~$ id
-rbash: id: command not found

.. परन्तु फिर ..

testuser@jumphost:~$ ssh localhost "bash"
testuser@localhost's password:  
id
uid=3033(testuser) gid=4033(jumpuser) groups=5033(foogroup) context=jumpuser_u:jumpuser_r:jumpuser_t:s0

..बेश बुलाया जाता है; प्रतिबंधित खोल को दरकिनार कर दिया गया है।

मैं एक के माध्यम से बुलाया जा रहा है rbash को लागू करने की कोशिश की है Match Group/ ForceCommandमें sshd_config, और जब यह होता है मेरे लिए कॉल rbash, बस बैश पर अमल करने में सक्षम होने की समस्या अभी भी मौजूद।

हम तार्किक कारणों से बाहरी उपयोगकर्ताओं के लिए सार्वजनिक कुंजी का उपयोग नहीं कर रहे हैं, इसलिए फ़ाइल "command="में क्षमता ~/.authorized_keysएक विकल्प नहीं है। हम उपयोगकर्ताओं को केवल ssh की तुलना में अधिक ऑफ़र करना चाहते हैं .. a kinit/ klistसाथ ही कुछ अन्य menial प्रोग्राम भी।

क्या इस व्यवहार को प्रतिबंधित करने का कोई तंत्र है?


उस पर निर्भर करता है जिसे आप निष्पादित करने की अनुमति देना चाहते हैं।
जकूज़ी

@Jakuje - मान लीजिए कि सिस्टम पर केवल ssh कमांड उपलब्ध होना चाहिए, आगे नेटवर्क में कूदने के लिए।
स्विचेस

उसके लिए आपको शेल एक्सेस की भी आवश्यकता नहीं है। वहाँ -Wस्विच कर रहा है जो केवल IO अग्रेषण का उपयोग कर रहा है।
जकूज़ी

@Jakuje - उत्तर के लिए धन्यवाद। यह पता चला है कि हमारी स्थानीय आवश्यकताएं तय करती हैं कि एक उपयोगकर्ता को बॉक्स पर कूदने में सक्षम होना चाहिए। मेरी चिंता हालांकि rashash के आसपास की परिधि है।
swisscheese

यह कॉन्फ़िगरेशन समस्या की तरह दिखता है। एक उचित सेटअप प्रतिबंधित शेल सामान्य बैश को निष्पादित करने में सक्षम नहीं होना चाहिए और ठीक से सेटअप एसएसएच प्रतिबंधों को मनमाना आदेशों के निष्पादन की अनुमति नहीं देनी चाहिए। प्रश्न को माइग्रेट करना संभवतः बहुत मदद नहीं करेगा क्योंकि यह उन सूचनाओं को याद कर रहा है जिनकी मदद करने के लिए आवश्यक है, अर्थात कॉन्फ़िगरेशन के विशिष्ट भाग।
स्टीफन उलरिच

जवाबों:


0

समापन में, समाधान सफल प्रमाणीकरण के समय और आरबाश की कॉलिंग के बीच प्रारंभिक वातावरण को बेहतर ढंग से नियंत्रित करना था।

यह एक आवरण खोल जो झंडे के साथ एक "क्लीन" बैश कॉल के साथ हासिल की थी --restricted, --rcfile ..., --noprofile, आदि .... और एक डिफ़ॉल्ट मामले में जो बाहर निकलने से पहले निष्पादन पर प्रयास लॉग करता है।

अलार्म शीर्षक के लिए माफी के साथ ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.