خادم خلف VPN يحتفظ بمداخل خدماته العامة، ولا يزال الناس يعثرون عليها. ما يصل إلى قائمة التنبيهات ليس نتيجة واحدة بل ثلاث نتائج محتملة، وهي تعني أشياء مختلفة. المهمة الأولى هي الفصل بين خدمة مكشوفة وبيانات اعتماد مكشوفة.

اعمل على نقاط المراقبة بالترتيب. توقّف عندما تتغير فئة الأدلة، لأن المرحلة التالية تجيب عن سؤال مختلف.

المرحلة الأولى: ما رآه الالتقاط فعلاً

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

لاحظ الواجهة أيضاً. الالتقاط على المهايئ العام والالتقاط داخل النفق يصفان نقطتي وصول مختلفتين، والتنبيه الذي يستشهد بالواجهة الخاطئة يؤدي إلى الاستنتاج الخاطئ.

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

المرحلة الثانية: ما يثبته سجل الإسقاط

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

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

# what did the firewall actually drop, and when?
Get-NetFirewallProfile -PolicyStore ActiveStore | Select-Object Name, LogAllowed, LogBlocked
Get-Content "$env:systemroot\System32\LogFiles\Firewall\pfirewall.log" | Select-String 'DROP'

# correlate with a listening service on the same port
Get-NetTCPConnection -LocalPort 3389 -State Listen | Select-Object LocalAddress, OwningProcess

المنفذ المغلق والحزمة المُسقطة يبدوان متطابقين من الخارج ومختلفين تماماً في هذين المخرجين. هذا الفرق هو السبب كله لقراءة السجل المحلي.

المرحلة الثالثة: ما يثبته حدث المصادقة

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

اقرأ السياق الفعلي للحدث. محاولة دخول فاشلة لحساب غير موجود هي ضجيج من الفحص. ومحاولة دخول فاشلة لحساب حقيقي من مصدر معقول لها أولوية مختلفة. والجلسة الناجحة فئة حادثة مختلفة تماماً.

راقب أسماء البروتوكولات أيضاً. RPC و RDP خدمتان منفصلتان بمنفذين منفصلين. الكاشف الذي يراقب إحداهما لا يغطي الأخرى. والأدوات التي تلخّص نشاط الشبكة لا تذكر دائماً أيّهما أنتج الحدث.

عيّنة واحدة مترابطة تتغلب على لوحة المعلومات

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

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

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

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