OVPN फ़ाइल को किसी प्रोग्राम का इनपुट मानें, यह प्रमाणपत्र नहीं कि उसकी सामग्री हानिरहित है। सर्वर का पता जाँचना केवल यह बताता है कि प्रोफ़ाइल कहाँ जुड़ना चाहती है, और कुछ नहीं। उस फ़ाइल के भीतर भरोसे के दो अलग निर्णय हैं: क्लाइंट आपकी मशीन पर क्या कर सकता है, और कौन सा ऑपरेटर ट्रैफ़िक पाता है। कोई जाना-पहचाना प्रोटोकॉल नाम दोनों में से किसी को तय नहीं करता।

एक ही फ़ाइल में दो निर्णय छिपे हैं

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

दोनों को मिला देना दोनों दिशाओं में बुरी सलाह देता है: किसी अनजान ऑपरेटर की साफ़ दिखने वाली प्रोफ़ाइल, या किसी जाने-पहचाने ऑपरेटर की प्रोफ़ाइल जिसमें ऐसा हुक हो जिसे किसी ने पढ़ा नहीं। स्थानीय रूप से सुरक्षित प्रोफ़ाइल भी आपका ट्रैफ़िक ऐसे किसी व्यक्ति को दे सकती है जिसे आप न चुनते।

किसी भी क्लाइंट से पहले प्रोफ़ाइल पढ़ें

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

grep -nE '^(script-security|up|down|plugin|route-up|ipchange)' untrusted.ovpn

खाली परिणाम भरोसा देता है और निर्णायक नहीं है, क्योंकि विकल्प एक-दूसरे पर असर डाल सकते हैं या किसी शामिल फ़ाइल से आ सकते हैं। छनी हुई सूची को आगे पढ़ने का कारण मानें, फ़ैसला नहीं।

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

पूरी फ़ाइल भी एक बार पढ़ें, क्योंकि एक अनजान पंक्ति को संदर्भ में परखना छनी हुई सूची की तुलना में आसान है। अगर कोई पंक्ति अनजानी है, तो अनुमान लगाने के बजाय उसे अपने क्लाइंट के मैनुअल में देखें।

क्लाइंट वास्तव में क्या निष्पादित करेगा

Community OpenVPN का 2.6 मैनुअल script-security के स्तरों का वर्णन करता है: स्तर 1 डिफ़ॉल्ट है और उपयोगकर्ता द्वारा परिभाषित स्क्रिप्ट को रोकता है, जबकि स्तर 2 उन्हें अनुमति देता है। प्लग-इन लोड करना अपने स्वयं के निर्देश वाली अलग सुविधा है। इसीलिए एक ही फ़ाइल अलग-अलग क्लाइंट में अलग बात कह सकती है। मोबाइल और निर्माता क्लाइंट संकीर्ण निर्देश-समूह स्वीकार कर सकते हैं, या हुक में से कोई भी नहीं।

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

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

ऑपरेटर की तुलना करें, केवल पते की नहीं

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

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

ठीक से सत्यापित HTTPS सत्र अभी भी पेज की सामग्री केवल पैकेट आगे भेजने वाले से छिपाता है, इसलिए एग्ज़िट हर पासवर्ड अपने आप नहीं देखता। वह देखता है कि आप किन साइटों तक पहुँचते हैं, और इस सीमा को बढ़ा-चढ़ाकर कहने के बजाय सटीक कहना चाहिए।

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

संबंधित लेख