SSH کلید کاپی ہوئی یا ایجنٹ فارورڈ ہوا؟ دو مختلف خطرات
دستخط کوئی کلید فائل نہیں ہے، اور تفویض کردہ ایجنٹ کوئی افشا نہیں ہے۔ پروٹوکول کی حقیقت کو آخری نقطے کے اعتماد کے سوال سے الگ کریں، پھر جواب دیں۔
VPN کے ذریعے SSH کلید استعمال کرنے والا لاگ اِن اس بات کا مطلب نہیں کہ نجی کلید نیٹ ورک آپریٹر کے حوالے کر دی گئی ہے، اور یہ تسلی لوگوں کے سننے سے زیادہ تنگ ہے۔ عوامی کلید کی تصدیق ایک عوامی کلید اور ایک دستخط بھیجتی ہے جو کلائنٹ مقامی طور پر بناتا ہے۔ ایجنٹ فارورڈنگ مختلف نمائش کے ساتھ مختلف ترتیب ہے، اور یہ آپ کے قابو سے باہر مشین پر قابلِ استعمال تصدیق کی صلاحیت چھوڑ سکتی ہے۔ آپ کو جو جواب دینا ہے وہ اس پر منحصر ہے کہ ان دونوں میں سے واقعی کیا ہوا۔
عوامی کلید کی تصدیق کیا بھیجتی ہے
معیاری عوامی کلید طریقے میں کلائنٹ ایک عوامی کلید پیش کرتا ہے، سرور فیصلہ کرتا ہے کہ وہ اس کلید کو قبول کرتا ہے یا نہیں، اور کلائنٹ نجی کلید سے کسی چیلنج پر دستخط کرتا ہے، جو اس کی فائل یا اس کے ایجنٹ میں رہتی ہے۔ نیٹ ورک عبور کرنے والی چیز عوامی کلید اور اس سے بننے والا دستخط ہے۔ اس تبادلے میں کچھ بھی سرور، ٹنل یا راستے میں کسی سے نجی مواد رکھنے کا مطالبہ نہیں کرتا۔
تصدیق کی تفصیلات اس ثبوت کی وضاحت کرتی ہیں، اور نجی کلید درخواست میں کوئی فیلڈ نہیں ہے۔
یہ ایک پروٹوکول کے بارے میں بیان ہے، ہر شامل آخری نقطے کے لیے کردار کی سند نہیں۔ میزبان کی شناخت کی جانچ اب بھی برقرار رہنی چاہیے، کیونکہ جو سرور خود کو ثابت نہیں کر سکتا وہ ایسے مقصد کے لیے دستخط جمع کر رہا ہو سکتا ہے جو آپ کا ارادہ نہیں تھا۔ کرائے کی VM، وراثت میں ملی باسٹین اور نامعلوم ایکسٹینشن چلانے والا لیپ ٹاپ تین الگ اعتماد کے سوال ہیں۔ انہیں حقیقی طور پر حل شدہ خفیہ نگاری کے سوال سے الگ رکھیں۔
ایجنٹ فارورڈنگ کیا تفویض کرتی ہے
ایجنٹ فارورڈنگ دور دراز میزبان سے آپ کی مشین کے ایجنٹ کی طرف واپس ایک چینل کھولتی ہے، تاکہ اس میزبان کی پروسیسز نجی کلید کبھی رکھے بغیر ایجنٹ سے دستخط کرنے کو کہہ سکیں۔ کلید جہاں ہے وہیں رہتی ہے، اور صلاحیت نہیں رہتی۔ دور دراز میزبان پر اس فارورڈ شدہ ساکٹ تک پہنچ سکنے والی کوئی بھی چیز، سیشن کی مدت میں، لوڈ شدہ شناختوں میں سے ایک کے طور پر تصدیق کے عمل کی درخواست کر سکتی ہے۔ یہ تفویض کردہ اختیار ہے، اسی لیے فارورڈنگ عوامی کلید سونپنے سے زیادہ تنگ پالیسی کی حقدار ہے۔
کاپی شدہ کلید فائل ایک افشا ہے۔ فارورڈ شدہ ایجنٹ ایک اجازت ہے، اور دونوں کو مختلف جواب چاہیے۔
نامزد ضرورت اور نامزد میزبانوں کے لیے فارورڈنگ فعال کریں، اور جانچیں کہ کلائنٹ واقعی کیا کرتا ہے، نہ کہ کنفیگریشن کیا کہتی دکھتی ہے۔ مؤثر ترتیبات ہی اہم ہیں، کیونکہ میزبان بلاک عالمی ڈیفالٹ کو خاموشی سے اوور رائیڈ کرتا ہے۔ یہی منطق سرور کی طرف بھی لاگو ہوتی ہے، جو تعیناتی کو کبھی ضرورت نہ ہونے پر فارورڈنگ مکمل طور پر مسترد کر سکتا ہے۔
جواب چننے سے پہلے شواہد پڑھیں
اگر یہ سمجھا جائے کہ نجی کلید فائل یا مساوی دستخط شناخت افشا ہوئی ہے، تو جواب آپ کی تنظیم کے عمل کے ذریعے متبادل اور منسوخی ہے، نیز اس کی قبولیت ہر اس سروس سے ہٹانا جس نے اس پر بھروسا کیا۔ ایک مقامی نقل مٹانا ان نقلوں کو باطل نہیں کرتا جنہیں آپ نہیں دیکھ سکتے۔
اگر تشویش عارضی ایجنٹ رسائی کی ہے، تو جواب زیادہ تنگ ہے: غیر ضروری تفویض روکیں، شامل سیشنز اور شناختوں کا جائزہ لیں، اور واقعے کے مالک کو فیصلہ کرنے دیں کہ متبادل مناسب ہے یا نہیں۔ یہاں ثبوت اہم ہیں، کیونکہ کوئی مشاہدہ شدہ برآمد نہ ہونا یہ ثابت نہیں کرتا کہ کسی تصدیق کا غلط استعمال نہیں ہوا، اور صرف راستے کی تبدیلی چوری شدہ کلید کی تشخیص نہیں ہے۔ لکھیں کہ کس جزو پر بھروسا تھا، فارورڈنگ فعال تھی یا نہیں، اور واقعی کیا مشاہدہ کیا گیا۔ پھر اس ریکارڈ سے مطابقت رکھنے والا جواب چنیں، دستیاب سب سے ڈرامائی نہیں۔
ssh-add -l
ssh -G host.example | grep -i forwardagent
تبدیلی سے پہلے اور بعد میں انہیں چلائیں تاکہ موازنے کا کوئی مطلب ہو۔ پہلے قائم شدہ سیشن اپنے دیے گئے تفویض کو برقرار رکھتا ہے، اب ترتیبات کچھ بھی کہیں۔
دو کنٹرول جو قابلِ تبادلہ نہیں
نجی مواد کی حفاظت، یہ محدود کرنا کہ کون اس کے دستخط مانگ سکتا ہے، اور دوسرے فریق کی شناخت کی تصدیق تین متعلقہ کنٹرول ہیں، اور کوئی کسی کا متبادل نہیں۔ جو ٹیم میزبان کلیدیں جانچے بغیر فارورڈنگ ہٹاتی ہے اس نے آدھا مسئلہ ٹھیک کیا ہے۔ جو ٹیم راستہ بدلنے پر کلید گھماتی ہے اس نے کچھ بھی ٹھیک نہیں کیا۔
متاثرہ آخری نقطہ چوتھا سوال ہے، کیونکہ آپ کی اپنی مشین پر مراعات یافتہ سافٹ ویئر پیکٹوں کے مشاہدے سے کہیں زیادہ کر سکتا ہے۔
کچھ بھی چھونے سے پہلے واقعے کو ان زمروں میں تقسیم کریں، اور ہر ایک کو ایک مالک دیں۔ کس پر بھروسا تھا، کیا تفویض ہوا اور کیا تصدیق ہوا اس کا مختصر ریکارڈ رکھیں، کیونکہ وہی ریکارڈ اگلے جائزے کو ایک اور بحث کے بجائے سستا بناتا ہے۔ اگر کوئی زمرہ نامعلوم ہے، تو بے ضرر صورت فرض کرنے کے بجائے نامعلوم لکھیں۔ فرق عملی ہے، تعلیمی نہیں: یہ طے کرتا ہے کہ آپ کوئی اسناد بدلتے ہیں، سیشن منسوخ کرتے ہیں، یا صرف فارورڈنگ بند کرتے ہیں۔