کلید ظاہر کیے بغیر VPN سرٹیفکیٹ کا معائنہ
صرف عوامی فیلڈز، تاریخیں اور فنگر پرنٹ پڑھیں، کلیدی مواد چھاپے بغیر۔ کون سی کمانڈ محفوظ ہے، یہ اِس بات پر منحصر ہے کہ فائل میں کیا ہے اور آؤٹ پٹ کون دیکھے گا۔
سرٹیفکیٹ کے عوامی فیلڈز پڑھنے کے لیے کبھی اُس نجی کلید کو دکھانا ضروری نہیں جو اُس سے مطابقت رکھتی ہو، اور ایسا کرنے کے اوزار ہر اُس نظام کے ساتھ آتے ہیں جو VPN ختم کرتا ہے۔ خطرہ ایک قدم پہلے ہے: آپ کو دی گئی فائل سرٹیفکیٹ ہی نہ ہو۔ PEM سرٹیفکیٹ، DER بائنری، PKCS#12 بنڈل اور OpenVPN پروفائل ایک ہی نام کے ساتھ آ سکتے ہیں مگر بالکل مختلف مواد رکھ سکتے ہیں، اس لیے کمانڈ چننے سے پہلے کنٹینر کی شناخت کریں۔
کون سی کمانڈ محفوظ ہے، یہ تین حقائق طے کرتے ہیں: فائل میں کیا ہے، آپ کو اُس سے کیا پڑھنا ہے، اور آؤٹ پٹ کون دیکھے گا۔ ان میں سے ایک بھی غلط اندازہ لگایا تو معائنہ خود واقعہ بن جاتا ہے۔
آپ کو تین فائلوں میں سے کون سی دی گئی
PEM سرٹیفکیٹ وہ متن ہے جس میں BEGIN اور END کے نشان صاف نظر آتے ہیں، DER فائل بائنری ہے جسے اِن پٹ فارمیٹ کا جھنڈا درکار ہوتا ہے، اور بنڈل ایسا کنٹینر ہے جو سرٹیفکیٹ کے ساتھ کلید بھی رکھ سکتا ہے۔ file server.crt متن کو بائنری سے ایک سیکنڈ میں الگ کر دیتا ہے، اور پہلی سطر پر ایک نظر خالی سرٹیفکیٹ کو اُس پروفائل سے الگ کرتی ہے جو اُسے سموئے ہوتے ہیں۔ یہیں اندازہ لگانا معائنے کو واقعہ بنا دیتا ہے۔
اگر فائل سرٹیفکیٹ نہیں بلکہ پروفائل ہو تو اُسے اُس وقت تک اسناد سمجھیں جب تک اِس کے برعکس ثابت نہ ہو جائے۔ یہ مفروضہ کچھ بھی گنواتا نہیں اور اِس پورے کام کی سب سے عام غلطی روکتا ہے۔
PEM سرٹیفکیٹ کے عوامی فیلڈز پڑھنا
جس سرٹیفکیٹ کا معائنہ آپ کو مجاز ہے، اُس کے لیے -noout کے ساتھ x509 ذیلی کمانڈ صرف وہی فیلڈز چھاپتی ہے جو آپ منتخب کریں، اِس کے سوا کچھ نہیں۔ باڈی کو دبانا ہی آؤٹ پٹ کو میٹا ڈیٹا تک محدود رکھتا ہے، اور یہی اُسے ٹکٹ میں چپکانے کے لیے محفوظ بناتا ہے۔ نیچے دیے گئے سلیکٹرز عوامی ہیں، اور باقی کی فہرست openssl x509 دستاویز دیتی ہے۔
openssl x509 -in server.crt -noout -subject -issuer -dates -fingerprint -sha256
مقامی طور پر بنائے گئے آزمائشی سرٹیفکیٹ پر یہ کمانڈ subject اور issuer کی سطر، notBefore–notAfter کا جوڑا اور ایک SHA-256 فنگر پرنٹ چھاپتی ہے۔ یہ فیلڈز شے کی شناخت کرتے ہیں؛ یہ کوئی درست اعتماد کا راستہ قائم نہیں کرتے، وہ ایک الگ تصدیقی کام ہے جس کی اپنی کمانڈ اور اپنا جواب ہے۔ چین فائل صرف پہلا سرٹیفکیٹ چھاپ سکتی ہے جب تک آپ خود فائل پر چکر نہ لگائیں۔ اِس طرح دو فائلوں کا موازنہ ایک کمانڈ کا کام ہے اور طے کر دیتا ہے کہ ہم منصب واقعی کون سی پیش کرتا ہے۔
وہ بنڈل جو سرٹیفکیٹ کے ساتھ کلید رکھتے ہیں
.p12 یا .pfx نجی کلید رکھ سکتی ہے، اور تجزیے کی کمانڈ اُسے چھاپ دیتی ہے جب تک آپ آؤٹ پٹ کا وہ حصہ نہ دبائیں۔ -nokeys کے ساتھ وہی کمانڈ بھی کوئی کلیدی مواد جاری کیے بغیر، ڈھکی ہوئی کلید کی تھیلی سمیت، کنٹینر کی ساخت بتاتی ہے؛ وہ جھنڈا ہٹائیں تو آپ کے ٹرمینل اور شیل کی تاریخ میں کلید کا بلاک ظاہر ہو جاتا ہے۔
openssl pkcs12 -in bundle.p12 -nokeys -info -passin env:P12PASS
OpenVPN پروفائل وہی مواد متن کے طور پر سموتا ہے، اس لیے حد نظر آتی ہے اگر آپ جانتے ہوں کہ کہاں دیکھنا ہے۔ عوامی مواد BEGIN CERTIFICATE اور END CERTIFICATE کے درمیان ہوتا ہے، جبکہ BEGIN PRIVATE KEY اور اُس کے مطابق END سطر کے درمیان جو کچھ ہے وہ کلید ہے اور اُسے میزبان سے باہر نہیں جانا چاہیے۔ پروفائل کو مکمل نقل کرنا دونوں کو شائع کر دیتا ہے۔
حوالہ جاتی قدر کہیں اور سے حاصل کرنا
جس رابطے کی آپ تصدیق کرنے کی کوشش کر رہے ہیں اُس سے پڑھا گیا فنگر پرنٹ کچھ ثابت نہیں کرتا، کیونکہ وہ اُس فریق نے دیا ہے جس پر آپ بھروسا نہیں کرتے۔ یہ فنگر پرنٹس کے خلاف دلیل نہیں؛ یہ ماخذ کے بارے میں دلیل ہے۔ قدر کا موازنہ ایسی قدر سے کریں جو ایسے ذریعے سے ملی ہو جس میں ہم منصب لکھ نہیں سکتا، مثلاً اندرونی مخزن میں شائع شدہ سرٹیفکیٹ یا دستخط شدہ تبدیلی کے ریکارڈ میں چھپا ہوا ہیش۔
جہاں اعتماد کا مخزن تصدیق کرتا ہے، اُسے کرنے دیں، اور اپنا موازنہ رکھنے کی بجائے وہ خرابی پڑھیں جو وہ پیدا کرتا ہے۔ اہم فرق یہ ہے کہ حوالہ کس نے دیا، نہ یہ کہ کون سا ہیش فعل استعمال ہوا۔
نتیجہ بانٹنا، اور غلطی کے بعد کیا کرنا ہے
بالکل وہی تصدیقی خرابی، متعلقہ تاریخیں اور صرف وہی شناختی تفصیلات بھیجیں جن کی وصول کنندہ کو ضرورت ہے۔ اندرونی میزبان نام اور اکاؤنٹ شناخت کنندہ کلید نہ ہونے پر بھی حساس رہتے ہیں، اور عوامی پیسٹ سروس اِن میں سے کسی کے لیے درست منزل نہیں۔ ٹکٹ میں چپکائیں، کسی ایسے عارضی بفر میں نہیں جو کوئی اور بانٹ رہا ہو۔
اگر کلیدی مواد واقعی اسکرین یا فائل میں ظاہر ہوا تو اُسے سمجھوتہ شدہ سمجھیں اور بدلیں، یہ اُمید رکھنے کی بجائے کہ کسی نے نہیں دیکھا۔ پھر لکھیں کہ کون سی فائل کا معائنہ ہوا، کون سی کمانڈ استعمال ہوئی اور آؤٹ پٹ کہاں گیا، کیونکہ یہی ریکارڈ خوف کو طریقہ کار میں بدلتا ہے۔ کسی کے اسکرین شاٹ نہ رکھنے کے مفروضے کی قیمت کے مقابلے میں کلید بدلنا سستا ہے، اور وہی ریکارڈ اگلے انجینئر کو بتاتا ہے کہ کن فائلوں کو چھوا گیا۔ ٹکٹ بند ہونے سے پہلے دونوں کام کریں۔