"Secure shell" SSH میزبانوں کے درمیان ایک محفوظ کنکشن قائم کرنے کے لیے ایک نیٹ ورک پروٹوکول ہے، معیاری طور پر پورٹ 22 پر (جسے تبدیل کرنا بہتر ہے)۔ SSH کلائنٹس اور SSH سرورز زیادہ تر آپریٹنگ سسٹمز کے لیے دستیاب ہیں۔ تقریباً کوئی دوسرا نیٹ ورک پروٹوکول SSH کے اندر کام کرتا ہے، یعنی آپ کسی دوسرے کمپیوٹر پر دور سے کام کر سکتے ہیں، کسی انکرپٹڈ چینل پر آڈیو یا ویڈیو سٹریم منتقل کر سکتے ہیں، وغیرہ۔ اس کے علاوہ،
توثیق پاس ورڈ کا استعمال کرتے ہوئے ہوتی ہے، لیکن ڈویلپرز اور سسٹم ایڈمنسٹریٹر روایتی طور پر SSH کیز استعمال کرتے ہیں۔ مسئلہ یہ ہے کہ نجی کلید چوری کی جا سکتی ہے۔ ایک پاس فریز شامل کرنا نظریاتی طور پر نجی کلید کی چوری سے تحفظ فراہم کرتا ہے، لیکن عملی طور پر، کلیدوں کو فارورڈ اور کیش کرتے وقت، وہ
دو عنصر کی توثیق کو کیسے نافذ کیا جائے۔
ہنی کامب کے ڈویلپرز نے حال ہی میں شائع کیا۔
ہدایات یہ فرض کرتی ہیں کہ آپ کے پاس انٹرنیٹ (گڑھ) کے لیے ایک مخصوص بنیادی میزبان کھلا ہے۔ آپ انٹرنیٹ کے ذریعے لیپ ٹاپ یا کمپیوٹرز سے اس میزبان سے جڑنا چاہتے ہیں، اور اس کے پیچھے موجود دیگر تمام آلات تک رسائی حاصل کرنا چاہتے ہیں۔ 2FA اس بات کو یقینی بناتا ہے کہ حملہ آور ایسا نہیں کر سکتا چاہے وہ آپ کے لیپ ٹاپ تک رسائی حاصل کر لے، مثال کے طور پر میلویئر انسٹال کر کے۔
پہلا آپشن OTP ہے۔
OTP - ایک وقتی ڈیجیٹل پاس ورڈ، جو اس صورت میں کلید کے ساتھ SSH تصدیق کے لیے استعمال کیے جائیں گے۔ ڈویلپرز لکھتے ہیں کہ یہ ایک مثالی آپشن نہیں ہے، کیونکہ حملہ آور جعلی گڑھ بنا سکتا ہے، آپ کے OTP کو روک سکتا ہے اور اسے استعمال کر سکتا ہے۔ لیکن یہ کچھ نہ ہونے سے بہتر ہے۔
اس صورت میں، سرور سائیڈ پر، شیف کنفیگریشن میں درج ذیل سطریں لکھی گئی ہیں:
metadata.rb
attributes/default.rb
(کےattributes.rb
)files/sshd
recipes/default.rb
(کاپی سےrecipe.rb
)templates/default/users.oath.erb
کوئی بھی OTP ایپلیکیشن کلائنٹ کی طرف انسٹال ہے: Google Authenticator، Authy، Duo، Lastpass، انسٹال brew install oath-toolkit
یا apt install oathtool openssl
، پھر ایک بے ترتیب بیس 16 سٹرنگ (کی) تیار ہوتی ہے۔ اسے بیس 32 فارمیٹ میں تبدیل کیا جاتا ہے جسے موبائل مستند استعمال کرتے ہیں اور براہ راست ایپلی کیشن میں درآمد کیا جاتا ہے۔
نتیجے کے طور پر، آپ Bastion سے جڑ سکتے ہیں اور دیکھ سکتے ہیں کہ اب اس کے لیے نہ صرف پاسفریز کی ضرورت ہے، بلکہ تصدیق کے لیے ایک OTP کوڈ کی بھی ضرورت ہے:
➜ ssh -A bastion
Enter passphrase for key '[snip]':
One-time password (OATH) for '[user]':
Welcome to Ubuntu 18.04.1 LTS...
دوسرا آپشن ہارڈ ویئر کی تصدیق ہے۔
اس صورت میں، صارف کو ہر بار OTP کوڈ درج کرنے کی ضرورت نہیں ہے، کیونکہ دوسرا عنصر ہارڈویئر ڈیوائس یا بائیو میٹرکس بن جاتا ہے۔
یہاں شیف کی ترتیب تھوڑی زیادہ پیچیدہ ہے، اور کلائنٹ کی ترتیب OS پر منحصر ہے۔ لیکن تمام مراحل کو مکمل کرنے کے بعد، MacOS پر کلائنٹ پاسفریز کا استعمال کرتے ہوئے اور سینسر (دوسرا عنصر) پر انگلی رکھ کر SSH میں تصدیق کی تصدیق کر سکتے ہیں۔
iOS اور Android کے مالکان لاگ ان کی تصدیق کرتے ہیں۔
Linux/ChromeOS پر YubiKey USB ٹوکنز کے ساتھ کام کرنے کا آپشن موجود ہے۔ یقیناً، ایک حملہ آور آپ کا ٹوکن چرا سکتا ہے، لیکن وہ پھر بھی پاسفریز نہیں جانتا ہے۔
ماخذ: www.habr.com