لاگ جمع کرنے والا منتخب کرنے سے پہلے طے کریں کہ آڈٹ کو کون سا واقعہ قائم کرنا ہے۔ یہ پوچھنا کہ کون سا VPN سیشن منزل کے پتے سے رابطہ کیا، اس سے مختلف سوال ہے کہ کس شخص نے کوئی مخصوص صفحہ کھولا۔ دونوں کے لیے مختلف ریکارڈ، مختلف ربط اور اعتماد کی مختلف سطحیں درکار ہیں۔ 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

پہلا حکم سروس جرنل سے سیشن کے واقعات دکھاتا ہے۔ دوسرا مختص شدہ پتوں کے ساتھ موجودہ کلائنٹ فہرست چھاپتا ہے، جو وہ نقشہ ہے جس پر آڈٹ کا ربط منحصر ہے۔ تیسرا براہ راست بہاؤ کی حالت دکھاتا ہے، جو صرف اُس وقت تک مفید ہے جب تک کنکشن موجود ہو۔

تلاش ملاقات نہیں

براؤزر ناموں کو اندازے سے حل کرتا ہے، جوابات محفوظ کرتا ہے اور نگرانی والے حل کنندہ سے دوبارہ پوچھے بغیر اُنہیں دوبارہ استعمال کرتا ہے۔ اس لیے حل کنندہ کے لاگ میں نام تلاش ثابت کرتا ہے، ملاقات نہیں۔ HTTPS پر DNS اس خلا کو مزید وسیع کرتا ہے، کیونکہ اس کے لیے ترتیب دیا گیا براؤزر اپنے سوالات وہاں بھیجتا ہے جہاں آپ کا عام لاگر اُنہیں کبھی نہیں دیکھتا۔

منزل کے پتے بذات خود بہتر نہیں۔ ایک پتہ کئی غیر متعلق سائٹس کی میزبانی کر سکتا ہے، معکوس DNS دوبارہ تشکیل نہیں بلکہ اندازہ ہے، اور TLS مصافحے کے دوران نظر آنے والا ہوسٹ نام خفیہ کردہ سیشن کے اندر درخواست کا راستہ نہیں ہے۔

درست لین دین کے لیے آپ کو ایپلیکیشن کے اپنے واقعاتی ریکارڈ یا ایسا پراکسی ڈیزائن چاہیے جو لاگنگ کے لیے واضح طور پر معاون ہو۔ CONNECT سرنگ پراکسی کو منزل اور حجم دیتی ہے، اندر کے صفحہ راستے نہیں۔ نیٹ ورک تک انتظامی رسائی ایپلیکیشن کے اعتماد کے ماڈل کو خاموشی سے بدلنے کا لائسنس نہیں۔

کسی شخص کا نام لینے سے پہلے شناخت اور وقت جوڑیں

اندرونی ماخذ پتے والا بہاؤ ریکارڈ اُس وقت تک کچھ معنی نہیں رکھتا جب تک وہ پتہ اسی وقت کسی سیشن سے نہ جوڑا جائے۔ پتے دوبارہ استعمال ہوتے ہیں، اور وہی پتہ ایک گھنٹہ پہلے کسی دوسرے سیشن کا ہو سکتا ہے۔ مستقل تخصیص تعلق برقرار رکھنے کا ایک طریقہ ہے، واحد نہیں۔

ترجمے کی سرحدیں ربط کو مزید کمزور کرتی ہیں۔ اگر کئی آلات آپ کے مشاہدے کے مقام سے پہلے ہی ایک ماخذ پتہ مشترک کر رہے تھے، تو آپ بہترین طور پر مشترکہ گیٹ وے سیشن کی شناخت کر سکتے ہیں، ایک آلہ نہیں۔ کئی افراد کا استعمال کردہ سرٹیفکیٹ یا اکاؤنٹ بھی وہی اثر رکھتا ہے۔

وقت کے علاقے، گھڑی کے ماخذ، مشاہدے کے مقامات اور ترجمے کا ہر مرحلہ ریکارڈ کریں۔ غائب ریکارڈ کا مطلب ہو سکتا ہے کہ بہاؤ کا اندراج پرانا ہو گیا، کوئی سینسر بچا لیا گیا یا ایپلیکیشن کا لاگ بند تھا۔ عدم موجودگی اس بات کا ثبوت نہیں کہ کچھ نہیں ہوا۔

پھر اعلان شدہ مقصد کے لیے کم سے کم فیلڈز، مجاز قارئین اور برقرار رکھنے کی مدت متعین کریں۔ باہمی تعلق اور غلط نسبت ڈیزائن کے سوالات ہیں، بعد کی سوچ نہیں، اور لوگوں کی شناخت کرنے والا میٹا ڈیٹا اُس شناختی نقشے جیسی حفاظت کا مستحق ہے جس پر وہ منحصر ہے۔

آڈٹ کو اُس سرگرمی سے آزمائیں جو آپ کنٹرول کرتے ہیں

ایسا مجاز ٹریفک پیدا کریں جس کا سیشن اور ایپلیکیشن آپ پہلے سے جانتے ہیں، پھر دیکھیں کہ ہر ریکارڈ نے واقعی کیا قید کیا۔ صفحہ لوڈ کیے بغیر تلاش کریں، کیشے سے صفحہ لوڈ کریں اور پراکسی کے ذریعے کنکشن کھولیں، اور دیکھیں کون سے واقعات ظاہر ہوتے ہیں۔

اُس واقعے کی رپورٹ کریں جس کی شہادتیں تائید کرتی ہیں اور بتائیں کہ یہ کیا محیط نہیں۔ اعلان شدہ دائرے والا معمولی ریکارڈ جائزے میں ٹک جاتا ہے؛ اندازوں سے بنی بلند پرواز براؤزنگ ہسٹری نہیں ٹکتی۔

متعلقہ مضامین