إصدار OpenSSH 8.4

بعد أربعة أشهر من التطوير المقدمة إطلاق OpenSSH 8.4، وهو تطبيق مفتوح للعميل والخادم للعمل باستخدام بروتوكولي SSH 2.0 وSFTP.

التغييرات الرئيسية:

  • التغييرات الأمنية:
    • في وكيل ssh، عند استخدام مفاتيح FIDO التي لم يتم إنشاؤها لمصادقة SSH (معرف المفتاح لا يبدأ بالسلسلة "ssh:")، فإنه يتحقق الآن من أنه سيتم توقيع الرسالة باستخدام الطرق المستخدمة في بروتوكول SSH. لن يسمح التغيير بإعادة توجيه وكيل ssh إلى المضيفين البعيدين الذين لديهم مفاتيح FIDO لمنع القدرة على استخدام هذه المفاتيح لإنشاء التوقيعات لطلبات مصادقة الويب (يتم استبعاد الحالة العكسية، عندما يتمكن المتصفح من التوقيع على طلب SSH، في البداية بسبب استخدام البادئة "ssh:" في معرف المفتاح).
    • يتضمن إنشاء المفتاح المقيم في ssh-keygen دعمًا للوظيفة الإضافية credProtect الموضحة في مواصفات FIDO 2.1، والتي توفر حماية إضافية للمفاتيح عن طريق طلب رقم PIN قبل تنفيذ أي عملية قد تؤدي إلى استخراج المفتاح المقيم من الرمز المميز.
  • من المحتمل كسر تغييرات التوافق:
    • لدعم FIDO/U2F، يوصى باستخدام مكتبة libfido2 على الأقل الإصدار 1.5.0. تم تنفيذ القدرة على استخدام الإصدارات الأقدم جزئيًا، ولكن في هذه الحالة، لن تتوفر وظائف مثل المفاتيح المقيمة وطلب رقم التعريف الشخصي (PIN) وتوصيل الرموز المميزة المتعددة.
    • في ssh-keygen، تمت إضافة بيانات الموثق اللازمة للتحقق من تأكيد التوقيعات الرقمية إلى تنسيق معلومات التأكيد، ويتم حفظها اختياريًا عند إنشاء مفتاح FIDO.
    • تم تغيير واجهة برمجة التطبيقات (API) المستخدمة عندما يتفاعل OpenSSH مع الطبقة للوصول إلى رموز FIDO المميزة.
    • عند إنشاء نسخة محمولة من OpenSSH، أصبح التشغيل التلقائي مطلوبًا الآن لإنشاء البرنامج النصي للتكوين وملفات البناء المصاحبة (إذا كان البناء من ملف tar للتعليمات البرمجية المنشورة، فلن تكون إعادة إنشاء التكوين مطلوبة).
  • تمت إضافة دعم لمفاتيح FIDO التي تتطلب التحقق من رقم التعريف الشخصي في ssh وssh-keygen. لإنشاء مفاتيح باستخدام رمز PIN، تمت إضافة خيار "التحقق مطلوب" إلى ssh-keygen. إذا تم استخدام هذه المفاتيح، قبل إجراء عملية إنشاء التوقيع، يُطلب من المستخدم تأكيد إجراءاته عن طريق إدخال رمز PIN.
  • في sshd، يتم تنفيذ خيار "التحقق مطلوب" في إعداد "المفاتيح المعتمدة"، الأمر الذي يتطلب استخدام الإمكانات للتحقق من وجود المستخدم أثناء العمليات باستخدام الرمز المميز. يوفر معيار FIDO عدة خيارات لمثل هذا التحقق، لكن OpenSSH حاليًا يدعم فقط التحقق المستند إلى رقم التعريف الشخصي (PIN).
  • أضاف sshd وssh-keygen دعمًا للتحقق من التوقيعات الرقمية التي تتوافق مع معيار FIDO Webauthn، والذي يسمح باستخدام مفاتيح FIDO في متصفحات الويب.
  • في ssh في إعدادات ملف الشهادة،
    ControlPath وIdentityAgent وIdentityFile وLocalForward و
    يسمح RemoteForward باستبدال القيم من متغيرات البيئة المحددة بالتنسيق "${ENV}".

  • أضاف ssh وssh-agent دعمًا لمتغير البيئة $SSH_ASKPASS_REQUIRE، والذي يمكن استخدامه لتمكين أو تعطيل استدعاء ssh-askpass.
  • في ssh في ssh_config في التوجيه AddKeysToAgent، تمت إضافة القدرة على تحديد فترة صلاحية المفتاح. بعد انتهاء الحد المحدد، يتم حذف المفاتيح تلقائيًا من وكيل ssh.
  • في scp وsftp، باستخدام العلامة "-A"، يمكنك الآن السماح صراحة بإعادة التوجيه إلى scp وsftp باستخدام وكيل ssh (يتم تعطيل إعادة التوجيه بشكل افتراضي).
  • تمت إضافة دعم لاستبدال '%k' في إعدادات ssh، والذي يحدد اسم مفتاح المضيف. يمكن استخدام هذه الميزة لتوزيع المفاتيح في ملفات منفصلة (على سبيل المثال، "UserKnownHostsFile ~/.ssh/known_hosts.d/%k").
  • السماح باستخدام عملية "ssh-add -d -" لقراءة المفاتيح من stdin التي سيتم حذفها.
  • في sshd، تنعكس بداية ونهاية عملية تقليم الاتصال في السجل، ويتم تنظيمها باستخدام معلمة MaxStartups.

أشار مطورو OpenSSH أيضًا إلى وقف تشغيل الخوارزميات القادم باستخدام تجزئة SHA-1 بسبب ترقية فعالية هجمات الاصطدام ببادئة معينة (تقدر تكلفة اختيار الاصطدام بحوالي 45 ألف دولار). في أحد الإصدارات القادمة، يخططون لتعطيل القدرة على استخدام خوارزمية التوقيع الرقمي للمفتاح العام “ssh-rsa” افتراضيًا، والتي تم ذكرها في RFC الأصلي لبروتوكول SSH وما زالت منتشرة على نطاق واسع في الممارسة العملية (لاختبار الاستخدام من ssh-rsa في أنظمتك، يمكنك محاولة الاتصال عبر ssh باستخدام الخيار "-oHostKeyAlgorithms=-ssh-rsa").

لتسهيل الانتقال إلى خوارزميات جديدة في OpenSSH، سيعمل الإصدار التالي على تمكين إعداد UpdateHostKeys افتراضيًا، والذي سيقوم تلقائيًا بترحيل العملاء إلى خوارزميات أكثر موثوقية. تتضمن الخوارزميات الموصى بها للترحيل rsa-sha2-256/512 استنادًا إلى RFC8332 RSA SHA-2 (مدعوم منذ OpenSSH 7.2 ويتم استخدامه افتراضيًا)، وssh-ed25519 (مدعوم منذ OpenSSH 6.5)، وecdsa-sha2-nistp256/384/521 المستند إلى على RFC5656 ECDSA (مدعوم منذ OpenSSH 5.7).

المصدر: opennet.ru

إضافة تعليق