sudo proxychains बनाम proxychains sudo: क्रम क्यों मायने रखता है
समझें कि proxychains sudo अपनी इंटरसेप्शन लाइब्रेरी क्यों खो सकता है, जबकि sudo proxychains रैपर को लक्ष्य निष्पादन संदर्भ में शुरू करता है।
इन कमांडों की निष्पादन सीमा एक जैसी नहीं है:
proxychains4 sudo command
sudo proxychains4 command
Proxychains-ng लक्ष्य प्रोग्राम में एक लाइब्रेरी को पहले से लोड कराने की व्यवस्था करता है। लिनक्स पर sudo जैसे set-user-ID प्रोग्राम को चलाने से लोडर के सुरक्षा नियम सक्रिय होते हैं, जो sudo के उन्हें सुरक्षित रखने से पहले ही संबंधित लाइब्रेरी-लोडिंग चर हटा देते हैं।
इसलिए, "अधिक पर्यावरण सुरक्षित रखना" sudo को रैपर के भीतर रखने का भरोसेमंद उपाय नहीं है। sudoers मैनुअल स्पष्ट रूप से बताता है कि LD_* जैसे चर sudo शुरू होने से पहले हटा दिए जाते हैं।
अगर किसी कमांड को वाकई लक्ष्य खाते की जरूरत है, तो रैपर को उसी अधिकृत संदर्भ में शुरू करें। फिर जाँचें कि वह कौन-सा कॉन्फ़िग पढ़ता है: sudo HOME, PATH और लागू प्रति-उपयोगकर्ता फ़ाइल बदल सकता है। काम करने वाला बिना विशेषाधिकार वाला आह्वान यह साबित नहीं करता कि root ने वही प्रॉक्सी सूची चुनी।
जब प्रोग्राम अपना मूल प्रॉक्सी इंटरफ़ेस देता है तो उसे प्राथमिकता दें। इससे ऐसे अनुरोध के लिए इंटरसेप्शन पर निर्भरता टलती है जिसे रूट करना प्रोग्राम पहले से जानता है।
proxychains की कवरेज सीमाएँ भी ध्यान में रखें। उसका स्टार्टअप संदेश साबित करता है कि रैपर शुरू हुआ; यह साबित नहीं करता कि कच्चे पैकेट, असमर्थित कॉल या अलग से शुरू की गई मौजूदा एप्लिकेशन प्रक्रिया ने उसकी लाइब्रेरी का उपयोग किया। जिस नेटवर्क ऑपरेशन को आप इंटरसेप्ट करना चाहते थे उसकी पुष्टि करें, न कि root विशेषाधिकार को हर ऑपरेशन के इंटरसेप्ट होने का प्रमाण मानें।