ایک VPN لاگ میں تین گھڑیاں: کلائنٹ، گیٹ وے، جمع کرنے والا
کلائنٹ لاگ، گیٹ وے ریکارڈ اور جمع کرنے والے تک رسائی — یہ تین گھڑیوں والے تین واقعات ہیں۔ وقت کی مہروں کا موازنہ کرنے سے پہلے ماخذ کی نشاندہی کریں۔
VPN واقعے کی زمانی لکیر عام طور پر دو وقت کی مہروں سے شروع ہوتی ہے جو چند منٹ کے فرق سے ہیں اور ایک ایسی اسکرین سے جو الگ گھنٹہ دکھاتی ہے۔ لالچ یہ ہے کہ ایک کو درست مان کر دوسری کو دوبارہ لکھ دیا جائے۔ دونوں درست ہو سکتی ہیں، کیونکہ مختلف گھڑیوں نے مختلف واقعات کے بارے میں وہ لکھی ہیں۔ افسانہ یہ ہے کہ VPN کی ایک ہی گھڑی ہوتی ہے؛ کام یہ جاننا ہے کہ کس جزو نے کون سا خانہ لکھا۔
افسانہ: VPN کی ایک ہی گھڑی
کلائنٹ واقعہ لکھتا ہے جب وہ رابطے کی کوشش کرتا ہے۔ گیٹ وے واقعہ لکھتا ہے جب اسے وہ کوشش ملتی ہے یا وہ اسے قبول کرتا ہے۔ جمع کرنے والا رسائی کا وقت لکھتا ہے جب اسے گیٹ وے کا پیغام ملتا ہے۔ یہ تین واقعات ہیں، اور ہر ایک پر اسی گھڑی کی مہر ہے جس پر لکھنے والے جزو نے بھروسہ کیا۔ انہیں ایک زمانی لکیر میں سمیٹنا ایک سہولت ہے جو اس اختلاف کو چھپاتی ہے جسے آپ سمجھانا چاہتے ہیں۔
اعداد عام طور پر سیکنڈ سے منٹ تک مختلف ہوتے ہیں، اور یہ معمول ہے۔ اہم یہ ہے کہ فرق ترسیل کی تاخیر ہے، گھڑی کا انحراف ہے یا واقعی کوئی اور واقعہ۔ یہ طے کرنے کے لیے کہ آپ کسے دیکھ رہے ہیں، ہر خانے کا ماخذ درکار ہے، نہ کہ اس بارے میں زیادہ پختہ رائے کہ کون سی مشین درست ہے۔
قدر سے پہلے ماخذ پڑھیں
قدروں کا موازنہ کرنے سے پہلے پہچانیں کہ ہر ایک کس نے بنائی اور کون سا خانہ ہے۔ syslog پیغام ماخذ سے وقت کی مہر لے کر جاتا ہے، جیسا کہ RFC 5424 بیان کرتا ہے، اور فارمیٹ ہم آہنگی اور درستگی بیان کرنے والی وقت کے معیار کی معلومات بھی لے جا سکتا ہے۔ یہی فارمیٹ ماخذ کو اجازت دیتا ہے کہ جب وہ نظام کا وقت نہ پڑھ سکے تو کوئی وقت کی مہر نہ بھیجے، جو بذات خود ایک مفید اشارہ ہے۔
journalctl -o short-iso --utc -n 20
logger -t vpn-check "test event"
کلائنٹ ایپلیکیشن میٹاڈیٹا کے طور پر وقت کی قدر بھی بھیج سکتا ہے، اور اسے محفوظ کرنے والی سروس کو چاہیے کہ اسے آزادانہ تصدیق شدہ سمجھنے کے بجائے کلائنٹ کی بتائی ہوئی کے طور پر نشان زد کرے۔ یہی نشان ثبوت اور دعوے کے درمیان فرق ہے۔ کسی مقدمے کے لیے لاگ برآمد کرتے وقت خانے کا نام، ماخذ اور انحراف ساتھ رکھیں۔ انہیں آسان مقامی وقت میں بدل دینا ٹھیک اسی معلومات کو تباہ کرتا ہے جن کی آپ کو ضرورت ہے۔
اگر آپ نہ بتا سکیں کہ کس جزو نے خانہ لکھا تو رک جائیں۔ اس کا کسی اور چیز سے موازنہ کرنا اندازہ ہے۔
ٹائم زون کی نمائش الگ لمحہ نہیں
ایک ہی لمحہ 10:00Z اور 18:00+08:00 کے طور پر دکھانا کوئی تضاد نہیں، اور اسے تضاد سمجھنا آدھا دن ضائع کرتا ہے۔ موازنہ سے پہلے دونوں کو UTC میں بدلیں، اور اصل متن تبدیلی کے ساتھ رکھیں۔ ایک طرف اعشاری کسر اور دوسری طرف پورے سیکنڈ ہونا بھی کوئی تصادم نہیں۔ درستگی کا مطلب صحت نہیں: ملی سیکنڈ والی قدر بھی ایسی گھڑی سے آ سکتی ہے جو کئی منٹ غلط ہو۔
date -u +%FT%TZ
timedatectl
ترسیل کی تاخیر دوسری عام وضاحت ہے۔ گیٹ وے درج کرتا ہے کہ اس نے رابطہ کب قبول کیا، اور جمع کرنے والا درج کرتا ہے کہ پیغام اس تک کب پہنچا، اس لیے دونوں کے درمیان وقفہ نقل و حمل کا وقت ہے۔ وہ وقفہ لاگ پائپ لائن کے بارے میں کچھ کہتا ہے، VPN سیشن کے بارے میں نہیں۔ اسے رسائی کے وقت کے طور پر نشان زد کریں اور یہ واقعے کے وقت سے مقابلہ کرنا بند کر دے گا۔
ثبوت دوبارہ لکھے بغیر ربط قائم کریں
اصل وقت کی مہریں رکھیں اور اگر مشترکہ منظر درکار ہو تو ایک ماخوذ کالم شامل کریں۔ ماخذ ریکارڈ میں ترمیم کے بجائے نوٹس میں تبدیلی کی وضاحت کریں، کیونکہ ماخذ ہی وہ چیز ہے جو بعد کا جائزہ لینے والا جانچے گا۔ جمع کرنے والے کے رسائی کے وقت کو جہاں بھی ہو الگ محفوظ رکھیں۔
chronyc tracking
journalctl --utc -u openvpn-client@work -n 50 --no-pager
ڈیوائس کی گھڑی بدلنا رازداری کا کنٹرول نہیں ہے اور دوسرے نظام کے پاس پہلے سے موجود ریکارڈ دوبارہ نہیں لکھتا۔ یہ معاون ثبوت کا موازنہ بھی مشکل بناتا ہے، اور وقت پر منحصر سرٹیفکیٹ اور کوڈ کی جانچ توڑ سکتا ہے۔ عام کام کے لیے گھڑیوں کو ہم آہنگ رکھیں، اور کسی بھی دانستہ انحراف کو قابل تحقیق خرابی سمجھیں۔ اگر دونوں ریکارڈ ترتیب سے باہر لگیں تو نیا تاریخ ساز بنانے سے پہلے گھڑی کی ہم آہنگی اور ترسیل دیکھیں۔
جو افسانہ چھوڑنا چاہیے وہ یہ ہے کہ ایک ہی VPN وقت ہوتا ہے۔ پوچھیں کہ ہر خانے نے کیا لکھا اور جب ایسا کیا تو کیا ہوا، پھر زمانی لکیر تضاد کے بجائے نشان زدہ مشاہدوں کا مجموعہ بن جاتی ہے۔