يأتي OpenSSH 10.3 مع تغييرات في الأمان والتوافق يجب على المسؤولين أن يكونوا على دراية بها.

  • يتضمن OpenSSH 10.3 خمسة إصلاحات أمنية تؤثر على العميل والخادم والأدوات المساعدة مثل scp و ssh-agent.
  • تمت إزالة دعم التطبيقات التي لا تستخدم إعادة التشفير، مما قد يؤدي إلى قطع الاتصالات مع برامج SSH القديمة أو غير القياسية.
  • تتغير قواعد الشهادات والخوارزميات، مما يؤدي إلى تصحيح الأخطاء في مطابقة المبادئ الرئيسية، واستخدام الأحرف البديلة، وقبول مفتاح ECDSA.
  • تحسينات تشغيلية في تعدد الإرسال، وعقوبات المصدر، وإدارة بيانات اعتماد GSSAPI، ودعم موسع لمفاتيح الوكيل والامتدادات.

OpenSSH 10.3

OpenSSH 10.3 متاح الان يُقدّم هذا التحديث مزيجًا من التحديثات الأمنية، وتعديلات السلوك، وإمكانيات جديدة تؤثر على كلٍّ من مديري الأنظمة والمطورين. ورغم أن العديد من الميزات الجديدة ذات طابع تقني، إلا أن بعضها قد يتسبب في انقطاع الاتصال مع العملاء أو الخوادم القديمة إذا لم تتم مراجعة الإعدادات بعناية.

بالنسبة لبيئات الشركات، حيث يُعدّ OpenSSH مكونًا أساسيًا على خوادم Linux وأنظمة BSD وأجهزة الشبكة، يُعدّ هذا التحديث ذا أهمية خاصة. يُصلح الإصدار 10.3 الثغرات الأمنية، ويُعدّل التحقق من الشهادات، ويُغيّر طريقة التعامل مع بعض خيارات التكوين، لذا يُنصح باختباره في بيئات ما قبل الإنتاج قبل نشره على نطاق واسع.

عدم التوافق مع التطبيقات التي لا تستخدم إعادة التشفير

من أبرز التغييرات في OpenSSH 10.3 إزالة الكود الخاص بـ "التوافق مع الأخطاء" مع التطبيقات التي لا تدعم إعادة التشفيرحتى الآن، حافظ المشروع على سلسلة من التعديلات الداخلية التي سمحت له بمواصلة الاتصال مع عملاء أو خوادم SSH القديمة أو غير القياسية التي تفتقر إلى هذه القدرة على إعادة التفاوض على المفاتيح أثناء الجلسة.

ابتداءً من هذا الإصدار، إذا كان لا يدعم عميل أو خادم SSH إعادة إنشاء المفاتيحسيفشل الاتصال بـ OpenSSH 10.3 عند محاولة إنشاء اتصال أو أثناء الجلسة. قد يؤثر هذا على البنى التحتية التي لا تزال تستخدم برامج قديمة، أو أجهزة مضمنة، أو حلولًا احتكارية تُطبّق بروتوكول SSH بشكل غير كامل.

ينبغي على مديري الأنظمة في المؤسسات جرد أجهزة وخدمات SSH للتأكد من دعم جميع المكونات لإعادة التشفير قبل الترقية. في عمليات النشر التي يتم فيها صيانة أجهزة قديمة أو برامج مخصصة، قد يكون من الضروري ترقية هذه المكونات أو عزلها في قطاعات لا يتم فيها استخدام OpenSSH 10.3.

إصلاح ثغرة حقن الأوامر عبر اسم المستخدم

على العميل SSH يُصلح ثغرة أمنية في التحقق من صحة البيانات سمح هذا، في ظل ظروف معينة، بتوسيع الأحرف الخاصة الموجودة في اسم المستخدم قبل إجراء الفحص الأمني. وتظهر المشكلة عند استخدام أسماء مستخدمين تتحكم بها جهات خارجية، أو عند استخدام إعدادات متقدمة تتضمن رموز استبدال.

وبالتحديد، أثرت الثغرة الأمنية على التكوينات التي تتضمن الرمز المميز %u داخل كتل تنفيذ المطابقة في ملف ssh_config. في هذه الحالة، يمكن للمهاجم الذي لديه القدرة على التأثير على اسم المستخدم الذي تم تمريره إلى أمر ssh تنفيذ أوامر عشوائية في الصدفة، مستغلاً توسيع الأحرف الخاصة.

