SSH "Secure Shell" هو بروتوكول شبكة لإنشاء اتصال آمن بين المضيفين ، وهو المعيار على المنفذ 22 (من الأفضل تغييره). تتوفر عملاء SSH وخوادم SSH لمعظم أنظمة التشغيل. يعمل أي بروتوكول شبكة آخر تقريبًا داخل SSH ، أي أنه يمكنك العمل عن بُعد على كمبيوتر آخر أو نقل دفق صوت أو فيديو عبر قناة مشفرة ، إلخ. بالإضافة إلى ذلك ، من
خلال بروكسيات SOCKS على مضيف بعيد ، يمكنك الاتصال بمضيفين آخرين نيابة عن هذا المضيف البعيد.
تتم المصادقة باستخدام كلمة مرور ، ولكن يستخدم المطورين ومسؤولو النظام بشكل تقليدي مفاتيح SSH. المشكلة هي أنه يمكن سرقة المفتاح السري. إن إضافة عبارة مرور من الناحية النظرية يحمي من سرقة المفتاح السري ، ولكن في الممارسة العملية ، عند إعادة توجيه المفاتيح وتخزينها مؤقتًا ،
لا يزال من الممكن استخدامها دون تأكيد . مصادقة ثنائية يحل هذه المشكلة.
كيفية تنفيذ مصادقة ثنائية
نشر مطورو قرص العسل مؤخرًا
إرشادات مفصلة حول كيفية تنفيذ البنية التحتية المناسبة على العميل والخادم.
يفترض التعليم أن لديك مضيفًا أساسيًا معينًا مفتوحًا على الإنترنت (معقل). تريد الاتصال بهذا المضيف من أجهزة الكمبيوتر المحمولة أو أجهزة الكمبيوتر عبر الإنترنت ، والوصول إلى جميع الأجهزة الأخرى التي تقف وراءه. يضمن 2FA عدم تمكن المهاجم من فعل نفس الشيء حتى لو تمكن من الوصول إلى جهاز الكمبيوتر المحمول ، على سبيل المثال ، عن طريق تثبيت البرامج الضارة.
الخيار الأول هو OTP
OTP - كلمات المرور الرقمية لمرة واحدة ، والتي سيتم استخدامها في هذه الحالة لمصادقة SSH مع المفتاح. يكتب المطورون أن هذا ليس خيارًا مثاليًا ، لأنه يمكن للمهاجم التقاط معقل مزيف ، واعتراض OTP الخاص بك واستخدامه. لكن هذا أفضل من لا شيء.
في هذه الحالة ، تتم كتابة الأسطر التالية إلى config Chef على جانب الخادم:
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
أو
apt install oathtool openssl
، ثم يتم إنشاء سلسلة base16 عشوائية (مفتاح). يتم تحويله إلى تنسيق Base32 ، والذي يستخدمه مصدقو الأجهزة المحمولة ، ويتم استيراده مباشرةً إلى التطبيق.
نتيجةً لذلك ، يمكنك الاتصال بالحصن والتأكد من أنه لا يتطلب الآن عبارة مرور فحسب ، بل يتطلب أيضًا رمز OTP للمصادقة:
➜ ssh -A bastion Enter passphrase for key '[snip]': One-time password (OATH) for '[user]': Welcome to Ubuntu 18.04.1 LTS...
الخيار الثاني - مصادقة الأجهزة
في هذه الحالة ، لا يُطلب من المستخدم إدخال رمز OTP في كل مرة ، لأن العامل الثاني هو الجهاز أو القياسات الحيوية.
هنا ، يعد إعداد Chef أكثر تعقيدًا قليلاً ، ويعتمد تكوين العملاء على نظام التشغيل. ولكن بعد الانتهاء من جميع الخطوات ، يمكن للعملاء على نظام التشغيل MacOS تأكيد المصادقة في SSH باستخدام عبارة مرور وتطبيق إصبع على المستشعر (العامل الثاني).
يؤكد ملاك iOS و Android الدخول
عن طريق الضغط على زر واحد على الهاتف الذكي . هذه تقنية خاصة من Krypt.co ، وهي أكثر أمانًا من OTP.
على Linux / ChromeOS ، هناك خيار للعمل مع الرموز المميزة YubiKey USB. بالطبع ، يمكن للمهاجم سرقة رمزك ، لكنه لا يزال لا يعرف عبارة المرور.

