الالتقاط على مضيف VPN لا يسجّل شيئًا واحدًا فحسب. يكشف النواة الحزمة مرتين: ملفوفةً على المحول الفيزيائي، ومكشوفةً على جهاز النفق. اختيار الواجهة هو اختيار أيّ من هاتين الروايتين تقرأ. معظم الجدل حول ما يثبته الالتقاط هو في الحقيقة جدل حول أي رواية جُمعت.

التغليف يخلق رؤيتين

يأخذ النفق الحزمة التي أنتجها التطبيق ويضعها داخل حزمة جديدة وجهتها خادم VPN. يظهر الشكل الداخلي على tun0 أو wg0 أو أي جهاز أنشأه العميل. يظهر الشكل الخارجي على المحول الذي يحمله إلى الشبكة. الشكلان مشروعان؛ وهما يجيبان عن سؤالين مختلفين. اجمع كلًّا منهما على حدة، لأن الاثنين لهما ترويسات مختلفة وقرّاء مختلفون.

sudo tcpdump -i tun0 -n -s 0
sudo tcpdump -i eth0 -n host 198.51.100.20 and udp port 51820

الواجهة الزائفة any خيار سيئ لهذه المقارنة. يمكن تسجيل الحزم المُمرَّرة مرتين، وتظهر الحزمة المولّدة محليًا بالشكلين، ما يضخّم الأعداد. إذا بدا رقم مستحيلًا، فافحص الواجهة قبل أن تلوم النفق.

داخل النفق، الحزمة عادية

على جهاز النفق، ما تراه هو ما طلب التطبيق من النواة إرساله. عناوين الوجهة والمنافذ وأسماء DNS وأسماء خوادم TLS والأحجام والتوقيت كلها موجودة. تبقى حمولة TLS مشفّرة بجلسة التطبيق نفسها، لذا لا يكشف الالتقاط محتوى الصفحة. يظهر استعلام DNS بنص صريح هنا رغم أن حامله مشفّر، لأنه لم يُحمَ في الأصل.

يزيل DNS المشفّر ذلك الحقل المرئي الواحد. لكنه لا يخفي عنوان الوجهة ولا عدد البايتات ولا الإيقاع، وهي خصائص التدفق لا خصائص الاستعلام.

في الخارج، الغلاف وشكله فقط

يعرض المحول الفيزيائي عنوانك وعنوان الخادم والمنفذ وأحجام الحزم والتوقيت. الوجهات المحمولة في الداخل غائبة، رغم أن شكلها قد يدعم الاستنتاج. يمكن للأحجام والإيقاع أن توحي ببث فيديو أو نقل كبير أو جلسة دردشة دون تسمية أي منها. يرى المراقب القريب المشهد نفسه تقريبًا، وهذا يفسّر كيف يمكن للنفق أن يخفي المواقع بينما يعلن وجوده.

يتوقف ذلك الادعاء على التوجيه. مسار أضيق، أو افتراضي IPv6 لا يدخل النفق، أو عملية مرتبطة بالواجهة الفيزيائية ستضع حركة المرور خارج الغلاف. اقرأ المسار الفعلي قبل استخلاص الاستنتاجات من الالتقاط.

عنوان النظير ونظافة الالتقاط

يحتفظ OpenVPN في وضع TCP بمقبس قائم، لذا يمكن لجدول المقابس تسمية النظير. غالبًا ما يترك OpenVPN في وضع UDP المقبس غير متصل، وقد يعرض ss الجانب المحلي فقط. اقرأ بدلًا من ذلك remote في الملف الشخصي، أو سجل عميل مطوّل، أو المسار إلى نقطة النهاية. يبلّغ WireGuard عن نقطة نهايته وآخر مصافحة مباشرة.

wg show
ss -tunp | grep 51820

يعيش ملف الالتقاط أطول من الجلسة التي أنتجته. يمكن نسخه، وقد يكون مقروءًا لأي شخص لديه وصول محلي. احتفظ فقط بما يحتاجه التحقيق، وقيّد الأذونات، واحذفه عند انتهاء العمل.

ينبغي للالتقاط القابل للمشاركة أن يذكر الواجهة التي أنتجته ومتى. بدون تلك الملاحظة، على القارئ التالي أن يخمّن أي طبقة ينظر إليها.

مقالات ذات صلة