يقوم الإصدار الجديد بتعديل ترتيب التحقق من صحة هذه المعلمات إلى منع التوسع الخطير من أسماء المستخدمين الخبيثة. ومع ذلك، يذكرنا المطورون بأن كشف وسائط سطر أوامر SSH للمدخلات غير الموثوقة لا يزال ممارسة تصميم سيئة، خاصة في البرامج النصية أو الأدوات الآلية المستخدمة في البيئات الكبيرة.

تغييرات في التعامل مع الشهادات والرئيسية

يُدخل OpenSSH 10.3 العديد من التعديلات الهامة على إدارة شهادات SSH و"أساسياتها" (الهويات المرتبطة بالشهادة)، مما يؤثر بشكل مباشر على كيفية التحقق من الوصول.

خلل في مطابقة الأحرف الرئيسية مع الفواصل

تم تصحيح خطأ في sshd عند مقارنة الخيار الرئيسي="" نشأت المشكلة من إدخالات ملف authorized_keys التي تتضمن قائمة الكيانات الرئيسية في الشهادة. حدث الخلل عندما احتوى أحد أسماء الكيانات الرئيسية في الشهادة على فاصلة، مما قد يؤدي إلى تطابقات غير صحيحة في حالات محددة للغاية.

لكي تكون المشكلة قابلة للاستغلال، كان لا بد من استيفاء عدة شروط: أن يكون مدخل تتضمن authorized_keys أكثر من مفتاح رئيسي واحدتسبب الخلل في قيام جهة إصدار الشهادات بإصدار شهادة تتضمن عدة أسماء مفصولة بفواصل، واستخدام مفاتيح CA الموثوقة من قبل المستخدم. ولم يتأثر مسار مصادقة الشهادة الرئيسي القائم على TrustedUserCAKeys و AuthorizedPrincipalsFile.

الشهادات ذات قائمة المستخدم الرئيسية الفارغة

يُصحح تغيير آخر في السلوك تصميم تاريخي إشكالي في الشهاداتحتى الآن، عندما تم استخدام شهادة تحتوي على قسم رئيسيات فارغ مع authorized_keys principals="", فقد تم التعامل معها بحكم الواقع على أنها حرف بدل، مما يسمح بالمصادقة كأي مستخدم يثق في نفس جهة إصدار الشهادات.

وقد شكّل هذا خطرًا غير واضح: هيئة إصدار شهادات أصدرت عن طريق الخطأ شهادة بقائمة رئيسية فارغة كان ذلك يمنح عن غير قصد صلاحيات وصول واسعة للغاية. في OpenSSH 10.3، تغير هذا الوضع، وأصبحت الشهادة التي لا تحتوي على كيانات رئيسية تُعتبر الآن غير مطابقة لأي كيان رئيسي، مما يمنع هذا السلوك الخطير "للحصول على صلاحيات عامة".

علاوة على ذلك، فإن المشروع تم توحيد معالجة الأحرف البديلة في الشهادات الرئيسيةيُسمح باستخدام الأحرف البديلة في شهادات المضيف، ولكن ليس في شهادات المستخدم. يهدف هذا إلى سلوك أكثر قابلية للتنبؤ والتدقيق، وهو أمر ذو قيمة خاصة في عمليات التدقيق الأمني ​​للمؤسسات الأوروبية الخاضعة لأطر عمل مثل NIS2 أو ENS.

التطبيق الصارم لخوارزميات ECDSA

في قسم التشفير، يُصحح OpenSSH 10.3 مشكلة في تطبيق توجيهات PubkeyAcceptedAlgorithms و HostbasedAcceptedAlgorithms بالنسبة لمفاتيح ECDSA. حتى هذا الإصدار، إذا ظهر اسم خوارزمية ECDSA في أي من هذه القوائم، فإن الخادم سيقبل فعليًا خوارزميات ECDSA الأخرى حتى لو لم تكن مدرجة بشكل صريح.

مع التعديل الجديد، يحترم برنامج sshd بدقة قائمة الخوارزميات المسموح بها.يُسهم هذا في سد تلك الفجوة، ويُتيح تحكمًا أدق في أنواع خوارزمية ECDSA التي يُمكن استخدامها. وهذا مفيد للمسؤولين الذين يسعون إلى حصر مجموعة الخوارزميات في ملفات تعريف أكثر قوة، أو التوافق مع توصيات الأمن القومي.

