لم يسرّب الـ VPN عنوان IP القديم: قيمة محفوظة فعلت ذلك
قد تُبلّغ خدمة عن عنوانك العام القديم بينما يستخدم الاتصال الجديد مخرج الـ VPN. افصل رأس المصدر في الحزمة عن قيمة احتفظ بها التطبيق.
رؤية عنوانك العام القديم في تقرير خدمة بعد تشغيل الـ VPN ليست بحد ذاتها دليلاً على تسريب. قد يستخدم الاتصال الحي مخرج النفق بينما يرسل التطبيق قيمة تعلّمها قبل وجود النفق. هذان دليلان مختلفان، وواحد فقط منهما يصف الحزمة الحالية. والآخر قيمة نجت من إعادة الاتصال لأن لا شيء في مسار الشبكة يملكها.
التفسيران وراء عنوان واحد
التسلسل الذي يتخيله الناس هو حزمة تغادر الواجهة الفيزيائية بينما يُفترض أن الـ VPN نشط. التسلسل الذي يفسّر التقرير عادةً أقصر وأكثر بلاهة: تطبيق تعلّم عنواناً سابقاً وما زال يحتفظ به. ترتيب الأحداث بالتسلسل يفصل بين الاثنين.
Address learned before the tunnel: P1
Tunnel up: the next request exits at P2
Application reuses its retained P1 in a message body
Receiver logs source P2 and submitted value P1
لا شيء في هذا الترتيب يتطلب اتصالاً حياً من العنوان الأول. القيمة المحفوظة تسافر داخل الرسالة، بينما يحمل الرأس المخرج الذي اختاره المسار الحالي. والخدمة التي تسجّل الحقلين ستعرضهما جنباً إلى جنب وتبدو متناقضة.
هذا تفسير محتمل، وليس اتهاماً لأي عميل بعينه. السمعة ليست دليلاً: قاعدة شيفرة يمكنك قراءتها، أو علامة تجارية تثق بها، أو مخرج مختلف، لا تقول شيئاً عما احتفظ به برنامج واحد أو أرسله.
ذاكرة التطبيق تعيش أطول من إعادة الاتصال
تغيير اتصال الـ VPN يغيّر المسار الذي يسلكه الاتصال الجديد. لكنه يترك حالة التطبيق كما هي، ولا يمكنه سحب معلومات خزّنها خدمة بعيدة مسبقاً. قد يرسل برنامج معرّف حساب أو موقعاً محفوظاً أو اسم جهاز أو قيمة أخرى حصل عليها سابقاً، ويحمي التشفير تلك الحمولة أثناء النقل دون إزالة أي شيء منها. إعادة الاتصال حدث شبكي؛ والقيمة المحفوظة حدث خاص بالتطبيق.
التمييز مهم لأن الاثنين يعيشان في مكانين مختلفين. حالة التطبيق ملك للبرنامج وتبقى بعد إعادة التشغيل، بينما المسار ملك لنظام التشغيل ويُبنى من جديد عند كل اتصال. مسح أحدهما لا يؤثر على الآخر.
قد تحتفظ خدمة أيضاً بقيمة سلّمتها لها قبل أشهر، وفي هذه الحالة لن يزيلها أي تغيير محلي. ذلك احتفاظ، وهو خارج النفق تماماً.
اقرأ رأس المصدر أولاً، ثم الحمولة
ابدأ بتحديد أين ظهر العنوان. سجل اتصالات الخادم يصف المصدر الحي، بينما قد يصف حقل رسالة أو ملف تعريف حساب أو شاشة تشخيص محلية قيمة أُرسلت أو خُزّنت قبل ذلك بكثير. هذه الملاحظات تجيب عن أسئلة مختلفة.
قارن الأوقات أيضاً. إذا ظهر العنوان القديم في حقل يسبق اتصال الـ VPN، فتفسير الحمولة أقوى. وإذا سجّل الخادم اتصالاً مباشراً من العنوان القديم بينما النفق قائم، فهذه مسألة توجيه وتحتاج تحقيقاً مختلفاً. ترتيب أنواع الملاحظات أولاً يمنع مطّ عنوان واحد ليصبح دليلاً على ثلاثة أحداث.
افصل بينها في ملاحظاتك: مصدر الاتصال، حقل الرسالة، عرض الحساب، التشخيص المحلي. عنوان واحد مكتوب في أربعة أماكن يبقى عنواناً واحداً.
الاحتفاظ مرحلة مختلفة عن النقل
إرشادات الخصوصية في RFC 6973 تعامل الجمع والاستخدام والإفصاح والاحتفاظ كمراحل منفصلة، وتحذّر من أن المعرّفات المعاد استخدامها تجعل الربط سهلاً. مسار شبكي جديد يغيّر مرحلة النقل ولا شيء غيرها. السجلات التي يحتفظ بها المستلم بالفعل لا تُمَس به، وكذلك أي ملف تعريف خزّن القيمة أثناء الدخول. لهذا قد تبدو إعادة الاتصال فاشلة بينما يعمل النقل بشكل صحيح.
لا يمكن لأي مرشّح حزم أن يحذف قيمة من سجلات مستلم، ولن تؤدي إعادة الاتصال إلى محو التاريخ المخزّن لكل برنامج. هذه مشكلات مالك البيانات لا مشكلات النفق، وتحتاج نوعاً مختلفاً من الحل. اسأل الخدمة عما تحتفظ به ولكم من الوقت قبل أن تطلب من الشبكة إخفاءه.
ما يجب فحصه قبل لوم النفق
راجع وسائل الجمع وإدارة الحساب الموثّقة في التطبيق، وقرّر أي الحقول يجوز له إرسالها، وكم تحتفظ الخدمة بها، وما إذا كان الحساب يستطيع مسحها أو تصحيحها. ثم نفّذ الاختبار الذي يفصل بين التفسيرين: حساب جديد أو ملف تطبيق نظيف. إذا اختفت القيمة القديمة، فكان الاحتفاظ أو الحالة المخزّنة مؤثراً. وإذا بقيت مع ملف نظيف، فافحص حقل الطلب الفعلي قبل الاستنتاج بأن الـ VPN فشل.
إذا كان هناك اتصال مباشر فعلاً، فتعامل معه كاكتشاف في مسار الشبكة. افحص التوجيه والنفق المنقسم وسياسة العميل بشروطها الخاصة، ولا تخلط تلك النتيجة بقيمة حمولة نجت ببساطة من إعادة الاتصال. الفشلان يبدوان متشابهين في لقطة شاشة ويتصرفان بشكل مختلف تماماً في التقاط.