الأمن السيبراني

OpenSSH 10 وتبادل المفاتيح المقاوم للحوسبة الكمّية: ما الذي تغيّر وكيف تفحص خوادم لينكس

جعل OpenSSH 10 تبادل المفاتيح الهجين ML-KEM افتراضياً وأزال DSA. تعرّف على إصدارات Debian وUbuntu التي تتضمنه وكيف تفحص خادمك.

تاريخ النشر
مدة القراءة
6 دقائق
الكاتب
SKYLINE Engineering

صدر OpenSSH 10.0 في 9 أبريل 2025، وجعل تبادل المفاتيح الهجين المقاوم للحوسبة الكمّية هو الخيار الافتراضي، وأزال دعم مفاتيح DSA نهائياً. ومنذ ذلك الحين أضافت سلسلة 10.x تحذيراً في جهة العميل عند استخدام اتصال غير مقاوم للحوسبة الكمّية، ثم صدر الإصدار 10.6 في 6 أكتوبر 2026. يشرح هذا الدليل ما الذي تغيّر، وأي إصدار من OpenSSH يأتي مع كل إصدار من Debian وUbuntu، وكيف تتحقق مما تتفاوض عليه خوادمك وأجهزة العملاء فعلاً.

ما الذي تغيّر في OpenSSH 10

  • تبادل مفاتيح افتراضي جديد. بحسب ملاحظات إصدارات OpenSSH يستخدم الإصدار 10.0 الخوارزمية mlkem768x25519-sha256 افتراضياً. وهي تجمع بين ML-KEM التي اعتمدها المعهد الأمريكي NIST معياراً، وبين تبادل X25519 التقليدي، فلا تكون أضعف من curve25519-sha256، وتُعدّ آمنة من هجمات الحواسيب الكمّية.
  • إزالة DSA. أزال الإصدار 10.0 خوارزمية التوقيع DSA التي كانت معطلة افتراضياً منذ 2015.
  • إعدادات خادم أخف. لم يعد sshd يعرض تبادل Diffie-Hellman ذا الحقول المنتهية (diffie-hellman-group*) افتراضياً، مع بقاء دعمه في جهة العميل. كما نُقلت شيفرة المصادقة إلى برنامج منفصل اسمه sshd-auth، لذا قد تظهر بعض سطور السجل بهذا الاسم.
  • تحذير منذ الإصدار 10.1. منذ الإصدار 10.1 (6 أكتوبر 2025) يحذّر العميل ssh عندما لا يستخدم الاتصال تبادلاً مقاوماً للحوسبة الكمّية، ويتحكم في ذلك الخيار WarnWeakCrypto في ssh_config.

لماذا يهم تبادل المفاتيح الآن

توضح صفحة OpenSSH الخاصة بالتشفير ما بعد الكمّي السبب: سرية جلسة SSH بكاملها تعتمد على تبادل المفاتيح. ومن يسجّل الحركة المشفّرة اليوم قد يتمكن من فك تشفيرها لاحقاً إذا ظهر حاسوب كمّي قوي بما يكفي، وهو ما يُعرف بهجوم «خزّن الآن وفكّ التشفير لاحقاً». هذه الحواسيب غير موجودة بعد، لكن الحركة المرسلة اليوم تبقى معرّضة ما لم يُستخدم تبادل مقاوم. وقد وفّر OpenSSH هذا التبادل افتراضياً منذ الإصدار 9.0 (أبريل 2022) عبر sntrup761x25519-sha512، ثم أضاف ML-KEM في الإصدار 9.9. أما مفاتيح التوقيع مثل RSA وECDSA وEd25519 فمسألة منفصلة وأقل إلحاحاً، لأنه لا يوجد ما يعادل تسجيل الحركة لكسرها لاحقاً.

إصدار OpenSSH في توزيعتك

الإصدارات أدناه مأخوذة من متتبع حزم Debian ومن packages.ubuntu.com، والقوائم الافتراضية من صفحة الدليل sshd_config(5) لكل إصدار.

الإصدارOpenSSHالتبادل المقاوم للحوسبة الكمّية في القائمة الافتراضية
Debian 13 (trixie)10.0p1mlkem768x25519-sha256 أولاً ثم sntrup761x25519
Debian 12 (bookworm)9.2p1sntrup761x25519-sha512 أولاً، ولا يوجد ML-KEM
Ubuntu 26.04 LTS10.2p1mlkem768x25519-sha256 أولاً
Ubuntu 24.04 LTS9.6p1sntrup761x25519-sha512@openssh.com أولاً، ولا يوجد ML-KEM
Ubuntu 22.04 LTS8.9p1sntrup761x25519-sha512@openssh.com بعد طرق ECDH التقليدية

