openssl dhparam -check کیا جانچتا ہے اور کیا چھوڑ دیتا ہے
پیرامیٹر جانچ پاس ہونا کوئی سیکیورٹی جائزہ نہیں ہے۔ دیکھیں کہ یہ آپ کی DH فائل کے بارے میں کیا ثابت کرتا ہے، گروپ کا حجم کیسے پڑھیں اور دوبارہ بنانے سے کیسے بچیں۔
dhparam -check پاس کرنا آپ کے VPN کے Diffie-Hellman سیٹ اپ پر فیصلے جیسا لگتا ہے۔ ایسا نہیں ہے۔ کمانڈ ایک پیرامیٹر فائل کا موازنہ اُس حساب سے کرتی ہے جسے وہ پورا کرنے کا دعویٰ کرتی ہے، اور یہ نہیں بتاتی کہ گروپ کا حجم آپ کی پالیسی سے میل کھاتا ہے یا سرنگ اُس فائل کو لوڈ بھی کرتی ہے یا نہیں۔ اسے سیکیورٹی جائزے کے طور پر پڑھنا وہ مفروضہ ہے جسے پہلے درست کرنا چاہیے۔
پیرامیٹر فائل میں ایک مفرد عدد اور ایک جنریٹر ہوتا ہے۔ درستگی اُن اعداد کی خصوصیت ہے، جبکہ قوت آپ کے خطرے کے ماڈل اور آپ کے ساتھیوں کے بارے میں فیصلہ ہے، اور دونوں ایک دوسرے کی جگہ نہیں لے سکتے۔
درستگی کی جانچ اصل میں کیا تصدیق کرتی ہے
اپنی موجودہ فائل پر جانچ چلائیں اور جواب پڑھیں۔ openssl dhparam -in dh.pem -check -noout پیرامیٹر جانچیں کرتا ہے اور انکوڈ شدہ آؤٹ پٹ دبا دیتا ہے۔ یہ پیغام کہ پیرامیٹر ٹھیک لگتے ہیں، مطلب یہ ہے کہ اقدار ساخت کے لحاظ سے ہم آہنگ ہیں؛ اس کا مطلب یہ نہیں کہ چھوٹا گروپ آپ کے ماحول میں قابل قبول ہے۔
-dsaparam کے بغیر بنانا محفوظ مفرد اعداد دیتا ہے، جہاں (p-1)/2 بھی مفرد ہوتا ہے، اسی لیے اتنا وقت لگتا ہے۔ DSA طرز کا راستہ پیرامیٹر تیزی سے بناتا ہے اور اُنہیں DH شکل میں بدلتا ہے، اور OpenSSL دستی اُن کے استعمال سے تازہ چابیوں کی اضافی شرطیں جوڑتا ہے۔ دونوں میں سے کوئی ساخت سیشن راز نہیں ہے: فائل عوامی کنفیگریشن مواد ہے، سرٹیفکیٹ کی نجی چابی نہیں اور کنٹرول چینل کا مشترکہ راز نہیں۔
فائل کا فیصلہ کرنے سے پہلے حجم اور جنریٹر پڑھیں
درستگی کا نتیجہ تب زیادہ معنی رکھتا ہے جب آپ جانتے ہوں کہ کیا جانچا گیا۔ openssl dhparam -in dh.pem -text -noout کے ساتھ پیرامیٹر چھاپیں، پھر مفرد عدد کی لمبائی اور جنریٹر کی قدر نوٹ کریں۔
اُس لمبائی کا موازنہ عادت سے نہیں، لکھی ہوئی پالیسی سے کریں۔ اگر آپ کی ضرورت جدید TLS اسٹیک کا منظور شدہ نامزد گروپ ہے، تو ہاتھ سے بنائی گئی فائل بالکل غلط شے ہو سکتی ہے۔ دونوں اعداد تبدیلی ریکارڈ میں لکھیں تاکہ اگلے جائزہ لینے والے کو اُنہیں دوبارہ اخذ نہ کرنا پڑے۔
جانچ کو دوبارہ بنانے میں نہ بدلیں
یہاں ناکامی کا طریقہ ایسی کمانڈ ہے جو جانچ جیسی دکھتی ہے مگر جنریٹر کی طرح برتاؤ کرتی ہے۔ بٹ لمبائی شامل کرنا، جیسے openssl dhparam -check 2048 میں، نئے پیرامیٹر مانگتا ہے اور ان پٹ فائل نظر انداز ہو جاتی ہے۔ جنریٹر آپشن بھی یہی کر سکتا ہے۔ اگر آپ صرف معائنہ کرنا چاہتے تھے تو -in اور -check دیں اور حجم بیان کرنے والا کچھ نہ دیں۔
اصل راستے پر آؤٹ پٹ لکھنا بھی اسی شک کا حقدار ہے، کیونکہ دستی خبردار کرتا ہے کہ فائل آؤٹ پٹ جوہری نہیں ہے۔ لکھتے وقت خرابی کٹی ہوئی پیرامیٹر فائل اور شروع نہ ہونے والی سروس چھوڑ جاتی ہے۔
گروپ کو پروٹوکول سے ملائیں، رجحان سے نہیں
حجم کی پالیسی ایسا فیصلہ ہے جو اوزار آپ کی طرف سے نہیں پڑھ سکتا۔ 2048 بٹ کا محدود میدان گروپ عام نچلی حد ہے اور بڑے گروپ ہاتھ ملانے کا وقت لیتے ہیں، اس لیے وہ عدد چنیں جو آپ کی اپنی بنیادی لکیر بتاتی ہے اور لکھ لیں۔ بہت استعمال ہونے والے گروپ عوامی ہونے کی وجہ سے کمزور نہیں؛ یہاں گمنامی کچھ نہیں بڑھاتی۔
جہاں اسٹیک منظور شدہ نامزد گروپوں کی حمایت کرتا ہے، وہاں اُنہیں منفرد دکھانے کے لیے غیر معمولی پیرامیٹر بنانے کے بجائے اُس دستاویزی ترتیب کی پیروی کریں۔ نامزد گروپ ایسی چیز ہے جسے ساتھی پہچان سکے اور جائزہ لینے والا تلاش کر سکے، جو ایسی حسب ضرورت فائل سے زیادہ قیمتی ہے جسے کوئی درجہ بند نہ کر سکے۔
تصدیق کریں کہ VPN فائل لوڈ کرتا ہے
درست پیرامیٹر فائل جسے کوئی عمل نہیں پڑھتا، کچھ نہیں بدلتی۔ OpenVPN میں سرور ہدایت راستے کے ساتھ dh ہے، اور ECDH یا TLS 1.3 چابی کی تبدیلی پر انحصار کرنے والی تعیناتیاں اس کے بجائے dh none مقرر کر سکتی ہیں۔ ٹیمپلیٹ نہیں، چلتی ہوئی کنفیگریشن جانچیں، پھر تصدیق کریں کہ کلائنٹ اور ساتھی ایک ہی ساخت پر متفق ہوتے ہیں۔
اُن شہادتوں کے ساتھ دائرہ بند کریں جو واقعی آپ کو درکار ہیں: وہ گروپ جس پر سرنگ نے بات چیت کی، فائل میں پیرامیٹر کی لمبائی، اور وہ پالیسی سطر جسے یہ لمبائی پورا کرتی ہے۔ پاس شدہ جانچ اُس فہرست میں ایک مد ہے۔ اسے پورا جواب سمجھنا ہی وہ طریقہ ہے جس سے چھوٹا گروپ اُس آڈٹ سے بچ جاتا ہے جو اُسے پکڑنے والا تھا۔