अविश्वसनीय VPN तीन अलग सीमाएँ हैं, एक नहीं
दूरस्थ साथी, पथ में मौजूद ऑपरेटर और आपके होस्ट पर मौजूद क्लाइंट तीन अलग खतरे हैं। फ़ायरवॉल नियम उनमें से केवल पहले का उत्तर देता है।
«मैं इस VPN पर भरोसा नहीं करता» सामान्यतः एक ही वाक्य में ओढ़े गए तीन कथन हैं। उस नेटवर्क के दूरस्थ साथी आपके होस्ट की सेवाओं तक पहुँच सकते हैं, टनल चलाने वाला ऑपरेटर उससे गुजरने वाला ट्रैफ़िक देख सकता है, और आपके द्वारा इंस्टॉल किया गया क्लाइंट सॉफ़्टवेयर आपकी मशीन की नेटवर्क नीति बदल सकता है। सुधारने योग्य विश्वास यह है कि एक फ़ायरवॉल नियम, एक वर्चुअल मशीन या सावधान ऑपरेटिंग सिस्टम चुनाव तीनों का उत्तर देता है। हर उपाय उनमें से ठीक एक का उत्तर देता है।
मिथक: एक नियंत्रण पूरा जोखिम ढक लेता है
सामान्य धारणा यह है कि अविश्वसनीय नेटवर्क से जुड़ना एक ही निर्णय और एक ही शमन है। लोग वह नियंत्रण चुनते हैं जिस पर उन्हें पहले से भरोसा है, उसे लागू करते हैं और जोखिम को निपटा हुआ मानते हैं: फ़ायरवॉल चालू है, कार्यक्षेत्र फेंकने योग्य है, क्लाइंट प्रतिष्ठित विक्रेता से आया है।
ये नियंत्रण उस तरह ओवरलैप नहीं करते जैसा धारणा सुझाती है। होस्ट फ़ायरवॉल सीमित करता है कि दूरस्थ साथी कहाँ तक पहुँच सकता है, और आपके TLS को समाप्त करने वाले ऑपरेटर के विरुद्ध यह कुछ नहीं करता। वर्चुअल मशीन कार्यक्षेत्र को आपके होस्ट की फ़ाइलों से अलग करती है, और दोनों के नीचे का नेटवर्क स्टैक फिर से कॉन्फ़िगर करने की अनुमति वाले क्लाइंट घटक के विरुद्ध यह कुछ नहीं करता। हर नियंत्रण जो सीमा वास्तव में बनाता है उसका नाम देना ही पूरा अभ्यास है।
उन्हें अलग करना यह भी बताता है कि आपने कौन-सा जोखिम स्वीकार करना चुना है। अधिकांश वास्तविक निर्णय एक सीमा को कम करते हैं और दूसरी को सहते हैं, जो तब तक ठीक है जब तक परिवर्तन का रिकॉर्ड बताए कि कौन-सी कौन-सी है।
दूरस्थ साथी वास्तव में कहाँ तक पहुँच सकता है
सुनने वाली सेवाओं से शुरू करें। पैकेट एन्क्रिप्टेड आए हैं इसलिए जिस टनल इंटरफ़ेस को व्यापक रूप से विश्वसनीय माना जाता है, वही सामान्य गलती है, और यह उस नेटवर्क पर हर किसी के लिए हर स्थानीय श्रोता को संभावित लक्ष्य बना देती है। एन्क्रिप्शन दो सिरों के बीच के तार की रक्षा करता है; यह दूसरे सिरे पर मौजूद साथी के इरादे के बारे में कुछ नहीं कहता।
ss -tulpn sudo nft list ruleset ip -br addr
सेवाओं को हर इंटरफ़ेस के बजाय उस पते पर बाँधें जिसकी उन्हें ज़रूरत है, और केवल वही क्रियाएँ अनुमत करें जो स्वीकृत कार्य माँगता है। फ़ॉरवर्डिंग, ब्रिजिंग और एप्लिकेशन प्रॉक्सी को स्पष्ट रखें, क्योंकि दो नेटवर्क लगाव अपने आप पारगमन पथ नहीं बनाते, पर एक प्रॉक्सी नियम निश्चित रूप से बना सकता है।
स्वीकृत फेंकने योग्य कार्यक्षेत्र यह कम करता है कि दूरस्थ नेटवर्क कहाँ तक पहुँच सकता है, पर केवल तब जब उसकी साझाकरण कॉन्फ़िगरेशन दावे से मेल खाती हो। साझा फ़ोल्डर, क्लिपबोर्ड एकीकरण, क्रेडेंशियल एजेंट और प्रबंधन चैनल सभी उस सीमा को पार करते हैं जो कार्यक्षेत्र को बनानी थी। कार्यक्षेत्र का लेबल इस बात का कुछ साबित नहीं करता कि इनमें से कौन खुले हैं।
NIST की शून्य-विश्वास स्थापत्य इस सब के पीछे का सिद्धांत कहती है: केवल नेटवर्क स्थान निहित विश्वास नहीं देता। टनल स्वीकार होने के बाद भी संसाधन प्रमाणीकरण का काम बाकी है, और यह प्रश्न भी कि उस नेटवर्क को और कौन साझा करता है।
पथ में मौजूद ऑपरेटर क्या देख सकता है
VPN आपका ट्रैफ़िक पथ पर दूसरी जगह ले जाता है; यह एप्लिकेशन एन्क्रिप्शन नहीं जोड़ता। यदि प्रदाता आपका TLS समाप्त करता है, तो प्रदाता वह पढ़ सकता है जिसे आपका ब्राउज़र अन्यथा बचाता, और कोई स्थानीय फ़ायरवॉल नियम इसे नहीं बदलता।
वास्तविक गंतव्य के लिए सामान्य प्रमाणपत्र सत्यापन रखें और रिज़ॉल्वर तथा मेटाडेटा पथ को समझें, क्योंकि DNS क्वेरी उसके पहले जाने वाले पेलोड से अधिक प्रकट कर सकती है। केवल मेटाडेटा, अर्थात् आपने किन पतों से कब संपर्क किया, अक्सर सामग्री पढ़ने की किसी आवश्यकता के बिना ऑपरेटर के प्रश्न का उत्तर देता है। इसीलिए «ट्रैफ़िक एन्क्रिप्टेड है» और «ट्रैफ़िक निजी है» अलग दावे हैं।
यदि वह दृश्यता कार्य के लिए अस्वीकार्य है, तो उत्तर अधिक स्थानीय फ़िल्टरिंग नहीं बल्कि दूसरी स्वीकृत स्थापत्य है। स्थानीय फ़िल्टरिंग किसी पर्यवेक्षक को उस पथ से हटा नहीं सकती जिस पर वह अभी भी बैठा है।
स्थानीय क्लाइंट क्या बदल सकता है
यही वह सीमा है जिसे लोग चूक जाते हैं, और यही बाकी दो को निरर्थक बनाती है। लिनक्स में CAP_NET_ADMIN अपने नेटवर्क संदर्भ में इंटरफ़ेस कॉन्फ़िगरेशन, फ़ायरवॉल प्रशासन और रूट परिवर्तन को कवर करता है। उस क्षमता वाला सॉफ़्टवेयर आपके द्वारा अभी लिखी गई नीति को फिर से लिख सकता है।
getcap /usr/sbin/openvpn systemd-analyze security vpn-client.service ip netns list
नेटवर्क नेमस्पेस नेटवर्क स्थिति के लिए वास्तविक सीमा है और बाकी सब के लिए कमज़ोर: यह फ़ाइल सिस्टम या क्रेडेंशियल भंडार को अलग नहीं करता। इसे पूरी समस्या का कंटेनर नहीं बल्कि एक परत मानें।
क्लाइंट और उसका कॉन्फ़िगरेशन अनुरक्षित स्रोत से प्राप्त करें, वह जो अधिकार माँगता है उसकी समीक्षा करें, और विशेषाधिकार प्राप्त घटकों को प्रशासक के नियंत्रण में रखें। वर्चुअल मशीन मूल्यवान क्रेडेंशियल के बगल में अस्पष्ट इंस्टॉलर चलाने की अनुमति बने बिना योग्य मूल्यांकन सीमा का हिस्सा हो सकती है। इंस्टॉलर आप जो भी अधिकार देते हैं उसी से चलता है, और वह अधिकार ही सीमा है।
लिखें कि आपने कौन-सी सीमा स्वीकार की
चार चीज़ों के नाम लेने वाले वाक्य से समाप्त करें: विश्वसनीय स्थानीय कोड, अनुमत दूरस्थ पहुँच, संरक्षित एप्लिकेशन डेटा और बचा हुआ ऑपरेटर संबंध। वह वाक्य इस सामान्य दावे से अधिक मूल्यवान है कि VM, ऑपरेटिंग सिस्टम या एंटीवायरस उत्पाद ने शत्रुतापूर्ण नेटवर्क को सुरक्षित बना दिया।
फिर पुष्टि करें कि संकीर्ण क्रिया काम करती है और माँगा गया इनकार अब भी टिकता है, टनल गिरने के बाद भी। जो सीमा केवल तब तक है जब तक टनल चालू है, वह आपकी दर्ज की गई सीमा नहीं है।
कोई परीक्षण यह साबित नहीं करता कि हर भेद्यता अनुपस्थित है, और विपरीत दावा करने वाली समीक्षा अतिशयोक्ति करती है। ईमानदार परिणाम शेष जोखिम और उसे स्वीकार करने वाले व्यक्ति का नाम बताता है।