Windows Sandbox का ट्रैफ़िक डिफ़ॉल्ट रूप से होस्ट के VPN का पालन नहीं करता
सैंडबॉक्स डिफ़ॉल्ट स्विच पर एक वर्चुअल अडैप्टर से नेटवर्क तक पहुँचता है। आपका टनल उसे ढकता है या नहीं, यह क्लाइंट का गुण है, इसलिए अंदर से जाँचें।
आप Windows Sandbox शुरू करते हैं, उसके अंदर ब्राउज़र खोलते हैं, और पेज आपके सामान्य कनेक्शन से लोड होता है, भले ही होस्ट एक मिनट पहले VPN पर था। कुछ भी टूटा नहीं है। सैंडबॉक्स को होस्ट के डिफ़ॉल्ट स्विच से जुड़ा एक वर्चुअल नेटवर्क अडैप्टर मिलता है, और होस्ट का टनल उस रास्ते को ढकता है या नहीं, यह VPN क्लाइंट का गुण है, Windows का नहीं।
सैंडबॉक्स को वास्तव में क्या मिलता है
सैंडबॉक्स अपने नेटवर्क अडैप्टर वाली एक हल्की वर्चुअल मशीन है। वह अडैप्टर होस्ट के Hyper-V डिफ़ॉल्ट स्विच से जुड़ता है, जो मशीन छोड़ने से पहले सैंडबॉक्स के ट्रैफ़िक को होस्ट के वर्चुअल Ethernet इंटरफ़ेस में बदल देता है। यह बारीकी इस बारे में लोगों की बताई लगभग हर समस्या समझा देती है।
इसलिए सैंडबॉक्स आपके डेस्कटॉप पर कोई प्रोसेस नहीं है। यह एक अलग नेटवर्क एंडपॉइंट है जिसके पैकेट होस्ट फ़ॉरवर्ड करता है, और होस्ट का फ़ायरवॉल तथा VPN क्लाइंट दोनों उस फ़ॉरवर्डिंग को अपने-अपने तरीके से देखते हैं। ब्राउज़र प्रोसेस के लिए लिखा नियम वर्चुअल स्विच से आए बदले हुए फ़्रेम पर अपने आप लागू नहीं होता।
दो आवश्यकताएँ जो एक जैसी दिखती हैं
किसी निजी संसाधन तक पहुँचना और सैंडबॉक्स के हर अनुरोध को टनल से गुज़ारना अलग लक्ष्य हैं। पहले के लिए ऐसा रूट और नाम-समाधान चाहिए जो सैंडबॉक्स के एंडपॉइंट के लिए काम करे। दूसरे के लिए ऐसा प्रवर्तन चाहिए जो पुनः कनेक्शन और विफलता सह ले। कोई भी दूसरे से नहीं निकलता, और एक को संतुष्ट करने वाली जाँच दूसरे के बारे में कुछ नहीं कहती।
सार्वजनिक पते की जाँच दोनों सवालों में से किसी का भी पूरा जवाब नहीं देती। सैंडबॉक्स के अंदर से VPN एग्ज़िट दिखना यह दिखाता है कि कुछ ट्रैफ़िक ने टनल का इस्तेमाल किया। यह नहीं बताता कि निजी नाम हल होते हैं या नहीं, और न ही उस अनुरोध का क्या होता है जो टनल बंद होने पर शुरू होता है।
कुछ भी जाँचने से पहले लिख लें कि आपको दोनों में से कौन-सी चाहिए, क्योंकि दोनों आवश्यकताएँ अलग डिज़ाइन की ओर ले जाती हैं और दोनों में से सिर्फ़ एक ही ब्राउज़र से जाँची जा सकती है।
सैंडबॉक्स के अंदर से जाँचें
एकमात्र सार्थक अवलोकन सैंडबॉक्स के अपने सत्र से आता है, होस्ट से नहीं। वहाँ PowerShell खोलें और अडैप्टर, नाम-समाधान और दस्तावेज़ीकरण के किसी पते तक के रास्ते को देखें:
ipconfig /all Resolve-DnsName files.corp.example Test-NetConnection 198.51.100.7 -Port 443 Get-NetRoute -DestinationPrefix 0.0.0.0/0
अडैप्टर की सूची बताती है कि सैंडबॉक्स को कौन-सा पता और गेटवे मिला। होस्ट से अलग गेटवे डिफ़ॉल्ट स्विच के लिए सामान्य है, इसलिए गेटवे नहीं, एग्ज़िट की तुलना करें। समाधान परीक्षण बताता है कि निजी नाम का जवाब मिलता है या नहीं, और यहीं आम तौर पर split-horizon सेटअप होस्ट से अलग होते हैं। रूट की पंक्ति बताती है कि सैंडबॉक्स किस गेटवे को डिफ़ॉल्ट का मालिक मानता है।
टनल जुड़ा और कटा होने पर वही तीन जाँच दोहराएँ। इन दो अवस्थाओं के बीच न बदलने वाला परिणाम इस बात का सबूत है कि टनल सैंडबॉक्स के रास्ते में ही नहीं है, सार्वजनिक जाँच ने जो भी पता दिखाया हो।
जब सैंडबॉक्स को नेटवर्क की ज़रूरत न हो तो उसे बंद कर दें
ऑफ़लाइन निरीक्षण के लिए एक कस्टम कॉन्फ़िगरेशन फ़ाइल नेटवर्क को पूरी तरह हटा सकती है। सेटिंग कॉन्फ़िगरेशन दस्तावेज़ में एक ही एलिमेंट है:
<Configuration> <Networking>Disable</Networking> </Configuration>
सैंडबॉक्स कॉन्फ़िगरेशन संदर्भ इस एलिमेंट का दस्तावेज़ीकरण करता है और चेतावनी देता है कि सक्षम नेटवर्किंग आंतरिक नेटवर्क को ऐसे अनुप्रयोगों के सामने उजागर कर सकती है जिन पर आप भरोसा नहीं करते। यही चेतावनी डिफ़ॉल्ट स्वीकारने के बजाय इसे स्पष्ट रूप से सेट करने का पूरा कारण है।
स्विच, तथापि, कोई VPN इंटरफ़ेस नहीं चुनता। यह नेटवर्क होने या न होने का द्विआधारी निर्णय है, सैंडबॉक्स को किसी ख़ास टनल से बाँधने का तरीका नहीं। एग्ज़िट का नाम लेने वाली आवश्यकता उस स्विच से पूरी नहीं हो सकती जो सिर्फ़ यह तय करता है कि एग्ज़िट है या नहीं।
कुछ भी देने से पहले सीमा तय करें
अगर आवश्यकता कड़ा अलगाव है, तो ऐसा वर्चुअल मशीन नेटवर्क डिज़ाइन चुनें जो उसे लागू कर सके, और फ़ॉरवर्ड किए गए या वर्चुअल मशीन ट्रैफ़िक के लिए VPN उत्पाद की समर्थित नीति का उपयोग करें। होस्ट क्लाइंट के व्यवहार का अनुमान लगाना डिज़ाइन नहीं है, और एक सफल जाँच कार्यान्वयन नहीं है।
परीक्षण पास कराने के लिए किसी अविश्वसनीय सैंडबॉक्स को कॉर्पोरेट VPN प्रोफ़ाइल या निजी क्रेडेंशियल न दें। यह उस सीमा को हरे परिणाम से बदल देता है जिसे आप स्थापित करने की कोशिश कर रहे थे, और क्रेडेंशियल परीक्षण से अधिक जीता है।
परिनियोजन नोट्स में नेटवर्क मोड, देखा गया एग्ज़िट और पुनः कनेक्शन का व्यवहार दर्ज करें। जब क्लाइंट अपडेट यह बदल दे कि फ़ॉरवर्ड किए गए ट्रैफ़िक को कैसे संभाला जाता है, तब वही नोट्स बताते हैं कि आवश्यकता वास्तव में कभी पूरी नहीं हुई थी।