تطبيق VPN يطلب جهات الاتصال وإمكانية الوصول: ما الذي يُسمح به
يحتاج الـ VPN إلى تصريح شبكي واحد. أما إمكانية الوصول وجهات الاتصال وتثبيت الشهادات فتحتاج إلى سبب خاص بها لا تستطيع خصيصة التوجيه تقديمه.
يطلب المثبّت الوصول إلى الشبكة، ثم جهات الاتصال وإمكانية الوصول وتثبيت شهادة. الطلب الأول وحده يخص المهمة. الشاشة الثانية هي مكان القرار الفعلي.
احكم على كل طلب مقابل خصيصة اخترتها أنت، على المنصة التي تشغّلها. لا توجد قائمة أذونات عالمية تغطي كل منتج VPN، والقائمة الطويلة لا تثبت شيئًا بحد ذاتها.
الإذن الوحيد الذي تحتاجه المهمة فعلاً
يطلب Android من المستخدم الموافقة على خدمة VPN عبر مربع حوار نظام قبل أن يبدأ أي نفق، وتعلن خدمة التطبيق BIND_VPN_SERVICE كي يتمكن النظام من الارتباط بها. عمليًا يقوم التطبيق بعمل التوجيه. وتأتي الموافقة من الشخص الذي يحمل الجهاز، في مربع حوار يسمّي التطبيق، وسحبها لاحقًا إجراء مدعوم.
تعبر منصات Apple عن الفكرة نفسها عبر امتداد شبكي مع موافقة تثبيت بدلًا من شاشة إذن. ويستخدم Windows برنامج تشغيل محول افتراضي ومطالبة رفع صلاحيات. شكلان ومعنى واحد: هذا البرنامج قد يتعامل مع الحزم. لا شيء في ذلك التصريح يغطي قراءة دفتر عناوينك أو إصدار سلطة شهادات لنفسه.
الوصول الإضافي منحة منفصلة بآثار منفصلة. والعميل الموجّه الذي يريده يحتاج إلى سبب خاص به.
حيث تحتاج الطلبات الإضافية إلى تفسيرها الخاص
يمكن لخدمة إمكانية الوصول قراءة محتوى الشاشة والتصرف نيابة عنك، وهذا أبعد بكثير من التوجيه. ويمكن لإدارة الجهاز فرض سياسات القفل ومحو البيانات. أما شهادة الجذر التي يثبتها المستخدم فتتيح لمن يملك المفتاح المطابق قراءة حركة المرور التي كان TLS سيحميها.
قد يكون أي منها مشروعًا. فقد تحتاج منتجات الأجهزة المُدارة والرقابة الأبوية إلى صلاحيات سياسة، وقد تحتاج أداة دعم إلى إمكانية الوصول لترشدك خلال الإعدادات.
المطلوب هو إمكانية التتبع: يشير الطلب إلى خصيصة مسماة، وتكون تلك الخصيصة مرئية في المنتج الذي ثبّتته. ومطالبة جهات الاتصال التي لا تقابلها شاشة تخص جهات الاتصال ليس لديها تفسير تقدمه. وحجة التشفير لا تنتقل أيضًا، لأن حماية الحزم لا تقول شيئًا عن هوية أصدقائك. وقد يبالغ منتج مشروع في الطلب عبر مكتبة مضمّنة، وذلك عيب ينبغي رفعه لا جريمة ينبغي الإبلاغ عنها.
سجّل الطلب والخصيصة التي يقابلها، ثم قرر. وتلك الملاحظة هي ما تعرضه على الدعم عندما تتعطل خصيصة بعد الرفض.
قراءة الطلب على الجهاز
توصف قائمة المتجر النية، بينما تصف الحزمة المثبتة الواقع. اسأل مدير الحزم عمّا أُعلن وعمّا مُنح قبل الموافقة على أي شيء آخر. ويصبح هذا التوافق أهم ما يكون عندما تختلف القائمة والبيان.
استعلامان يغطيان معظم ذلك:
adb shell dumpsys package com.example.vpn | grep -E "requested permissions|install permissions" -A 30 adb shell cmd appops get com.example.vpn
يسرد الأول الأذونات المعلنة مقابل الممنوحة، وهي المقارنة التي تكشف بيانًا أوسع من اللازم. ويعرض الثاني عمليات التطبيق أثناء التشغيل، بما فيها أوضاع الوصول الخاصة التي لا تظهر قط كأذونات عادية. وحيث لا تتوفر أدوات المطورين، اقرأ الحقائق نفسها من شاشات إعدادات المنصة.
تستغرق تلك الشاشات دقيقة ولا تحتاج إلى أي برنامج. فإمكانية الوصول وإدارة الجهاز وتخزين الشهادات تسرد كل منها التطبيقات الحائزة على المنحة.
أن تقرر، ثم تحدّ من الضرر
امنح التصريح الشبكي لعميل اخترته، وتعامل مع كل طلب إضافي كقرار مستقل. ارفض الطلبات التي لا تقابلها خصيصة، ثم انظر ما الذي يتعطل. فالعميل الموجّه الذي يفشل عند رفض الوصول إلى جهات الاتصال لم يكن يطلب جهات الاتصال نيابة عنك أبدًا.
سحب إذن واحد يعطّل عادة خصيصة واحدة دون إلغاء تثبيت التطبيق أو هدم كل ملف تعريف. أعد الاتصال بعد ذلك وتأكد من أن النفق ما زال يُنشأ.
افصل بين السؤالين اللذين يميل الطلب إلى دمجهما: ما الذي يجوز لهذا البرنامج فعله على الجهاز، وما الذي يفعله مشغله بحركة المرور بعد أن يرتفع النفق. الأول يُجاب عنه هنا. والثاني يحتاج إلى سياسة احتفاظ، ولا يوفر أي مربع حوار واحدة منها.