العميل هو من يحدد ترتيب الأفضلية، لذا فالمهم هو الطرفان معاً. فالعميل الحديث الذي يتصل بخادم Ubuntu 22.04 يحصل على تبادل مقاوم لأن الخادم يعرض sntrup761x25519، أما عميل Ubuntu 22.04 فيفضّل X25519 التقليدي افتراضياً كما تذكر ملاحظات الإصدار 8.9. وفي جانب توزيعات المؤسسات، تذكر ملاحظات إصدار AlmaLinux 9.8 أنه يتضمن OpenSSH 9.9p1. وقد تعدّل التوزيعات الإعدادات الافتراضية، لذا افحص النظام نفسه دائماً.

كيف تفحص الخادم والعميل

# installed versions (Debian/Ubuntu)
dpkg-query -W -f='${Package} ${Version}\n' openssh-server openssh-client

# key exchange methods this client supports
ssh -Q kex

# what the server will offer, after its configuration is applied
sudo sshd -T | grep -i '^kexalgorithms'

# what a real connection negotiated
ssh -v user@server.example.com exit 2>&1 | grep 'kex: algorithm'

يعرض الأمر ssh -Q kex خوارزميات تبادل المفاتيح المدعومة (ssh(1))، ويفحص sshd -T الإعدادات ويطبع القيم الفعلية (sshd(8)). إذا أظهر سطر التفاوض mlkem768x25519-sha256 أو sntrup761x25519-sha512 فالجلسة محمية من هجوم التخزين وفك التشفير لاحقاً.

اختياري: فرض تبادل مقاوم للحوسبة الكمّية على الخادم

يمكنك في Debian 13 أو Ubuntu 26.04 حصر الخادم في الطرق المقاومة للحوسبة الكمّية، لكن افعل ذلك فقط عندما تكون كل أجهزة العملاء والسكربتات والأدوات المتصلة حديثة بما يكفي؛ فالعملاء والمكتبات وأجهزة الشبكة القديمة ستفشل في الاتصال.

# in /etc/ssh/sshd_config (or a file under /etc/ssh/sshd_config.d/ if it is included)
KexAlgorithms mlkem768x25519-sha256,sntrup761x25519-sha512,sntrup761x25519-sha512@openssh.com

sudo sshd -t && sudo systemctl reload ssh

لا يعرف sshd في Debian 12 الخوارزمية mlkem768x25519-sha256، فلا تنسخ هذا السطر إلى خوادم bookworm. وأبقِ جلسة ثانية مفتوحة أثناء الاختبار.

مفاتيح DSA والأجهزة القديمة

تنص ملاحظات إصدار trixie على أن مفاتيح DSA لم تعد مدعومة حتى مع خيارات التجاوز القديمة. فإذا كان هناك ما يزال يدخل بمفتاح DSA فاستبدله قبل الترقية:

# find DSA keys still in use
ls ~/.ssh/id_dsa* 2>/dev/null
grep -n '^ssh-dss' ~/.ssh/authorized_keys

# create and install an Ed25519 key instead
ssh-keygen -t ed25519
ssh-copy-id user@server.example.com

وللأجهزة القديمة التي لا تدعم إلا DSA توفر Debian الأمر ssh1 ضمن الحزمة openssh-client-ssh1. وإذا ظهر التحذير الجديد عند الاتصال بخادم قديم، فتقترح صفحة OpenSSH إسكاته لذلك الخادم وحده، مثلاً بكتابة Match host legacy.example.com ثم WarnWeakCrypto no-pq-kex في الملف ~/.ssh/config.

ما الذي ينبغي فعله

  • شغّل sshd -T على كل خادم وتأكد من وجود طريقة مقاومة للحوسبة الكمّية في القائمة المعروضة، ومن أن أي سطر KexAlgorithms مخصص لم يحذفها.
  • حدّث أجهزة المسؤولين وخوادم التكامل المستمر، فالعميل هو من يحدد ترتيب الأفضلية، والعملاء الأقدم من OpenSSH 9.0 لا يفضّلون التبادل المقاوم.
  • خطط للانتقال من Debian 12 إلى Debian 13، أو من Ubuntu 22.04/24.04 إلى إصدار يتضمن OpenSSH 10، للحصول على ML-KEM افتراضياً.
  • احذف ما تبقى من مفاتيح DSA من authorized_keys ومن مخازن المفاتيح الآن، قبل أن تُلغي الترقية دعمها.
  • أسكت تحذير الحوسبة الكمّية لكل خادم على حدة لا بشكل عام، وتعامل مع كل خادم من هذا النوع على أنه جهاز يحتاج إلى ترقية.

المصادر

SKYLINE Engineering

@skyline

The engineering team at SKYLINE Industrial Solutions. We publish field-tested guides drawn from real KSA and GCC deployments.

صفحة الكاتب
SKYLINE engineering services

Need this implemented for you?

Reading is free — building it right takes a team. SKYLINE engineers ship Cybersecurity for Aramco vendors, banks, hospitals and government agencies across Saudi Arabia. Talk to us before you start.

Aramco Approved Contractor ISO 9001 · ISO 27001 SAMA CSF aligned NCA ECC ready 247+ KSA clients

Comments

0 total · 0 threads
Be the first to leave a comment.