المحتويات

المقدمة

الخلفية

المشكلة

الحل

خيار مؤقت 1. أمر ضعيف SSH cipher-mode (يتوفر مع NXOS 7.0(3)I4(6) أو أحدث)

الخيار المؤقت 2. أستخدم base لتعديل ملف ssh_config وإعادة إضافة التشفير الضعيف بشكل صريح

المقدمة

يوضح هذا المستند كيفية أستكشاف أخطاء SSH وإصلاحها/حلها إلى Nexus 9000 بعد ترقية الرمز.

الخلفية

قبل شرح أسباب مشاكل SSH، من الضروري معرفة المزيد حول الثغرة في وضع "CBC ل 'SSH Server" التي تم تمكينها وخوارزميات MAC الضعيفة ل SSH التي تم تمكينها' والتي تؤثر على النظام الأساسي Nexus 9000.

معرف CVE - CVE- 2008-5161 (تمكين شفرات وضع SSH CBC وتمكين خوارزميات MAC الضعيفة SSH)

وصف المشكلة - SSH Server CBC Mode Ciphers Enabled Vulnerability (SSH Server CBC Mode Ciphers Enabled)

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

حل موصى به - تعطيل تشفير تشفير تشفير وضع CBC وتمكين وضع العداد (CTR) أو تشفير وضع العداد (GCM) في Galois/وضع العداد

المرجع - قاعدة البيانات الوطنية للضعف - تفاصيل CVE-2008-5161

المشكلة

بعد ترقية الرمز إلى 7.0(3)I2(1)، يتعذر عليك إدخال SSH في Nexus 9000 واستلام هذا الخطأ:

no matching cipher found: client aes128-cbc,3des-cbc,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se server

aes128-ctr,aes192-ctr,aes256-ctr

الحل

السبب أنت يعجز أن SSH داخل ال Nexus 9000 بعد أن أنت تقوم بالترقية إلى رمز 7.0(3)I2(1) وفيما بعد ضعيف شفرة معأق عن طريق ال cisco بق id CSCuv39937 إصلاح.

الحل طويل المدى لهذه المشكلة هو إستخدام عميل SSH المحدث/الأحدث الذي يحتوي على شفرة ضعيفة قديمة معطلة.

يكمن الحل المؤقت في إضافة شفرات ضعيفة إلى Nexus 9000. هناك خياران محتملان للحل المؤقت، والذي يعتمد على إصدار الرمز.

خيار مؤقت 1. أمر ضعيف SSH cipher-mode (يتوفر مع NXOS 7.0(3)I4(6) أو أحدث)

- تم تقديمه بواسطة معرف تصحيح الأخطاء من Cisco CSCvc71792 - قم بتنفيذ مقبض للسماح للشفرات الضعيفة aes128-cbc، aes192-cbc، aes256-cbc.

- إضافة دعم لهذه الشفرة الضعيفة - AES128-cbc، AES192-cbc، و AES256-cbc.

- لا يوجد حتى الآن دعم لشفرة 3des-cbc.

! baseline: only strong Ciphers aes128-ctr,aes192-ctr,aes256-ctr allowed

9k# conf t

Enter configuration commands, one per line. End with CNTL/Z.

9k(config)# feature bash

9k(config)# run bash sudo grep -i cipher /isan/etc/dcos_sshd_config

#secure ciphers and MACs

#CSCun41202  : Disable weaker Ciphers and MACs

Ciphers aes128-ctr,aes192-ctr,aes256-ctr    <<-----  only strong ciphers

! enable the weak aes-cbc ciphers with NXOS command

! Note that weak cipher 3des-cbc is still disabled.

9k# conf t

Enter configuration commands, one per line. End with CNTL/Z.

9k(config)# ssh cipher-mode weak

9k(config)# end

!! verification:

9k# run bash sudo grep -i cipher /isan/etc/dcos_sshd_config

#secure ciphers and MACs

#CSCun41202  : Disable weaker Ciphers and MACs

Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-cbc,aes192-cbc,aes256-cbc  <<---

! rollback: use the 'no' form of the command

9k# conf t

Enter configuration commands, one per line. End with CNTL/Z.

9k(config)# no ssh cipher-mode weak

9k(config)# end

الخيار المؤقت 2. أستخدم base لتعديل ملف ssh_config وإعادة إضافة التشفير الضعيف بشكل صريح

إذا قمت بالتعليق خارج سطر التشفير من ملف /isan/etc/sshd_config، فإن جميع التشفير الافتراضي مدعوم (وهذا يتضمن aes128-cbc، 3des-cbc، aes192-cbc، و aes256-cbc).

n9k#Config t

n9k(config)#feature bash-shell

n9k(config)#Run bash

bash-4.2$ sudo su -

root@N9K-1#cd /isan/etc

root@N9K-1#cat dcos_sshd_config | egrep Cipher

#CSCun41202  : Disable weaker Ciphers and MACs

Ciphers aes128-ctr,aes192-ctr,aes256-ctr <<<< only allowed ciphers (eliminate known vulnerability).

!! Create a back up of the existing SSHD_CONFIG

root@N9K-1#mv dcos_sshd_config dcos_sshd_config.backup

!! comment out the cipher line and save to config (effectively removing the restriction)

cat dcos_sshd_config.backup | sed 's@^Cipher@# Cipher@g' > dcos_sshd_config

!! Verify

root@N9K-1#cat dcos_sshd_config | egrep Cipher

#CSCun41202  : Disable weaker Ciphers and MACs

# Ciphers aes128-ctr,aes192-ctr,aes256-ctr << see inserted comment # before Cipher (to remove the limitation)

root@N9K-1#exit

logout

bash-4.2$ exit

exit

N9K-1(config)# no feature bash

N9K-1(config)# exit

لاحظ أنه عند إضافة شفرة قديمة مرة أخرى، تعود إلى إستخدام شفرة ضعيفة، وبالتالي فإنها تعد مخاطرة أمنية.