تصحيح في برنامج scp عند التنزيل بصلاحيات المستخدم الجذر

الأداة كما يتلقى برنامج SCP تعديلاً أمنياً عند استخدامه في الوضع القديم (توافق rcp) وتشغيله كمسؤول النظام. في الإصدارات السابقة، عند تنزيل الملفات دون استخدام الخيار -p، لم يقم البرنامج بإزالة بتات setuid و setgid من الملفات المستلمة.

هذا السلوك، الموروث من الإنعاش القلبي الرئوي الأصلي في بيركليقد يكون هذا الأمر خطيرًا في بعض عمليات نسخ الملفات، حيث يمكن تنفيذ ملف منقول بصلاحيات خاصة بصلاحيات موسعة على النظام الوجهة. يُعالج OpenSSH 10.3 هذا السلوك لتعزيز الأمان في الإدارة عن بُعد، وهي ممارسة شائعة على خوادم الإنتاج في مراكز البيانات.

تحسين التحقق من صحة ProxyJump والتحكم في تعدد الإرسال

فيما يتعلق بخيارات الاتصال المتقدمة، يقدم العميل تحسينات في ProxyJump (معامل -J أو -oProxyJump)الآن، يتم التحقق من صحة قيم المستخدم والمضيف التي يتم تمريرها عبر سطر الأوامر بشكل أكثر صرامة لمنع ثغرات حقن الأوامر المحتملة في التكوينات التي قد تتأثر فيها هذه الحقول بمدخلات غير موثوقة.

ومن المهم تسليط الضوء على هذا لا ينطبق التحقق إلا على ما يتم استلامه عبر سطر الأوامر ولا يؤثر ذلك على القيم المحددة في ملفات التكوين. ومع ذلك، فإنه يوفر طبقة حماية إضافية للبرامج النصية، والأتمتة، والأدوات التي تستخدم ProxyJump بشكل ديناميكي.

في مجال تعدد الإرسال للاتصالات، تم حل مشكلة باستخدام تأكيد الجلسة عند استخدام خاصية السؤال/السؤال التلقائي في ControlMaster في وضع الوكيل باستخدام "ssh -O proxy". سابقًا، لم يتم تقييم طلبات التأكيد بشكل صحيح في هذا النوع من الجلسات المتعددة.

بالإضافة إلى ذلك، تمت إضافة أوامر جديدة للحصول على معلومات تفصيلية حول الجلسات النشطةيعرض الأمر "ssh -O conninfo" ورمز الهروب "~I" معلومات الاتصال للجلسات الجارية، بينما يُبلغ الأمر "ssh -O channels" عن القنوات التي يُبقيها برنامج المُضاعِف مفتوحة. تُسهّل هذه الميزات عملية استكشاف الأخطاء وإصلاحها في عمليات النشر المعقدة، الشائعة جدًا في المؤسسات الكبيرة ومُقدّمي الخدمات في الاتحاد الأوروبي.

ما الجديد في ssh-agent و ssh-add وإدارة المفاتيح

يُمثل OpenSSH 10.3 خطوة أخرى في التوافق مع مسودة IETF draft-ietf-sshm-ssh-agent فيما يتعلق بوكيل SSH، تمت إضافة التوافق مع نقاط الترميز الجديدة التي خصصتها IANA لإعادة توجيه الوكيل، بحيث عندما يعلن الخادم عن دعمه لتلك الأسماء باستخدام رسالة EXT_INFO، فإن OpenSSH يعطي الأولوية لاستخدام المعرفات الموحدة.

ومع ذلك، فإن الدعم لـ الامتدادات التاريخية التي تنتهي بـ @openssh.comضمان التوافق مع البنى التحتية الحالية. يتضمن مكون ssh-agent أيضًا دعمًا لامتداد "الاستعلام" المحدد في نفس المسودة، مما يسمح بالاستعلام بشكل أكثر تنظيمًا عن إمكانيات الوكيل.

أما من جانبها، فإن شركة المرافق يُضيف الأمر ssh-add الخيار -Q للاستعلام عن امتدادات البروتوكول التي يدعمها الوكيل. تُعد هذه الوظيفة مفيدة بشكل خاص لفرق الأمن والعمليات التي تحتاج إلى التحقق من الميزات المتوفرة على الوكلاء المُنتشرين عبر أنظمة مختلفة.

