پرانے VPN پروفائلز میں متروک سائفر لائنیں: نقل کرنے سے پہلے پڑھیں
ہدایات ورژن کی تبدیلیوں سے مختلف معانی کے ساتھ، یا بالکل بے معنی گزر جاتی ہیں۔ دیکھیں کہ پروفائل کس کلائنٹ نے لکھا اور ٹنل نے درحقیقت کیا طے کیا۔
یہ پروفائل 2016 میں لکھا گیا تھا، اور یہ اب بھی درآمد ہوتا ہے اور اب بھی جڑتا ہے۔ یہی وجہ ہے کہ کوئی اس کی طرف نہیں دیکھتا۔ جو کلائنٹ ایک وقت یہ ہدایات پڑھتا تھا وہ بہت پہلے جا چکا ہے، اور موجودہ بلڈ ان میں سے کئی کو مختلف انداز میں سمجھ سکتا ہے۔
فائل کا بچا رہنا یہ نہیں ظاہر کرتا کہ ترتیب تازہ ہے۔ ان دو خیالوں کو الگ کرنا ہی کام کا بڑا حصہ ہے۔
پتہ لگائیں کہ پروفائل کس کلائنٹ نے لکھا
جاری کنندہ اور ورژن سے شروع کریں۔ ہدایت کا معنی وہ عمل درآمد طے کرتا ہے جو اسے پڑھتا ہے۔ جو سطر کسی وقت الگورتھم چنتی تھی وہ متبادل فہرست، انتباہ یا سخت خرابی بن سکتی ہے۔ کون سی ریلیز اسے سمجھتی ہے یہی نتیجہ طے کرتی ہے۔
OpenVPN سب سے واضح مثال ہے۔ ورژن 2.5 نے data-ciphers متعارف کروایا اور بدلا کہ پرانی cipher ہدایت مذاکرات میں کیسے شریک ہوتی ہے۔ صرف cipher AES-128-CBC رکھنے والا پروفائل اب اپنے مصنف کے ارادے سے کہیں زیادہ تنگ تجویز پیش کرتا ہے۔
اب انتباہ دینے یا ناکام ہونے والی ترتیب کے لیے ریلیز نوٹ پڑھیں۔ لاگ میں انتباہ موجودہ بلڈ کے بارے میں حقیقت ہے، اور یہ اس بارے میں کسی کی یاد سے زیادہ بھاری ہے کہ سطر کیوں شامل کی گئی۔
دیکھیں کہ درحقیقت کیا طے ہوا
کامیاب درآمد تجزیے کا ثبوت ہے، پالیسی کا نہیں۔ طے شدہ نتیجہ کنکشن کے قائم ہونے کے بعد کلائنٹ لاگ میں ظاہر ہوتا ہے۔ یہ ترتیب فائل کے دونوں سروں سے مختلف ہو سکتا ہے۔
# OpenVPN: what did this session agree on?
sudo journalctl -u openvpn-client@office --since '5 min ago' | grep -i 'cipher\|Data Channel'
# which directives does the profile actually carry?
grep -n -E 'cipher|auth|tls-|dh ' office.ovpnقبول شدہ درآمد جو خاموشی سے ہدایت چھوڑ دیتا ہے ایسا پروفائل چھوڑتا ہے جو ایک طرح پڑھا جاتا ہے اور دوسری طرح برتاؤ کرتا ہے۔ یہی خلا بیان کرتا ہے کہ سخت لکھی گئی دستاویز اپنے ہی متن کے دعوے سے کمزور چیز پر کیوں متفق ہوتی ہے۔ لاگ ہی واحد جگہ ہے جہاں فرق نظر آتا ہے۔ فائل پر بھروسہ کرنے سے پہلے اسے پڑھیں۔
سطر نہیں، انتظام کو بہتر بنائیں
آپریٹر کی برقرار رکھی گئی پروفائل لیں، درآمد کے شکایت کرنا بند کرنے تک الگورتھم کے نام جوڑنے کے بجائے۔ آزمائش سے لائنیں شامل کرنا اصلاح کی سمت الٹ دیتا ہے۔ یہ سرور کی حمایت کا تعین کرنے کے بجائے کلائنٹ کو نامعلوم سرور سے ہم آہنگ کرتا ہے۔
سرور کو بھی مربوط اپ گریڈ کی ضرورت ہو سکتی ہے۔ موجودہ کلائنٹ ایسی تجویز کے لیے معاونت نہیں بنا سکتا جو دوسرا فریق کبھی پیش نہیں کرتا۔ کلائنٹ کی طرف کا کوئی اختیار غیر تازہ شدہ گیٹ وے کا متبادل نہیں۔
جس چیز کی قربانی نہیں ہونی چاہیے وہ تصدیق ہے۔ سرٹیفکیٹ جانچ ہٹانا، ہوسٹ نام جانچ بند کرنا یا پرانا پروفائل زندہ رکھنے کے لیے اپ ڈیٹس بند کرنا مطابقت کے مسئلے کو اعتماد کے مسئلے میں بدل دیتا ہے۔ یہ عام طور پر ایک وقت میں ایک چھوٹی ترمیم سے ہوتا ہے۔
نتیجہ کی تصدیق کریں اور استثنا درج کریں
تبدیلی کے بعد، طے شدہ مجموعے کا دوبارہ جائزہ لیں اور اس وسیلے کو آزمائیں جس کے لیے ٹنل موجود ہے۔ جو پروفائل آپ کے ارادے کے مطابق طے کرتا ہے مگر پھر بھی سروس تک نہیں پہنچتا اس میں روٹنگ یا شناخت کا مسئلہ ہے۔ اس میں کوئی خفیہ کاری کا مسئلہ نہیں۔
پچھلی معلوم اچھی ترتیب کو محفوظ جگہ پر رکھیں۔ موازنہ صرف اس وقت تک ممکن ہے جب تک پرانی فائل موجود ہے۔
کسی بھی مطابقت کے استثنا کو مالک اور جائزہ تاریخ کے ساتھ درج کریں۔ جس عارضی انتظام کا کوئی مالک نہیں وہ مستقل پالیسی بن جاتا ہے۔ فائل پڑھنے والا اگلا شخص سمجھے گا کہ یہ جان بوجھ کر چنا گیا تھا۔