क्या रिक्वायरमेंट को अक्षम करना ठीक है?


39

मैं Capistrano का उपयोग करके एक परिनियोजित स्क्रिप्ट सेट करने का प्रयास कर रहा हूं । एक स्टेप cap deploy:setupस्क्रिप्ट में मेरे सर्वर से कनेक्ट हो रहा है और निर्देशिकाओं को बनाने वाले आदेशों को चलाने की कोशिश कर रहा है। फिर मुझे एक त्रुटि दिखाई देती है:msudo: sorry, you must have a tty to run sudo

मेरे सर्वर पर रिक्वायरमेंट को अक्षम करने के लिए एक सुझाया गया समाधान है। https://unix.stackexchange.com/a/49078/26271

मैं सोच रहा था कि क्या यह करना सुरक्षित है?

जवाबों:


40

requirettyएक सर्वर पर होने में एक बहुत ही सीमित सुरक्षा लाभ है । यदि कुछ गैर-रूट कोड का शोषण किया जाता है (उदाहरण के लिए एक PHP स्क्रिप्ट), तो requirettyविकल्प का अर्थ है कि शोषण कोड सीधे अपने विशेषाधिकार को चलाने में सक्षम नहीं होगा sudo

हो सकता है कि हमलावर को रूट प्राप्त करने का एक और तरीका हो, और निश्चित रूप से हमलावर अभी भी आपकी साइट को डिफेक्ट कर सकेगा, लेकिन हमलावर को लाभ नहीं होने देने का मतलब है कि विभिन्न उपयोगकर्ताओं के रूप में चलने वाली अन्य सेवाएं सामान्य रूप से चलती रहेंगी और हमलावर जीत गया ' t सिस्टम लॉग को मिटाने में सक्षम हो। यदि आपका कोई भी sudoनियम निर्देशिका बनाने जैसा खतरनाक काम नहीं करता है , तो यह चिंता का विषय नहीं है।

इसके अलावा - और अधिक के लिए हानिकारक requiretty- कोई विशेषाधिकार की जरूरत है एक tty बनाने की जरूरत है, जैसे उम्मीद के साथ । तो आप भी बंद कर सकते हैं requiretty: अपने दम पर, यह एक सुरक्षा लाभ प्रदान नहीं करता है। यह उपयोगकर्ताओं द्वारा निष्पादित किए जाने पर एक हल्के ऑडिटेबिलिटी लाभ प्रदान करता है (क्योंकि लॉग एक बेहतर विचार देते हैं कि कौन आमंत्रित किया गया है sudoऔर वे कहाँ से आ रहे हैं), लेकिन पृष्ठभूमि की नौकरी से निष्पादित होने पर नहीं।


1
क्या आपका मतलब है कि यदि उपयोगकर्ता expect(या screenउदाहरण के लिए) चला सकता है , तो requirettyसुरक्षा के दृष्टिकोण से बेकार है? (मैं उस वाक्य में "
डैमेजिंग

@ GeorgesDupéron हाँ, यह बात है। चूँकि कोई भी एक tty बना सकता है, requirettyविकल्प किसी को sudo के उपयोग से नहीं रोकता है।
गिल्स एसओ- बुराई को रोकें '

3
requirettyयदि कोई उपयोगकर्ता एक sudo कमांड निष्पादित कर रहा है, जिसे ssh के माध्यम से पासवर्ड की आवश्यकता होती है, तो वे अपने पासवर्ड को क्लियरटेक्स में लीक होने से रोक सकते हैं। यह उपयोगकर्ता को ssh -t कॉल करने के लिए बाध्य करने के लिए है।
क्रिस बेट्टी

1
@ क्रिस बेटी - क्यों एक अच्छी बात है, ssh -t लागू करने के लिए ...?
रोप

उस समय मेरी सोच थी कि इस मामले में, यदि आप एक दूरस्थ sudo कमांड निष्पादित कर रहे हैं, जो पासवर्ड के लिए संकेत देता है, तो कंसोल के माध्यम से पासवर्ड को क्लीयरटेक्स में भरने के बजाय रिमोट मशीन के एक्स्पास प्रोग्राम का लाभ उठाना बेहतर है। मुझे ईमानदारी से पता नहीं है कि ऐसा करने से बढ़ी हुई सुरक्षा मिलती है, संभवत: उस स्थिति को रोकने के अलावा जहां आपका पासवर्ड स्क्रीन पर टाइप करते ही गूंज उठता है। मेरा मानना ​​है कि मैं सोच रहा था कि एक टेटपास कार्यक्रम को बिना टट्टू या छद्म ट्टी के बिना लागू नहीं किया जाएगा।
क्रिस बेट्टी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.