في مجال المفاتيح، يتضمن برنامج ssh-keygen الآن إمكانية كتابة مفاتيح ED25519 بتنسيق PKCS8وهذا يسهل دمجها مع أدوات ومكتبات التشفير الأخرى المستخدمة في بيئات الأعمال والإدارة العامة.

عقوبات الأصل وتحسينات التشخيص في SSHD

يتضمن خادم SSH تحسينات تهدف إلى الحد من إساءة الاستخدام وتسهيل المراقبة. ومن بين هذه التحسينات إدخال... عقوبة المستخدم غير الصالح ضمن عقوبات المصدرويتم تطبيق ذلك عند تلقي محاولات تسجيل دخول بأسماء مستخدمين غير موجودة في النظام.

بشكل افتراضي، تتكون هذه العقوبة الجديدة من انتظر خمس ثوانٍيتوافق هذا مع العقوبة الحالية لفشل المصادقة، ولكن يمكن للمسؤولين ضبط مدد أطول في حال رصد هجمات تخمين كلمات المرور أو عمليات مسح واسعة النطاق للمستخدمين. علاوة على ذلك، أصبحت دقة حساب العقوبات الآن بنظام الفاصلة العائمة، مما يسمح بفرض عقوبات تقل عن ثانية واحدة في حالات الأحداث المتكررة.

في الوقت نفسه، توفر إمكانيات تعدد الإرسال الجديدة الموضحة أعلاه ("ssh -O conninfo" و"ssh -O channels" ورمز الهروب "~I") رؤية أوضح للاتصالات النشطةيمكن أن يكون هذا مفيدًا جدًا عند تشخيص مشاكل زمن الاستجابة أو الحظر أو الاستخدام غير الطبيعي لأنفاق وقنوات SSH.

المزيد من التغييرات في مجال الأمان والتوافق

يُضيف OpenSSH 10.3 ما يلي: خيار الخادم sshd GSSAPIDelegateCredentialsيتحكم هذا الإعداد فيما إذا كان الخادم يقبل بيانات الاعتماد المفوضة المقدمة من العميل. يعكس هذا الخيار سياسة العميل الحالية، ويسمح بتكييف السلوك مع السياسات الداخلية لكل مؤسسة فيما يتعلق ببروتوكول Kerberos وما شابهه من تفويض بيانات الاعتماد.

نطاق توجيهات RevokedHostKeys في ssh_config و RevokedKeys في sshd_configوالتي يمكنها الآن الإشارة إلى ملفات متعددة. وهذا يُسهّل إدارة قوائم المفاتيح الملغاة المصنفة حسب المشاريع أو الأقسام أو مستويات الثقة، وهو أمر مفيد في البنى التحتية الكبيرة التي تضم فرقًا وموردين متعددين.

كما يُصحح هذا الإصدار عددًا من المشاكل العملية: خطأ في تم تقديم إدخال رمز PIN لمفاتيح PKCS#11 في الإصدارين 10.1 و10.2تم تحسين معالجة توقيع شهادة FIDO/WebAuthn، وتم إصلاح عطل sshd المتعلق بتوجيهات النظام الفرعي المفقودة داخل كتل Match، وتمت معالجة مشكلة ارتباك اسم المستخدم في وحدة PAM في الفرع المحمول.

مع هذا الإصدار، يدمج OpenSSH 10.3 حزمة شاملة من التغييرات التي تعزز السلامةيُحسّن هذا التحديث السلوكيات القديمة ويُوسّع إمكانيات الإدارة دون المساس بالتوافق مع معظم عمليات النشر الحديثة. يُنصح المؤسسات التي تعتمد على SSH للإدارة عن بُعد، والأتمتة، والربط الآمن، بالتخطيط للتحديث، وذلك بمراجعة بيئات الاختبار الخاصة بها أولاً بحثًا عن أي مشكلات محتملة في التطبيقات القديمة، أو الخيارات غير المألوفة، أو التكوينات المُخصصة للغاية.

NetworkManager 1.56
المادة ذات الصلة:
يأتي برنامج NetworkManager 1.56 بتحسينات رئيسية في إدارة الشبكة والأمان