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

سمِّ الحدث قبل اختيار الجامع

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

كل واحد منها يثبت حدثًا واحدًا ويترك البقية مفتوحة. كتابة السؤال أولًا تمنعك من تركيب قصة لا تدعمها البيانات.

journalctl -u [email protected] --since today | grep -i 'peer info\|assigned'
cat /etc/openvpn/server/openvpn-status.log | head -20
conntrack -L -p tcp --dport 443 2>/dev/null | head -20

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

الاستعلام ليس زيارة

المتصفح يحل الأسماء استباقيًا ويخزّن الإجابات ويعيد استخدامها دون أن يسأل المحلّل المراقَب مرة أخرى. لذا فإن اسمًا في سجل محلّل يثبت استعلامًا لا زيارة. وDNS عبر HTTPS يوسّع هذه الفجوة، لأن المتصفح المهيأ لذلك يرسل أسئلته إلى مكان لا يراه مسجّلك العادي أبدًا.

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

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

اربط الهوية والوقت قبل أن تسمّي شخصًا

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

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

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

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

اختبر التدقيق بنشاط تتحكم فيه

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

أبلغ عن الحدث الذي تدعمه الأدلة وقل ما لا يغطيه. السجل المتواضع بنطاق معلن يصمد أمام المراجعة؛ أما سجل التصفح الطموح المركّب من التخمينات فلا يصمد.

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