Android VPN र एप अनुमतिहरू: चेतावनीको अर्थ के हो
Android को VPN सहमति संवादले प्याकेट-स्तरको स्थान दिन्छ, तपाईंको इमेल, फोटो वा सम्पर्कमा पहुँच होइन। त्यो सीमा वास्तवमा यहीँ छ।
Android का दुई संवादहरू सधैं एकअर्कामा मिसाइन्छन्: VPN सहमतिको अनुरोध र एपले तपाईंको डेटाका लागि गर्ने अनुमति अनुरोधहरू। पहिलोले नेटवर्कको स्थान दिन्छ, अर्थात् त्यो बिन्दु जहाँ प्याकेट पढ्न र पुनः लेख्न सकिन्छ। दोस्रोले Android ले एप-एप गरी जोगाउने भण्डारित सामग्री दिन्छ। यी दुईलाई एउटै कुरा मान्दा या त टनेलले के देख्न सक्छ भन्ने कुरा बढाइचढाइ गरिन्छ, या कुनै हठी एपले अब के माग्नेछ भन्ने कुरा निकै कम आँकिन्छ।
सहमति संवादले वास्तवमा के दिन्छ
VpnService लागू गर्ने र BIND_VPN_SERVICE घोषणा गर्ने एपले प्रणालीलाई यन्त्रको VPN बन्न अनुरोध गर्छ। स्वीकृतिपछि ढाँचाले tun इन्टरफेस बनाउँछ र एपलाई त्यसका लागि फाइल डिस्क्रिप्टर दिन्छ। त्यसपछि एपले गर्ने सबै काम त्यही डिस्क्रिप्टरबाट बहन्छ: यसले IP प्याकेट बाहिर पढ्छ, तिनलाई के गर्ने भनेर निर्णय गर्छ, र प्याकेट फेरि भित्र लेख्छ।
त्यो इन्टरफेसको दायरा स्पष्ट छ। कुन गन्तव्यहरू समातिने हुन् भन्ने मार्गहरूले निर्धारण गर्छन्, र कुन एपहरूले यसलाई डेटा दिन्छन् भन्ने addAllowedApplication वा addDisallowedApplication ले निर्धारण गर्छ। दुई एप सूचीबद्ध गर्ने प्रति-एप VPN ले यन्त्रको बाँकी भाग देख्दैन।
यो प्याकेट-स्तरको अधिकार हो, डेटा-स्तरको होइन। सेवाले एपले नेटवर्क स्ट्याकमा दिने बाइटहरू देख्छ, जो कुनै गन्तव्यमा ठेगाना गरिएका हुन्छन्। यसले पठाउने एपको निजी भण्डारण, त्यसका डेटाबेस फाइलहरू वा त्यसको डिक्रिप्ट गरिएको मेमोरीमा पहुँच पाउँदैन। एपले आफ्नै स्यान्डबक्समा सञ्चित गरेका फाइलहरू पहिलेजस्तै पढ्न गाह्रो नै रहन्छन्।
प्याकेट दृश्य कहाँ रोकिन्छ
TLS ले टनेलभित्रै आफ्नो काम गरिरहन्छ, किनकि ह्यान्डशेक एप र सर्भरबीच हुन्छ, एप र VPN बीच होइन। VPN ले सत्र कुञ्जीबिना डिक्रिप्ट गर्न नसक्ने साइफरटेक्स्ट अगाडि पठाउँछ। त्यसैले टनेल मात्रले HTTPS पृष्ठ वा सुरक्षित मेल सत्रको सामग्री खुलाउँदैन।
साइफरटेक्स्टको वरपरको मेटाडेटा अर्को कथा हो, र यहीँ धेरै आत्मविश्वासी दाबीहरू भत्किन्छन्। गन्तव्य IP, पोर्ट, प्याकेटको आकार र समय सबै देखिन्छन्, साथै TLS ClientHello भित्रको सर्भर नाम, जो सामान्यतया TLS 1.3 अन्तर्गत पनि खुला रूपमा पठाइन्छ। Encrypted Client Hello ले यो बदल्छ, तर त्यो सार्वभौमिक छैन। सादा DNS ले पनि प्रश्नहरू इन्क्रिप्शनबिना बाहिर जाँदा नामहरू उत्तिकै सजिलै चुहाउँछ।
पुराना वा गलत कन्फिगर गरिएका प्रोटोकलले बढी दिन्छन्। सादा HTTP, TLS बिनाको IMAP र धेरै खेल तथा IoT प्रोटोकलहरूले आफ्नो पेलोड tun डिस्क्रिप्टर भएको जुनसुकै कुरासामु खोल्छन्।
कहिल्यै सँगै नआउने अनुमतिहरू
VPN स्वीकृत गर्नु भनेको सम्पर्क, SMS, फोटो वा मिडिया स्टोर स्वीकृत गर्नु होइन। ती अलग रनटाइम अनुमतिहरू हुन्, प्रत्येकको आफ्नै संवाद र एपको सेटिङ पृष्ठमा आफ्नै रद्द गर्ने मार्ग छ। तपाईंको कल लग चाहने VPN क्लाइन्टले अरू कुनै एपजस्तै त्यो माग्नुपर्छ, र तपाईं टनेल राखेर अस्वीकार गर्न सक्नुहुन्छ।
प्रमाणपत्र स्थापना ध्यान दिनुपर्ने कुरा हो, किनकि यो VPN सेटअपको भागजस्तो देखिन्छ तर होइन। क्रेडेन्सियल भण्डारमा प्रयोगकर्ता CA स्थापना गर्नाले Android ले कुन प्रमाणपत्र स्वीकार गर्ने भन्ने बदलिन्छ, र Android 7.0 देखि API 24 वा नयाँ लक्षित एपले प्रयोगकर्ताले थपेका CA लाई बेवास्ता गर्छ, त्यसको नेटवर्क सुरक्षा कन्फिगले प्रयोगकर्ता विश्वास एङ्करसहित त्यसलाई नरोजेसम्म। CA मा जोड दिने क्लाइन्टले वैध उद्यम अवरोध गरिरहेको हुन सक्छ, वा VPN संवादले कहिल्यै उल्लेख नगरेको कुरा मागिरहेको हुन सक्छ।
पहुँचयोग्यता पहुँच अझ बाहिर बस्छ। पहुँचयोग्यता सक्षम भएको सेवाले अरू एपको स्क्रिन सामग्री पढ्न सक्छ, जो कुनै पनि प्याकेट-स्तरीय स्थानले दिँदैन।
स्थानीय फिल्टर वा टाढाको गेटवे
एउटै API ले फरक विश्वास स्तरको हकदार दुई उत्पादन समेट्छ। यन्त्रमा रहेको फायरवाल वा विज्ञापन ब्लकरले tun डिस्क्रिप्टर लिन्छ र ट्राफिकको जवाफ स्थानीय रूपमा दिन्छ, कहिल्यै आफैं सञ्चालन गर्ने सर्भरमा पठाउँदैन। साँचो टनेलले ती प्याकेट अन्त कतै रहेको गेटवेमा पठाउँछ, र त्यो सञ्चालकले अर्को छेउबाट त्यही मेटाडेटा देख्छ र के फर्कने भन्ने पनि निर्णय गर्छ।
तिनलाई छुट्याउने व्यावहारिक तरिका भनेको VPN खुला र बन्द राखेर आफ्नो सार्वजनिक ठेगाना जाँच्नु हो, र सूचनाले टाढाको अन्त्य बिन्दुको नाम लिन्छ कि भनेर हेर्नु हो। ठेगाना कहिल्यै नबदलिए ट्राफिक सम्भवतः यन्त्रभित्रै घुमिरहेको छ।
दुवै अवस्था अझै प्याकेट स्थान हो। फरक यो हो कि बाहिर निस्कने ठाउँमा अरू को उभिएको छ।
तपाईंले के स्वीकृत गर्नुभयो त्यसको अडिट गर्नुहोस्
Settings खोल्नुहोस्, त्यसपछि Network and internet, त्यसपछि VPN, र स्टेटस बारको आइकन होइन, प्रविष्टि पढ्नुहोस्। Always-on VPN र Block connections without VPN इन्टरफेस जीवित राख्ने र चुहावट काट्ने यन्त्र सेटिङ हुन्; तिनले केही पनि फराकिलो बनाउँदैनन्। त्यही स्क्रिनबाट तपाईं प्रोफाइल बिर्सन र अनुमति रद्द गर्न सक्नुहुन्छ।
त्यसपछि बाँकी अनुमतिहरू हेर्नुहोस्। App info ले क्लाइन्टसँग कुन रनटाइम अनुमति छन् देखाउँछ, र Security सेटिङले त्यही समयमा प्रयोगकर्ता प्रमाणपत्र स्थापना भएको थियो कि भनेर देखाउँछ। दुवैलाई स्वतन्त्र रूपमा हटाउन सकिन्छ।
जवाफ दिन लायक प्रश्न साँघुरो छ: कुन प्याकेट यो सेवामा प्रवेश गर्छन्, ती कहाँ जान्छन्, र कार्यान्वयनले के राख्छ। संवादमा बाँकी सबै हल्ला हो। VpnService सन्दर्भ इन्टरफेसले के खोल्छ भन्ने आधिकारिक सूची हो।