VPN आदेश आपके उपयोगकर्ता के रूप में चलता है, कोई पासवर्ड नहीं दिखता, और टनल ऊपर आ जाता है। यह क्रम बिना विशेषाधिकार वाला संचालन लगता है, और सामान्यतः होता नहीं है। नेटवर्क के परिवर्तन एक अलग सेवा करती है, और दिलचस्प प्रश्न यह है कि वह सेवा ऐसे कॉलर के लिए क्या करेगी जिसे उसने सत्यापित नहीं किया। पासवर्ड के अनुरोध गिनने से उस सीमा के बारे में कुछ पता नहीं चलता।

इंटरफ़ेस, तंत्र और जाँच

इंटरफ़ेस अनुरोध स्वीकार करता है: जोड़ें, तोड़ें, प्रोफ़ाइल चुनें। तंत्र नेटवर्क के संचालन का स्वामी है: इंटरफ़ेस बनाना, मार्ग बदलना, फ़िल्टर लगाना। प्राधिकरण जाँच तय करती है कि यह कॉलर यह क्रिया माँग सकता है या नहीं। ये तीन एक बाइनरी, एक सहायक और एक सिस्टम सेवा में फैले हो सकते हैं, और उपयोगकर्ता केवल पहला देखता है।

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

अधिदेशन सामान्य रचना है

विशेषाधिकार वाले नेटवर्क कार्य को सेवा को सौंपना उचित वास्तुकला है। यह साधारण एप्लिकेशनों को बिना विशेषाधिकार रखती है और उन क्रियाओं को केंद्रित करती है जिन्हें सावधानी चाहिए। यह रचना तभी फलदायी है जब सेवा यह भी जाँचे कि कौन माँग रहा है और किसलिए। उस जाँच के बिना यह केवल एक चौड़ा दरवाज़ा है।

NetworkManager Linux पर ठोस उदाहरण है। उसकी कॉन्फ़िगरेशन मार्गदर्शिका समझाती है कि PolicyKit डिफ़ॉल्ट सेटअप में गैर-root अनुरोधों को कैसे अधिकृत करता है। यह वास्तविक उत्पाद में सौंपा गया प्राधिकरण दिखाता है। यह सिद्ध नहीं करता कि हर व्यावसायिक क्लाइंट NetworkManager का उपयोग करता है, और यह किसी विशेष विक्रेता का सॉकेट पथ या नीति नहीं बताता।

प्रतिरूप पीछे नीति वाला अधिदेशन है। उदाहरण उस प्रतिरूप का एक कार्यान्वयन है, सार्वभौमिक नहीं।

सीमा पढ़ें, अनुरोध नहीं

सेवा, उसके कॉन्फ़िगरेशन का स्वामी और वह स्थानीय इंटरफ़ेस खोजें जिसका उपयोग फ़्रंटएंड करता है। फिर पूछें कि कौन से उपयोगकर्ता कौन सी क्रियाएँ माँग सकते हैं। एक सहेजी गई प्रोफ़ाइल को ऊपर-नीचे करना वही अनुमति नहीं है जो ऐसे कॉन्फ़िगरेशन को लोड करने की है जिसे ऑपरेटर ने कभी नहीं देखा। अंतर ही पूरा सुरक्षा प्रश्न है।

सेवा प्रबंधक और क्लाइंट के अपने अनुमतियों के बारे में उसके दृष्टिकोण से शुरू करें। नीचे के आदेश दिखाते हैं कि डेमॉन चल रहा है या नहीं, कॉलर उससे क्या माँग सकता है, और डेमॉन अपनी रनटाइम निर्देशिका के अंतर्गत क्या खोलता है।

systemctl status NetworkManager
nmcli general permissions
ls -l /run/NetworkManager

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

अनुमतियाँ समर्थित तरीके से ठीक करें

किसी संरक्षित नियंत्रण सॉकेट को सबके लिए लिखने योग्य बनाना, या किसी खाते को व्यापक प्रशासनिक समूह में जोड़ना, अनुमति की त्रुटि हटाता है और बड़ी त्रुटि बनाता है। त्रुटि ही एकमात्र चीज़ थी जो आपको बताती थी कि वह सीमा मौजूद है। प्रलेखित सदस्यता या प्राधिकरण प्रक्रिया का उपयोग करें, उसके आवश्यक सत्र ताज़ा करने सहित। समूह सदस्यता अक्सर केवल नए लॉगिन सत्रों पर लागू होती है, इसीलिए कोई परिवर्तन अगले साइन-इन तक कुछ न करता दिख सकता है।

यदि उत्पाद क्रिया के लिए संकीर्ण भूमिका देता है, तो सामान्य अनुमति के बजाय उसे चुनें। चुनी गई भूमिका और उसके स्वामी को सेवा के नाम के आगे लिखें।

अच्छा विभाजन कैसा दिखता है

साधारण एप्लिकेशन बिना विशेषाधिकार रहते हैं, सेवा केवल वही सेटअप करती है जिसके लिए वह बनी है, और हर कॉलर की जाँच ऐसी नीति से होती है जिसका कोई स्वामी है। यह रक्षणीय रचना है। यह लेखा-परीक्षण योग्य भी है, क्योंकि नीति के साथ एक नाम जुड़ा है। इससे बड़ा कुछ भी चुपचाप अनुमति बदलने के बजाय लिखित अपवाद का हक़दार है।

विफलता का ढंग ऐसी सेवा है जो इंटरफ़ेस सुविधाजनक होने के कारण किसी भी स्थानीय उपयोगकर्ता का कोई भी अनुरोध पूरा कर देती है। उपयोगकर्ता की ओर से यह एक समान दिखता है, और यह बहुत बड़ा अधिकार रखता है। एक अस्वीकृत अनुरोध जाँचें, केवल सफल अनुरोध नहीं। नीति से आने वाला इनकार ही प्रमाण है कि नीति मौजूद है।

संबंधित लेख