उपयोगकर्ताओं को एडमिन बनाए बिना Windows पर OpenVPN चलाएँ
OpenVPN को अपने एडाप्टर और रूट के लिए विशेषाधिकार चाहिए, हर चीज़ के लिए नहीं। सेवा का उपयोग करें और नेटवर्क अधिकार प्रत्यायोजित करें, फिर उपयोगकर्ता खाते से पुष्टि करें।
उपयोगकर्ता OpenVPN GUI पर डबल-क्लिक करता है, एक UAC संकेत स्वीकार करता है और अगले पुनः कनेक्शन पर वही रस्म दोहराता है। यह संकेत पैकेजिंग की गलती नहीं है: क्लाइंट एक वर्चुअल एडाप्टर बनाता है और रूटिंग तालिका संपादित करता है, और दोनों विशेषाधिकार वाले बदलाव हैं। उपयोगी प्रश्न यह है कि उपयोगकर्ता को उनमें से कौन-से अधिकार वास्तव में चाहिए। एक सेवा और सीमित प्रत्यायोजन प्रशासक सदस्यता बाँटे बिना कनेक्शन को कवर करता है।
कौन-से ऑपरेशन वास्तव में विशेषाधिकार बढ़ाने की मांग करते हैं
टनल एक वर्चुअल नेटवर्क इंटरफ़ेस पर समाप्त होती है, और उस इंटरफ़ेस को स्थापित करना एक ड्राइवर क्रिया है जिसे एक बार प्रशासक अधिकार चाहिए। एडाप्टर बन जाने के बाद भी हर कनेक्शन रूट लिखता है और प्रोफ़ाइल के आधार पर DNS कॉन्फ़िगरेशन बदलता है। यही दो चरण सामान्य खाते पर विशेषाधिकार बढ़ाना शुरू करते हैं। प्रमाणीकरण या एन्क्रिप्शन में किसी चीज़ को प्रशासक अधिकार नहीं चाहिए, और इसीलिए यह विशेषाधिकार अलग किया जा सकता है।
अनुदान चुनने से पहले स्थापना-समय को कनेक्ट-समय से अलग करें। उनके स्वामी और आयु अलग हैं।
सेवा का उपयोग विशेषाधिकृत घटक के रूप में करें
समर्थित व्यवस्था आवश्यक अधिकार रखने वाली Windows सेवा चलाती है, और एक GUI सेवा से कनेक्ट होने को कहता है। तब विशेषाधिकृत कोड कभी उपयोगकर्ता के सत्र के भीतर नहीं चलता।
sc query OpenVPNService
sc qc OpenVPNServiceचल रही वह सेवा जिसका बाइनरी पथ स्थापित क्लाइंट की ओर इशारा करता है, कुछ भी प्रत्यायोजित करने से पहले पुष्टि की जाने वाली पहली बात है। एडाप्टर और रूट सेवा के स्वामित्व में हैं, इसलिए उपयोगकर्ता केवल कनेक्शन शुरू और बंद करता है। साझा मशीनों पर यही स्वरूप उपयोग करना चाहिए, क्योंकि कनेक्ट पर क्लिक करने वाले खाते के पास कोई स्थायी विशेषाधिकार नहीं होता। डिस्क्रिप्टर को sc sdshow से पढ़ें और उसे संपादित करने से पहले आउटपुट की एक ज्ञात-अच्छी प्रति रखें।
अंतर्निहित समूह के साथ रूट परिवर्तन प्रत्यायोजित करें
ऐसे क्लाइंट के लिए जिसे इंटरैक्टिव रूप से चलना है, प्रत्यायोजित अंतर्निहित समूह Network Configuration Operators है। यह नेटवर्क सेटिंग्स और रूट परिवर्तनों को कवर करता है, जबकि सॉफ़्टवेयर इंस्टॉलेशन और सामान्य प्रशासनिक कार्य को छोड़ देता है।
net localgroup "Network Configuration Operators" alice /add
sc sdshow OpenVPNServiceखाता जोड़ना चुप नहीं है: डिफ़ॉल्ट नीति अब भी प्रति सत्र एक संकेत उठाती है, इसलिए अनुदान विशेषाधिकार बढ़ाने से जो हो सकता है उसे घटाता है, उसे हटाता नहीं। सदस्यता का दस्तावेज़ीकरण करें, क्योंकि यह चुपचाप जमा होती है और लगभग कभी समीक्षा नहीं होती। सेवा मार्ग पर, sc sdset के साथ डिस्क्रिप्टर संपादन किसी समूह को शुरू और बंद करना प्रत्यायोजित कर सकता है, हालाँकि डिस्क्रिप्टर में एक टाइपो हर खाते के शुरू करने के अधिकार से इनकार कर सकता है, और इसे पूर्ववत करने के लिए प्रशासक चाहिए। किसी भी डिस्क्रिप्टर परिवर्तन को उत्पादन होस्ट तक पहुँचने से पहले लैब मशीन पर जाँचें।
उपयोगकर्ता खाते से सत्यापित करें
प्रशासक सत्र में किया गया कॉन्फ़िगरेशन उस खाते के बारे में कुछ भी सिद्ध नहीं करता जो इसका उपयोग करेगा। उस उपयोगकर्ता के रूप में साइन इन करें, कनेक्ट करें और मशीन की स्थिति पहले और बाद में तुलना करें।
route print -4
Get-DnsClientServerAddressरूटिंग तालिका में टनल के रूट जुड़ने चाहिए, और कनेक्ट रहने पर रिज़ॉल्वर को उन सर्वरों की ओर इशारा करना चाहिए जो VPN प्रदान करता है। डिस्कनेक्ट के बाद दोनों आउटपुट उन प्रतियों से मेल खाने चाहिए जो आपने पहले ली थीं, और इसीलिए उन्हें पहले लेना महत्वपूर्ण है। ड्राइवर अपडेट प्रशासक की आवश्यकता फिर ला सकते हैं, इसलिए परिणाम के बगल में क्लाइंट संस्करण लिखें। साझा इंस्टॉल के लिए अनुमतियाँ ढीली करने के बजाय प्रोफ़ाइल और कुंजी फ़ाइलों को केवल उन्हीं का उपयोग करने वाले खाते के लिए पठनीय रखें।
लिखें कि टनल कौन शुरू कर सकता है, कौन-सा समूह इसे देता है और किसे अब भी प्रशासक चाहिए। यह टिप्पणी अगले क्लाइंट अपडेट को अनुमान के एक दोपहर के बजाय नियोजित काम में बदल देती है।