إصدار OpenSSH 8.7

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

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

  • تمت إضافة وضع نقل بيانات تجريبي إلى scp باستخدام بروتوكول SFTP بدلاً من بروتوكول SCP/RCP التقليدي. يستخدم SFTP أساليب أكثر قابلية للتنبؤ لمعالجة الأسماء ولا يستخدم معالجة الصدفة لأنماط الكرة الأرضية من جانب المضيف الآخر، مما يؤدي إلى حدوث مشكلات أمنية. لتمكين SFTP في scp، تم اقتراح العلامة "-s"، ولكن من المخطط في المستقبل التبديل إلى هذا البروتوكول افتراضيًا.
  • ينفذ خادم sftp امتدادات لبروتوكول SFTP لتوسيع مسارات ~/ و~user/، وهو أمر ضروري لـ scp.
  • قامت الأداة المساعدة scp بتغيير السلوك عند نسخ الملفات بين مضيفين بعيدين (على سبيل المثال، "scp host-a:/path host-b:")، والذي يتم الآن افتراضيًا من خلال مضيف محلي متوسط، كما هو الحال عند تحديد " -3" العلم. يسمح لك هذا الأسلوب بتجنب تمرير بيانات الاعتماد غير الضرورية إلى المضيف الأول والتفسير الثلاثي لأسماء الملفات في الصدفة (من جانب المصدر والوجهة والنظام المحلي)، وعند استخدام SFTP، فإنه يسمح لك باستخدام جميع طرق المصادقة عند الوصول عن بعد المضيفين، وليس فقط الأساليب غير التفاعلية. تمت إضافة الخيار "-R" لاستعادة السلوك القديم.
  • تمت إضافة إعداد ForkAfterAuthentication إلى ssh المطابق للعلامة "-f".
  • تمت إضافة إعداد StdinNull إلى ssh، المطابق للعلامة "-n".
  • تمت إضافة إعداد SessionType إلى ssh، والذي من خلاله يمكنك ضبط الأوضاع المقابلة لعلامتي "-N" (بدون جلسة) و"-s" (نظام فرعي).
  • يسمح لك ssh-keygen بتحديد فترة صلاحية المفتاح في الملفات الرئيسية.
  • تمت إضافة علامة "-Oprint-pubkey" إلى ssh-keygen لطباعة المفتاح العام الكامل كجزء من توقيع sshsig.
  • في ssh وsshd، تم نقل كل من العميل والخادم لاستخدام محلل ملفات تكوين أكثر تقييدًا يستخدم قواعد تشبه الصدفة للتعامل مع علامات الاقتباس والمسافات وأحرف الهروب. لا يتجاهل المحلل اللغوي الجديد أيضًا الافتراضات التي تم وضعها مسبقًا، مثل حذف الوسائط في الخيارات (على سبيل المثال، لم يعد من الممكن ترك توجيه DenyUsers فارغًا)، وعلامات الاقتباس غير المغلقة، وتحديد أحرف = متعددة.
  • عند استخدام سجلات DNS لـ SSHFP عند التحقق من المفاتيح، يتحقق ssh الآن من جميع السجلات المطابقة، وليس فقط تلك التي تحتوي على نوع معين من التوقيع الرقمي.
  • في ssh-keygen، عند إنشاء مفتاح FIDO باستخدام خيار -Ochallenge، يتم الآن استخدام الطبقة المضمنة للتجزئة، بدلاً من libfido2، الذي يسمح باستخدام تسلسلات التحدي أكبر أو أصغر من 32 بايت.
  • في sshd، عند معالجة توجيهات البيئة = "..." في ملفات Author_keys، يتم الآن قبول المطابقة الأولى ويوجد حد يبلغ 1024 اسمًا لمتغيرات البيئة.

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

لاختبار استخدام ssh-rsa على أنظمتك، يمكنك تجربة الاتصال عبر ssh باستخدام خيار "-oHostKeyAlgorithms=-ssh-rsa". وفي الوقت نفسه، لا يعني تعطيل التوقيعات الرقمية "ssh-rsa" افتراضيًا التخلي الكامل عن استخدام مفاتيح RSA، حيث يسمح بروتوكول SSH، بالإضافة إلى SHA-1، باستخدام خوارزميات حساب التجزئة الأخرى. على وجه الخصوص، بالإضافة إلى "ssh-rsa"، سيظل من الممكن استخدام حزم "rsa-sha2-256" (RSA/SHA256) و"rsa-sha2-512" (RSA/SHA512).

لتسهيل الانتقال إلى خوارزميات جديدة، قام OpenSSH مسبقًا بتمكين إعداد UpdateHostKeys افتراضيًا، والذي يسمح للعملاء بالتبديل تلقائيًا إلى خوارزميات أكثر موثوقية. باستخدام هذا الإعداد، يتم تمكين ملحق بروتوكول خاص “[البريد الإلكتروني محمي]"، مما يسمح للخادم، بعد المصادقة، بإبلاغ العميل بجميع مفاتيح المضيف المتاحة. يمكن للعميل أن يعكس هذه المفاتيح في ملف ~/.ssh/known_hosts الخاص به، مما يسمح بتحديث مفاتيح المضيف ويجعل من السهل تغيير المفاتيح على الخادم.

يقتصر استخدام UpdateHostKeys على عدة تحذيرات قد تتم إزالتها في المستقبل: يجب الإشارة إلى المفتاح في UserKnownHostsFile وعدم استخدامه في GlobalKnownHostsFile؛ يجب أن يكون المفتاح موجوداً تحت اسم واحد فقط؛ لا ينبغي استخدام شهادة مفتاح المضيف؛ لا ينبغي استخدام الأقنعة فيknown_hosts حسب اسم المضيف؛ يجب تعطيل إعداد VerifyHostKeyDNS؛ يجب أن تكون المعلمة UserKnownHostsFile نشطة.

تتضمن الخوارزميات الموصى بها للترحيل 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

إضافة تعليق